uf.openapi#

OpenAPI/Swagger integration for uf.

Automatically generates OpenAPI specifications and provides Swagger UI for API documentation and testing.

Functions

add_openapi_routes(app, funcs, **spec_kwargs)

Add OpenAPI routes to an app.

function_to_openapi_operation(func[, path])

Convert a function to OpenAPI operation spec.

generate_openapi_spec(funcs[, title, ...])

Generate OpenAPI 3.0 specification.

redoc_ui_html([openapi_url])

Generate ReDoc UI HTML.

swagger_ui_html([openapi_url])

Generate Swagger UI HTML.

Classes

OpenAPIConfig([title, version, description, ...])

Configuration for OpenAPI generation.

class uf.openapi.OpenAPIConfig(title='API', version='1.0.0', description='', servers=None, enable_swagger=True, enable_redoc=True)[source]#

Bases: object

Configuration for OpenAPI generation.

Example

>>> config = OpenAPIConfig(
...     title="My API",
...     version="2.0.0",
...     description="API for my application"
... )
to_dict()[source]#

Convert to dictionary.

Return type:

dict

Returns:

Configuration dictionary

uf.openapi.add_openapi_routes(app, funcs, **spec_kwargs)[source]#

Add OpenAPI routes to an app.

Adds:

  • /openapi.json: OpenAPI specification

  • /docs: Swagger UI

  • /redoc: ReDoc UI

Parameters:
  • app (Any) – Web application

  • funcs (list[Callable]) – List of functions

  • **spec_kwargs – Arguments for generate_openapi_spec

Return type:

None

uf.openapi.function_to_openapi_operation(func, path=None)[source]#

Convert a function to OpenAPI operation spec.

Parameters:
  • func (Callable) – Function to convert

  • path (str) – Optional API path

Return type:

dict

Returns:

OpenAPI operation dictionary

uf.openapi.generate_openapi_spec(funcs, title='API', version='1.0.0', description='', servers=None)[source]#

Generate OpenAPI 3.0 specification.

Parameters:
  • funcs (list[Callable]) – List of functions

  • title (str) – API title

  • version (str) – API version

  • description (str) – API description

  • servers (Optional[list[dict]]) – Optional list of server configs

Return type:

dict

Returns:

OpenAPI specification dictionary

uf.openapi.redoc_ui_html(openapi_url='/openapi.json')[source]#

Generate ReDoc UI HTML.

Parameters:

openapi_url (str) – URL to OpenAPI spec

Return type:

str

Returns:

HTML string for ReDoc UI

uf.openapi.swagger_ui_html(openapi_url='/openapi.json')[source]#

Generate Swagger UI HTML.

Parameters:

openapi_url (str) – URL to OpenAPI spec

Return type:

str

Returns:

HTML string for Swagger UI