Releases: phalt/clientele
Releases · phalt/clientele
0.6.0
- Significantly improved handling for response schemas. Responses from API endpoints now look at the HTTP status code to pick the correct response schema to generate from the HTTP json data. When regenerating, you will notice a bit more logic generated in the
http.py
file to handle this. - Significantly improved coverage of exceptions raised when trying to generate response schemas.
- Response types for a class are now sorted.
- Fixed a bug where
put
methods did not generate input data correctly.
0.5.2
- Fix pathing for
constants.py
- thanks to @matthewknight for the contribution! - Added
CONTRIBUTORS.md
0.5.1
- Support for HTTP PUT methods
- Headers objects use exclude_unset to avoid passing None values as headers, which httpx does not support.
Additionally, an async test client is now included in the test suite. It has identical tests to the standard one but uses the async client instead.
0.5.0
Please delete the constants.py file when updating to this version to have new features take affect
- Paths are resolved correctly when generating clients in nested directories.
additional_headers()
is now applied to every client, allowing you to set up headers for all requests made by your client.- When the client cannot match an HTTP response to a return type for the function it will now raise an
http.APIException
. This object will have theresponse
attached to it for inspection by the developer. MANIFEST
is now renamed toMANIFEST.md
and will include install information for Clientele, as well as information on the command used to generate the client.
0.4.4
Examples and documentation now includes a very complex example schema built using FastAPI that offers the following variations:
- Simple request / response (no input just an output)
- A request with a URL/Path parameter.
- Models with
int
,str
,list
,dict
, references to other models, enums, andlist
s of other models and enums. - A request with query parameters.
- A response model that has optional parameters.
- An HTTP POST request that takes an input model.
- An HTTP POST request that takes path parameters and also an input model.
- An HTTP GET request that requires an HTTP header, and returns it.
- An HTTP GET endpoint that returns the HTTP bearer authorization token (also makes clientele generate the http authentication for this schema).
A huge test suite has been added to the CI pipeline for this project using a copy of the generated client from the schema above.
0.4.3
Enums
now inherit fromstr
as well so that they serialize to JSON properly. See this little nugget.
0.4.2
- Correctly use
model_rebuild
for complex schemas where there are nested schemas, his may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema. - Do not raise for status, instead attempt to return the response if it cannot match a response type.
0.4.1
0.4.0
- Change install suggestion to use pipx as it works best as a global CLI tool.
- Improved support for OpenAPI 3.0.3 schemas (a test version is available in the example_openapi_specs directory).
validate
command for validating an OpenAPI schema will work with clientele.version
command for showing the current version of clientele.- Supports HTTP DELETE methods.
- Big refactor of how methods are generated to reduce duplicate code.
- Support optional header parameters in all request functions (where they are required).
- Very simple Oauth2 support - if it is discovered will set up HTTP Bearer auth for you.
- Uses
dict
andlist
instead oftyping.Dict
andtyping.List
respectively. - Improved schema generation when schemas have $ref to other models.