openapi-generators / openapi-python-client

Generate modern Python clients from OpenAPI
MIT License
1.19k stars 189 forks source link

API modules always return `Optional[T]` even if OpenAPI Schema always returns `T` #1062

Closed linde12 closed 4 weeks ago

linde12 commented 4 weeks ago

I'm using client combined with raise_on_unexpected_status so i would like the API functions (sync & asyncio) to return T instead of Optional[T]

I know raise_on_unexpected_status is a runtime flag right now, but to me it makes more sense to have it as a build/generation time flag. The workaround is disabling linting or using cast everywhere, but it quickly gets tedious and very ugly.

See https://github.com/openapi-generators/openapi-python-client/blob/main/openapi_python_client/templates/endpoint_module.py.jinja#L71