diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-18 07:25:10 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-18 07:25:10 +0000 |
commit | 03e3f8d7a7e64706992530cb56d1f2ebdb4d55ff (patch) | |
tree | a9885ba8f4d4f9c65e44c0d8f6f2ae173215ec91 | |
parent | 2cf9d29be5e3e13e0f57973d32f5c9b3f7bb4b8c (diff) |
automatic import of python-swagger-codegen
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-swagger-codegen.spec | 328 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 330 insertions, 0 deletions
@@ -0,0 +1 @@ +/swagger-codegen-0.1.31.tar.gz diff --git a/python-swagger-codegen.spec b/python-swagger-codegen.spec new file mode 100644 index 0000000..a3169ed --- /dev/null +++ b/python-swagger-codegen.spec @@ -0,0 +1,328 @@ +%global _empty_manifest_terminate_build 0 +Name: python-swagger-codegen +Version: 0.1.31 +Release: 1 +Summary: Generate API clients by parsing Swagger definitions +License: MIT +URL: https://github.com/asyncee/swagger_codegen +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/77/95/3019581fec32e932e701d1f965fb4ead814dbfffc7c086037c2b1e8f6e7d/swagger-codegen-0.1.31.tar.gz +BuildArch: noarch + +Requires: python3-pydantic +Requires: python3-multidict +Requires: python3-jinja2 +Requires: python3-click +Requires: python3-typer +Requires: python3-toml +Requires: python3-inflection +Requires: python3-schemathesis +Requires: python3-boltons +Requires: python3-rich +Requires: python3-httpx +Requires: python3-aiohttp +Requires: python3-requests + +%description +## Swagger codegen for Python + + +### Installation + +```bash +pip install swagger-codegen +``` + +### Swagger version + +Currently, only OpenApi 3.x (aka Swagger 3) is supported. + +### Usage example + +``` +# Generate Petstore Api client using 'petstore' package name. +swagger_codegen generate https://petstore3.swagger.io/api/v3/openapi.json petstore + +python + +Python 3.8.1 (default, Jan 23 2020, 13:58:52) +[Clang 11.0.0 (clang-1100.0.33.16)] on darwin +Type "help", "copyright", "credits" or "license" for more information. + +>>> from petstore import new_client, Configuration +>>> from swagger_codegen.api.adapter.requests import RequestsAdapter +>>> from petstore.apis.user.createUser import User +>>> client = new_client(RequestsAdapter(), Configuration(host="http://petstore3.swagger.io")) +>>> pets = client.pet.findPetsByStatus() +>>> print(pets) +[Pet(category=Category(id=1, name='Dogs'), id=69, name='aHldog', photoUrls=['string'], status='available',...] +``` + +You can see [example source code](https://github.com/asyncee/swagger_codegen/tree/master/example) +for [PetStore](http://petstore3.swagger.io/) Api in example directory of a project. + +You can test example client with following command: + +```bash +# Run from project directory. +python -m example.petstore_example +``` + +### Code generators (also known as renderers) + +There are two code generator strategies in project: + +1. Render client as usual python package via `PackageRenderer` +2. Render client as installable python package via `InstallablePackageRenderer` + +You can choose what renderer to use by specifying `renderer` key in `.swagger-codegen.toml` +file. Please see `.swagger-codegen.toml.example` for allowed values. + +### Known issues + +- Content of generated files differs run-to-run because each time functions or + data transfer objects ordered differently. Functionally clients stay the same, but + each time the code is generated there are a large diff generated by git. +- Not fully Openapi compliant: the project was built to fulfill my personal needs: + a support for FastAPI-generated schemas, and I needed this feature quickly, + that is why there are too many large dependencies (`schemathesis`) and incompatibilities. + Anyway, I'm looking forward to fixing this issues by time. +- There are may be delays in reaction to issues due to small amount of free time + (however PR's with tests are merged asap). + +### Work in progress + +Though library gives nice results for generated API, it is still in development. +Some tests are missing. API is a subject to change until stable release. + +Anyway backward compatibility will be kept as much as possible. + +The code is not optimized yet and mostly dirty because the project was born +as a holiday prototype. + +Also `example` directory may be out of sync with actual generated code. + +### Contributors + +You can see all people who helped this project [at the contributors page](https://github.com/asyncee/swagger_codegen/graphs/contributors) + + +%package -n python3-swagger-codegen +Summary: Generate API clients by parsing Swagger definitions +Provides: python-swagger-codegen +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-swagger-codegen +## Swagger codegen for Python + + +### Installation + +```bash +pip install swagger-codegen +``` + +### Swagger version + +Currently, only OpenApi 3.x (aka Swagger 3) is supported. + +### Usage example + +``` +# Generate Petstore Api client using 'petstore' package name. +swagger_codegen generate https://petstore3.swagger.io/api/v3/openapi.json petstore + +python + +Python 3.8.1 (default, Jan 23 2020, 13:58:52) +[Clang 11.0.0 (clang-1100.0.33.16)] on darwin +Type "help", "copyright", "credits" or "license" for more information. + +>>> from petstore import new_client, Configuration +>>> from swagger_codegen.api.adapter.requests import RequestsAdapter +>>> from petstore.apis.user.createUser import User +>>> client = new_client(RequestsAdapter(), Configuration(host="http://petstore3.swagger.io")) +>>> pets = client.pet.findPetsByStatus() +>>> print(pets) +[Pet(category=Category(id=1, name='Dogs'), id=69, name='aHldog', photoUrls=['string'], status='available',...] +``` + +You can see [example source code](https://github.com/asyncee/swagger_codegen/tree/master/example) +for [PetStore](http://petstore3.swagger.io/) Api in example directory of a project. + +You can test example client with following command: + +```bash +# Run from project directory. +python -m example.petstore_example +``` + +### Code generators (also known as renderers) + +There are two code generator strategies in project: + +1. Render client as usual python package via `PackageRenderer` +2. Render client as installable python package via `InstallablePackageRenderer` + +You can choose what renderer to use by specifying `renderer` key in `.swagger-codegen.toml` +file. Please see `.swagger-codegen.toml.example` for allowed values. + +### Known issues + +- Content of generated files differs run-to-run because each time functions or + data transfer objects ordered differently. Functionally clients stay the same, but + each time the code is generated there are a large diff generated by git. +- Not fully Openapi compliant: the project was built to fulfill my personal needs: + a support for FastAPI-generated schemas, and I needed this feature quickly, + that is why there are too many large dependencies (`schemathesis`) and incompatibilities. + Anyway, I'm looking forward to fixing this issues by time. +- There are may be delays in reaction to issues due to small amount of free time + (however PR's with tests are merged asap). + +### Work in progress + +Though library gives nice results for generated API, it is still in development. +Some tests are missing. API is a subject to change until stable release. + +Anyway backward compatibility will be kept as much as possible. + +The code is not optimized yet and mostly dirty because the project was born +as a holiday prototype. + +Also `example` directory may be out of sync with actual generated code. + +### Contributors + +You can see all people who helped this project [at the contributors page](https://github.com/asyncee/swagger_codegen/graphs/contributors) + + +%package help +Summary: Development documents and examples for swagger-codegen +Provides: python3-swagger-codegen-doc +%description help +## Swagger codegen for Python + + +### Installation + +```bash +pip install swagger-codegen +``` + +### Swagger version + +Currently, only OpenApi 3.x (aka Swagger 3) is supported. + +### Usage example + +``` +# Generate Petstore Api client using 'petstore' package name. +swagger_codegen generate https://petstore3.swagger.io/api/v3/openapi.json petstore + +python + +Python 3.8.1 (default, Jan 23 2020, 13:58:52) +[Clang 11.0.0 (clang-1100.0.33.16)] on darwin +Type "help", "copyright", "credits" or "license" for more information. + +>>> from petstore import new_client, Configuration +>>> from swagger_codegen.api.adapter.requests import RequestsAdapter +>>> from petstore.apis.user.createUser import User +>>> client = new_client(RequestsAdapter(), Configuration(host="http://petstore3.swagger.io")) +>>> pets = client.pet.findPetsByStatus() +>>> print(pets) +[Pet(category=Category(id=1, name='Dogs'), id=69, name='aHldog', photoUrls=['string'], status='available',...] +``` + +You can see [example source code](https://github.com/asyncee/swagger_codegen/tree/master/example) +for [PetStore](http://petstore3.swagger.io/) Api in example directory of a project. + +You can test example client with following command: + +```bash +# Run from project directory. +python -m example.petstore_example +``` + +### Code generators (also known as renderers) + +There are two code generator strategies in project: + +1. Render client as usual python package via `PackageRenderer` +2. Render client as installable python package via `InstallablePackageRenderer` + +You can choose what renderer to use by specifying `renderer` key in `.swagger-codegen.toml` +file. Please see `.swagger-codegen.toml.example` for allowed values. + +### Known issues + +- Content of generated files differs run-to-run because each time functions or + data transfer objects ordered differently. Functionally clients stay the same, but + each time the code is generated there are a large diff generated by git. +- Not fully Openapi compliant: the project was built to fulfill my personal needs: + a support for FastAPI-generated schemas, and I needed this feature quickly, + that is why there are too many large dependencies (`schemathesis`) and incompatibilities. + Anyway, I'm looking forward to fixing this issues by time. +- There are may be delays in reaction to issues due to small amount of free time + (however PR's with tests are merged asap). + +### Work in progress + +Though library gives nice results for generated API, it is still in development. +Some tests are missing. API is a subject to change until stable release. + +Anyway backward compatibility will be kept as much as possible. + +The code is not optimized yet and mostly dirty because the project was born +as a holiday prototype. + +Also `example` directory may be out of sync with actual generated code. + +### Contributors + +You can see all people who helped this project [at the contributors page](https://github.com/asyncee/swagger_codegen/graphs/contributors) + + +%prep +%autosetup -n swagger-codegen-0.1.31 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-swagger-codegen -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.31-1 +- Package Spec generated @@ -0,0 +1 @@ +af6e0b4d510143154800eb45cd5dfbf1 swagger-codegen-0.1.31.tar.gz |