(no title)
taswellian | 2 years ago
I'm basically wondering what would help us produce (automatically?) a Python HTTP client based an OpenAPI spec, and achieve a development experience similar to using drwpow/openapi-typescript.
drwpow/openapi-typescript will generate the whole schema, along with paths, request and response models, as well as path and query parameters. In the IDE, all client methods will be type-safe and autocompleted.
Example:
client = createClient<GeneratedSchema>();
client.get("/my/autocompleted/endpoint/{some_param}", { params: { path: { some_param: "foobar" } } })
koxudaxi/datamodel-code-generator seems to generate the response models, but not much else. It seems we would have to manually write wrapper methods for each endpoint, manually specify the parameters and request models, and use a type hint for the return value of each method with the generated response model.Example:
def my_wrapped_endpoint(...) -> ResponseModel:
pass
client.my_wrapped_endpoint(some_param="foobar")
I'd like to avoid any manual wrapping or at least minimize the amount of it. Basically: to achieve a similar experience to what we have in TypeScript.I hope my question is a bit clearer now. I'm not that familiar with Python, so I will appreciate any guidance regarding this problem. :)
Cannabat|2 years ago
For all its issues, the JS world typically provides an excellent developer experience and takes types far more seriously than python.
Hope you find something that helps, and if you do I’d love to hear about it.
taswellian|2 years ago