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

Commit 1a04ee3

Browse files
committed
Readme updated
1 parent 23189e1 commit 1a04ee3

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

README.md

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,41 +17,45 @@
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.
2125

22-
- python
23-
24-
### Mission Statement
26+
Currently, the following languages/frameworks are supported:
2527

26-
This repo is based on v6.2.0 of OpenAPI Generator.
27-
This project focuses on making the output 100% compliant with JSON schema as part of the
28-
OpenAPI 3.1 specification with a focus on complex cases (top-down approach). The goal is
29-
to fully support everything defined in JSON schema so that developers can leverage JSON
30-
schema as well as OpenAPI specification in their API design. Building here allows for
31-
more rapid progress supporting new features in OpenAPI 3.X without having to support
32-
many older generators which don't use the new features.
28+
- python
3329

34-
### Reasons To Use the Python Generator
30+
## Reasons To Use the Python Generator
3531

36-
- [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)
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)
3733
- [Tests are passing in CI](https://app.circleci.com/pipelines/github/openapi-json-schema-tools/openapi-json-schema-generator?branch=master)
3834
- [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)
39-
- Run time type checking and validation checking
40-
- If needed, validation of some json schema keywords can be deactivated via a configuration class
41-
- Openapi spec inline schemas supported of any depth
35+
- Run time type checking and validation checking when:
36+
- instantiating models
37+
- sending to endpoints
38+
- receiving from endpoints
4239
- Type hints for all model inputs
43-
- Payload values are not coerced when validated, so a datetime value can pass other validations that describe the payload only as type string
4440
- Type hints for accessing properties in object instances so some_val in some_val = some_inst['someKey'] will have the correct type hint
4541
- Type hints for accessing array items in array instances so some_val in some_val = array_inst[0] will have the correct type hint
4642
- Endpoints have input and response type hints
43+
- Openapi spec inline schemas supported of 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
4746
- String transmission of numbers supported with type: string, format: number, value can be accessed as a Decimal with inst.as_decimal_oapg
4847
- Format support for: int32, int64, float, double, binary, date, datetime
4948
- Multiple content types supported for request and response bodies
5049
- Endpoint response always also includes the urllib3.HTTPResponse
5150
- Endpoint response deserialization can be skipped with the skip_deserialization argument
5251
- Invalid (in python) property names supported like self, from etc
5352

54-
And many more! The docs for that generator are [here](https://github.com/openapi-json-schema-tools/openapi-json-schema-generator/blob/master/docs/generators/python.md)
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)
5559

5660
### Can I build here?
5761

0 commit comments

Comments
 (0)