Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Commit 7133ae8

Browse files
authored
Merge pull request #32 from openapi-json-schema-tools/improves_readme_intro
Readme update
2 parents 9f20713 + 85f1cc5 commit 7133ae8

File tree

1 file changed

+38
-2
lines changed

1 file changed

+38
-2
lines changed

README.md

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,47 @@
1717
</div>
1818

1919
## Overview
20-
OpenAPI JSON Schema Generator allows auto-generation of API client libraries (SDK generation) with a focus on JSON Schema given an [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification) (3.0.0-3.0.3 are supported). Currently, the following languages/frameworks are supported:
20+
OpenAPI JSON Schema Generator allows auto-generation of API client libraries (SDK generation) given an
21+
[OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification) (3.0.0-3.0.3 are supported).
22+
This project focuses on making the output 100% compliant with openapi + JSON schema specs.
23+
The goal is to fully support everything defined in openapi + the included JSON schema specs
24+
so developers can use all of those features.
25+
26+
Currently, the following languages/frameworks are supported:
2127

2228
- python
2329

24-
## Can I build here?
30+
## Reasons To Use the Python Generator
31+
32+
- [Autogenerated thorough testing of json schema keyword features in models and endpoints](https://github.com/openapi-json-schema-tools/openapi-json-schema-generator/tree/master/samples/openapi3/client/3_0_3_unit_test/python/test) which come from the [json schema test suite](https://github.com/json-schema-org/JSON-Schema-Test-Suite)
33+
- [Tests are passing in CI](https://app.circleci.com/pipelines/github/openapi-json-schema-tools/openapi-json-schema-generator?branch=master)
34+
- [Test endpoints are tagged by the relevant keyword like type/format/allOf 25+ keywords and counting](https://github.com/openapi-json-schema-tools/openapi-json-schema-generator/tree/master/samples/openapi3/client/3_0_3_unit_test/python/docs/apis/tags)
35+
- Run time type checking and validation checking when:
36+
- instantiating models
37+
- sending to endpoints
38+
- receiving from endpoints
39+
- Type hints for all model inputs
40+
- Type hints for accessing properties in object instances so some_val in some_val = some_inst['someKey'] will have the correct type hint
41+
- Type hints for accessing array items in array instances so some_val in some_val = array_inst[0] will have the correct type hint
42+
- Endpoints have input and response type hints
43+
- Openapi spec inline schemas supported at any depth
44+
- If needed, validation of some json schema keywords can be deactivated via a configuration class
45+
- Payload values are not coerced when validated, so a datetime value can pass other validations that describe the payload only as type string
46+
- String transmission of numbers supported with type: string, format: number, value can be accessed as a Decimal with inst.as_decimal_oapg
47+
- Format support for: int32, int64, float, double, binary, date, datetime
48+
- Multiple content types supported for request and response bodies
49+
- Endpoint response always also includes the urllib3.HTTPResponse
50+
- Endpoint response deserialization can be skipped with the skip_deserialization argument
51+
- Invalid (in python) property names supported like self, from etc
52+
53+
And many more!
54+
- [Docs for the python generator](https://github.com/openapi-json-schema-tools/openapi-json-schema-generator/blob/master/docs/generators/python.md)
55+
- [Openapi json schema v3.0.3 unit test spec](https://github.com/openapi-json-schema-tools/openapi-json-schema-generator/blob/master/modules/openapi-json-schema-generator/src/test/resources/3_0/unit_test_spec/3_0_3_unit_test_spec.yaml)
56+
- [genrated client sample code](https://github.com/openapi-json-schema-tools/openapi-json-schema-generator/tree/master/samples/openapi3/client/3_0_3_unit_test/python)
57+
- [Openapi v3.0.3 general petstore spec, general features](https://github.com/openapi-json-schema-tools/openapi-json-schema-generator/blob/master/modules/openapi-json-schema-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml)
58+
- [genrated client sample code](https://github.com/openapi-json-schema-tools/openapi-json-schema-generator/tree/master/samples/openapi3/client/petstore/python)
59+
60+
### Can I build here?
2561

2662
Yes! Contributions are welcome.
2763
If you want to build a new server or client or documentation generator you are welcome to here.

0 commit comments

Comments
 (0)