{"repo":"hunyadi/pyopenapi","free":true,"listed":false,"github":"https://github.com/hunyadi/pyopenapi","clone":"git clone https://github.com/hunyadi/pyopenapi.git","description":"Generate an OpenAPI specification from a Python class definition","language":"Python","stars":26,"topics":["dataclasses","json-schema-generator","openapi","openapi3","redoc","swagger","type-inspection"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"Generate an OpenAPI specification from a Python class PyOpenAPI produces an OpenAPI specification in JSON, YAML or HTML format with endpoint definitions extracted from member functions of a strongly-typed Python class. Features supports standard and asynchronous functions ( async def ) maps function name prefixes such as get or create to HTTP GET, POST, PUT, DELETE, PATCH handles both simple and composite types ( int , str , Enum , @dataclass ) handles generic types ( list[T] , dict[K, V] , T None , T1 T2 T3 ) maps Python positional-only and keyword-only arguments (of simple types) to path and query parameters, respectively maps composite types to HTTP request body supports user-defined routes, request and response samples with decorator @webmethod extracts description text from class and function doc-strings ( doc ) recognizes parameter description text given in reStructuredText doc-string format ( :param name: ... ) converts exceptions declared in doc-strings into HTTP 4xx and 5xx responses (e.g. :raises TypeError: ) recursively converts composite types into JSON schemas groups frequently used composite types into a separate section and re-uses them with $ref displays generated OpenAPI specification in HTML with ReDoc Live examples Endpoint definition in Python Generated OpenAPI specification in JSON Generated OpenAPI specification in YAML Generated OpenAPI specification in HTML with ReDoc User guide The specification object In order to generate an OpenAPI specification doc","default_branch":null,"files":null,"tree":[],"storefront":"/r/hunyadi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/hunyadi/pyopenapi/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}