Skip to content

openapi-json-schema-tools/openapi-python-client-comparison

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

openapi-python-client-comparison

openapi python client comparison

A repo to compare openapi python clients

Implementations Included

Openapi Documents and Purposes

Document Purpose Provenance
petstore.yaml standard api openapi-generator repo

Generated Code Amount

via vscode code counter tool

petstore.yaml

Generator Files Code
openapi_generator_python_nextgen 28 2781
openapi_generator_python_prior 30 5075
openapi_json_schema_generator_python 365 8737

openapi_json_schema_generator_python breakdown

  • 3.9k src/openapi_client/paths
    • ~ 50% of this is in operation.py
  • 3.3k 7 files in src/openapi_client
    • api_client.py + schemas.py are big
  • most of this comes from the 3x operation typing overloads

Reasons for the openapi json scheme generator difference

  • has overload type hints on all endpoints, allows input content type selection
  • json paths used to create files so many files made

Generate

docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli:2.4.31 generate
-i /local/petstore.yaml
-l python
-o /local/swagger_codegen_python

docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli:v6.5.0 generate
-i /local/petstore.yaml
-g python-prior
-o /local/openapi_generator_python_prior

docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli generate
-i /local/petstore.yaml
-g python-nextgen
-o /local/openapi_generator_python_nextgen

docker run --rm -v "${PWD}:/local" openapijsonschematools/openapi-json-schema-generator-cli:3.0.0-latest generate
-i /local/petstore.yaml
-g python
-o /local/openapi_json_schema_generator_python /Users/justinblack/programming/openapi-python-client-comparison/petstore/openapi_generator_python_prior/

About

openapi python client comparison

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published