- Fixed parameters with dots in py client (#145)
- Checked that description is an Array/Object first (#141)
- Added support for Python 3.9 and 3.10 (#136)
- Upgraded to jinja2 >=3 (#137)
- Fixed endless loops due to recursive definitions (#131)
- Added quotes to type annotations in py client (#130)
- We had to drop the support for Python 3.6 since jinja2 >= 3 does not support it anymore.
- Supported
Any
type value (i.e. empty type) (#126) - Removed support for Python 3.5 (#127)
- Propagated
produces
andconsumes
(#123) - Fixed handling of spaces in names in py client (#122)
- Made
allOf
imply the type "object" (#119) - Handled
allOf
(#116) - Made format optional (#115)
- Escaped operation IDs for valid Elm identifiers (#113)
- Assumed type
object
if properties (#112) - Fixed line number while parsing Swagger spec (#110)
- Support common parameters in a path (#103)
- Added JSON schema validation before parsing (#102)
- Fixed
bin
scripts not executing under Unix (#101)
- made py_client use
get
for optionals so that None values are treated as unspecified - made py_client accept custom requests.Session object
- fixed py_client for operation IDs with dashes
Breaking change:
- made py-client give back streams on file responses
Non-breaking changes:
- added support for empty schema type (i.e. arbitrary type)
- added boolean argument support in go-server
- added "generated code" comment based on official format of golang
- fixed indent of structs in go-server
- fixed JSON pointer representation.
- tested against multiple Python version (3.5, 3.6, 3.7 and 3.8).
- upgraded mypy to 0.782 and pylint to 2.5.3 and fixed the resulting issues.
- made py-client more robust to parameter names (e.g., those with non-letter prefix or suffix such as _fields)
- fixed a bug when generating python code for a request which does not provide any parameters. From now on, authentication is provided in such requests.
- swagger-style exempts descriptions of responses to start with a verb. This is necessary since certain clients produce illegible descriptions in their code (e.g., Python client).
- swagger-to-go-server and py-client support header parameters.
- swagger-to-go-server and py-client resolve parameter name conflicts by prefixing.
- swagger-to-py-client stringifies primitive parameters with
json.dumps
when passing them in headers, queries and form data. - Endpoint paths are escaped in documentation generated by swagger-to-elm-client.
- Added new line before
:return:
in swagger-to-py-client. - swagger-to-py-client capitalizes the first letter of class and request function docstrings, respectively.
- Stripped trailing white spaces in swagger-to-go-server and py-client templates.
- Added
date-time
test case for swagger-to-go-server and py-client. - Fixed contract violation in go server due to one-line imports ending in a superfluous new line.
The major change is:
Made all functions protected in the modules responsible for code generation.
This impacts only the users which used swagger-to as a library. This change does not affect users which use swagger-to only as CLI.
The minor changes are:
Rewritten go-server and py-client generation with jinja2 template engine.
The generated code is semantically equal to the previous version, but a bit more readable and easier to diff since we enforce now the line width of 100 columns and split argument lists into multiple lines.
swagger-to-py-client includes a response description in the docstring of the request function.
Refactored tests into a hierarchy of test case directories
Added test cases with files, empty objects and objects with optional fields to swagger-to-py-client and go-server.
- swagger-to-elm-client ignores formData parameters gracefully
- Added no_samples flag to swagger-to-elm-client and swagger-to-go-server to avoid generating sample files.
- swagger-to-elm-client allows non-JSON endpoints
- swagger-to-elm-client uses standard library for encoding URLs
- swagger-to-py-client sets the correct type for the optional properties to make the generated code compliant with mypy 0.630
- Fixed swagger-to-py-client to include suffixes in the names of intermediate representations of the
optional properties in
X_from_obj
- swagger-to-py-client suffixes values parsed from an object to avoid conflicts with
path
field - swagger-to-py-client adds type assertions to make the generated code compliant with mypy 0.630
- Fixed that anonymous types of body parameters are named in intermediate representation.
- Added options to style checks to include line numbers of failed checks and verbose error messages.
- Added tests for comparing the output of all generation scripts against expected values.
- Added a script to generate Elm client code.
- Added a script to check Swagger files for style (descriptions, definition names, property names).
- Moved to github.com.
- Added py.typed to comply with mypy.
- Swagger-to-python-client generates the code conform to PEP 257.
- Added swagger-to-elm-client.
- Renamed x-pqry-no-go to x-swagger-to-skip.
- Fixed error messages in Python client copy/pasted from Typsecript client.
- Default parameters values explicitly not supported.
- Swagger-to-go-server does not generate code to extract the parameters from form data.
- Added more related projects to the Readme.
- Changed the copyright to Parquery from Marko Ristin (mistake in the initial version).
- Added versioning description to Readme.
- Initial version.