You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 25, 2024. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+32-16Lines changed: 32 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,28 +8,23 @@
8
8
9
9
<divalign="center">
10
10
11
-
:star::star::star: If you would like to contribute, please refer to [guidelines](CONTRIBUTING.md) and a list of [open tasks](https://github.com/openapitools/openapi-json-schema-generator/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22).:star::star::star:
11
+
:star::star::star: If you would like to contribute, please refer to [guidelines](CONTRIBUTING.md) and a list of [open tasks](https://github.com/openapi-json-schema-tools/openapi-json-schema-generator/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22).:star::star::star:
12
12
13
13
:warning: If the OpenAPI spec, templates or any input (e.g. options, environment variables) is obtained from an untrusted source or environment, please make sure you've reviewed these inputs before using OpenAPI JSON Schema Generator to generate the API client, server stub or documentation to avoid potential security issues (e.g. [code injection](https://en.wikipedia.org/wiki/Code_injection)). For security vulnerabilities, please contact [[email protected]](mailto:[email protected]). :warning:
14
14
15
-
:bangbang: Both "OpenAPI Tools" (https://OpenAPITools.org - the parent organization of OpenAPI JSON Schema Generator) and "OpenAPI JSON Schema Generator" are not affiliated with OpenAPI Initiative (OAI) :bangbang:
15
+
:bangbang: Both "openapi-json-schema-tools" (the parent organization of OpenAPI JSON Schema Generator) and "OpenAPI JSON Schema Generator" are not affiliated with OpenAPI Initiative (OAI) :bangbang:
16
16
17
17
</div>
18
18
19
19
## 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 are supported). Currently, the following languages/frameworks are supported:
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:
21
21
22
22
- python
23
23
24
-
25
-
## Why this repo exists
26
-
27
-
This repo is based on v6.2.0 of OpenAPI Generator. This project focuses on making the output 100% compliant with JSON schema as part of the OpenAPI 3.1 specification with a focus on complex cases (top-down approach). The goal is to fully support everything defined in JSON schema so that developers can leverage JSON schema as well as OpenAPI specification in their API design. Building here allows for more rapid progress supporting new features in OpenAPI 3.X without having to support many older generators which don't use the new features.
28
-
29
24
## Can I build here?
30
25
31
26
Yes! Contributions are welcome.
32
-
If you want to build a server or client or documentation generator you are welcome to here.
27
+
If you want to build a new server or client or documentation generator you are welcome to here.
33
28
Can I write a python generator based on the pydantic or jsonschema libraries?
34
29
Definitely!
35
30
@@ -51,7 +46,7 @@ Definitely!
51
46
-[3.5 - IDE Integration](#35---ide-integration)
52
47
-[4 - Companies/Projects using OpenAPI JSON Schema Generator](#4---companiesprojects-using-openapi-json-schema-generator)
53
48
-[5 - About Us](#5---about-us)
54
-
-[5.1 - History of OpenAPI JSON Schema Generator](#53---history-of-openapi-json-schema-generator)
49
+
-[5.1 - History of OpenAPI JSON Schema Generator](#51---history-of-openapi-json-schema-generator)
55
50
-[6 - License](#6---license)
56
51
57
52
## [1 - Installation](#table-of-contents)
@@ -60,10 +55,10 @@ Definitely!
60
55
61
56
The OpenAPI Specification has undergone 3 revisions since initial creation in 2010. The openapi-json-schema-generator project has the following compatibilities with the OpenAPI Specification:
62
57
63
-
| OpenAPI JSON Schema Generator Version | Release Date | Notes |
@@ -324,9 +319,30 @@ When code is generated from this project, it shall be considered **AS IS** and o
324
319
325
320
## [5 - About Us](#table-of-contents)
326
321
327
-
## [6 - History of OpenAPI JSON Schema Generator](#table-of-contents)
322
+
This repo is based on v6.2.0 of OpenAPI Generator. This project focuses on making the output 100% compliant with JSON schema as part of the OpenAPI 3.1 specification with a focus on complex cases (top-down approach). The goal is to fully support everything defined in JSON schema so that developers can leverage JSON schema as well as OpenAPI specification in their API design. Building here allows for more rapid progress supporting new features in OpenAPI 3.X without having to support many older generators which don't use the new features.
328
323
329
-
OpenAPI JSON Schema Generator is based on OpenAPI Generator v6.2.0. It focuses on JSON schema support and the output is designed to be 100% compliance with JSON Schema.
324
+
### [5.1 - History of OpenAPI JSON Schema Generator](#table-of-contents)
325
+
326
+
OpenAPI JSON Schema Generator is based on OpenAPI Generator v6.2.0.
327
+
The project was created here because the openapi-generator core team required the removal of the python generator
328
+
from their project. The author of the python generator (@spacether) preferred to keep building
329
+
in the openapi-generator repo, but core team refused to consider keeping python in openapi-generator.
330
+
Below is a timeline of those events and some of their reasons:
331
+
332
+
#### Timeline of python generator development
333
+
- June 28, 2019 (v4.0.3) - [old python-experimental created](https://github.com/OpenAPITools/openapi-generator/pull/3244)
334
+
- Dec 20, 2020 (v5.0.0) [old python-experimental becomes python](https://github.com/OpenAPITools/openapi-generator/pull/7965)
335
+
- Jan 5, 2022 (v5.4.0) [new python-experimental created](https://github.com/OpenAPITools/openapi-generator/pull/8325)
336
+
- Sept 19, 2022 - meeting to discuss openapi 3.1.0 + python client, removal of python client mentioned as an option, not a requirement
337
+
- Sept 22, 2022 (v6.2.0) - [new python-experimental switched in as the primary python client](https://github.com/OpenAPITools/openapi-generator/pull/13501)
338
+
- Sept 23, 2022 - communication clarified that removal of the python generator is required
339
+
340
+
#### Removal Reasons
341
+
- Core team and @wing328 felt adoption of the python client was reduced from 5.0.0 and onward due to python-prior + python generators
342
+
- Some python users in the community did not prefer the new python code
343
+
- The fact that other users + companies are using it does not warrant keeping it in the repo
344
+
- The fact that it is more fully passing json schema tests (including the feature keywords oneOf/anyOf/allOf/additionalProperties) does not warrant keeping it in the repo
345
+
- The openapi-generator core team refused to consider the option of keeping the python generator as another generator option in their repo, and building another python generator that looks more conventional and making that generator primary
0 commit comments