%global _empty_manifest_terminate_build 0 Name: python-pyramid-apispec Version: 0.5.0 Release: 1 Summary: Pyramid plugin for openapi spec generation License: BSD URL: https://github.com/ergo/pyramid_apispec Source0: https://mirrors.aliyun.com/pypi/web/packages/a7/8d/8a48ad8ddb056d365602df00ecf4aad75ea543c1ca029254214f1ee2ee4b/pyramid_apispec-0.5.0.tar.gz BuildArch: noarch Requires: python3-apispec[yaml] Requires: python3-pyramid Requires: python3-marshmallow Requires: python3-apispec Requires: python3-coverage Requires: python3-pytest Requires: python3-tox Requires: python3-webtest Requires: python3-wheel Requires: python3-twine Requires: python3-black %description get: description: Get a random pet security: - ApiKeyAuth: [] responses: 200: description: Return a pet content: application/json: schema: PetSchema """ # Hardcoded example data pet_data = { "name": "sample_pet_" + str(uuid.uuid1()), "categories": [{"id": 1, "name": "sample_category"}], } return PetSchema().dump(pet_data) ``` For more details on how to document the API, see the [OpenAPI specification](https://swagger.io/specification/). ## Rendering the spec as JSON response: ```python from apispec import APISpec from apispec.ext.marshmallow import MarshmallowPlugin from pyramid.view import view_config from pyramid_apispec.helpers import add_pyramid_paths @view_config(route_name="openapi_spec", renderer="json") def api_spec(request): """View to generate the OpenAPI JSON output.""" spec = APISpec( title="Some API", version="1.0.0", openapi_version="3.0.2", plugins=[MarshmallowPlugin()], ) # Optional security scheme support api_key_scheme = {"type": "apiKey", "in": "header", "name": "X-API-Key"} spec.components.security_scheme("ApiKeyAuth", api_key_scheme) # Optionally register Marshmallow schema for more flexibility spec.components.schema("Pet", schema=PetSchema) # inspect the `random_pet` route and generate operations from docstring add_pyramid_paths(spec, 'random_pet', request=request) return spec.to_dict() ``` ## Adding the API Explorer View To complement the specification file generation, this package can also provide an API explorer for your application's API via the Swagger UI project: ```python config.include("pyramid_apispec.views") config.add_route("openapi_spec", "/openapi.json") config.pyramid_apispec_add_explorer(spec_route_name="openapi_spec") ``` By default you need to pass the route name of the view that serves the OpenAPI specification in your application. If needed you can specify a Pyramid `permission` or custom callable (`script_generator` argument) to override the default JavaScript configuration of Swagger UI. The default URL for the explorer is `/api-explorer`. This setting is controlled via the `explorer_route_path` argument - the route is registered as `pyramid_apispec.api_explorer_path`. # Running tests pip install -e '.[dev]' tox %package -n python3-pyramid-apispec Summary: Pyramid plugin for openapi spec generation Provides: python-pyramid-apispec BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pyramid-apispec get: description: Get a random pet security: - ApiKeyAuth: [] responses: 200: description: Return a pet content: application/json: schema: PetSchema """ # Hardcoded example data pet_data = { "name": "sample_pet_" + str(uuid.uuid1()), "categories": [{"id": 1, "name": "sample_category"}], } return PetSchema().dump(pet_data) ``` For more details on how to document the API, see the [OpenAPI specification](https://swagger.io/specification/). ## Rendering the spec as JSON response: ```python from apispec import APISpec from apispec.ext.marshmallow import MarshmallowPlugin from pyramid.view import view_config from pyramid_apispec.helpers import add_pyramid_paths @view_config(route_name="openapi_spec", renderer="json") def api_spec(request): """View to generate the OpenAPI JSON output.""" spec = APISpec( title="Some API", version="1.0.0", openapi_version="3.0.2", plugins=[MarshmallowPlugin()], ) # Optional security scheme support api_key_scheme = {"type": "apiKey", "in": "header", "name": "X-API-Key"} spec.components.security_scheme("ApiKeyAuth", api_key_scheme) # Optionally register Marshmallow schema for more flexibility spec.components.schema("Pet", schema=PetSchema) # inspect the `random_pet` route and generate operations from docstring add_pyramid_paths(spec, 'random_pet', request=request) return spec.to_dict() ``` ## Adding the API Explorer View To complement the specification file generation, this package can also provide an API explorer for your application's API via the Swagger UI project: ```python config.include("pyramid_apispec.views") config.add_route("openapi_spec", "/openapi.json") config.pyramid_apispec_add_explorer(spec_route_name="openapi_spec") ``` By default you need to pass the route name of the view that serves the OpenAPI specification in your application. If needed you can specify a Pyramid `permission` or custom callable (`script_generator` argument) to override the default JavaScript configuration of Swagger UI. The default URL for the explorer is `/api-explorer`. This setting is controlled via the `explorer_route_path` argument - the route is registered as `pyramid_apispec.api_explorer_path`. # Running tests pip install -e '.[dev]' tox %package help Summary: Development documents and examples for pyramid-apispec Provides: python3-pyramid-apispec-doc %description help get: description: Get a random pet security: - ApiKeyAuth: [] responses: 200: description: Return a pet content: application/json: schema: PetSchema """ # Hardcoded example data pet_data = { "name": "sample_pet_" + str(uuid.uuid1()), "categories": [{"id": 1, "name": "sample_category"}], } return PetSchema().dump(pet_data) ``` For more details on how to document the API, see the [OpenAPI specification](https://swagger.io/specification/). ## Rendering the spec as JSON response: ```python from apispec import APISpec from apispec.ext.marshmallow import MarshmallowPlugin from pyramid.view import view_config from pyramid_apispec.helpers import add_pyramid_paths @view_config(route_name="openapi_spec", renderer="json") def api_spec(request): """View to generate the OpenAPI JSON output.""" spec = APISpec( title="Some API", version="1.0.0", openapi_version="3.0.2", plugins=[MarshmallowPlugin()], ) # Optional security scheme support api_key_scheme = {"type": "apiKey", "in": "header", "name": "X-API-Key"} spec.components.security_scheme("ApiKeyAuth", api_key_scheme) # Optionally register Marshmallow schema for more flexibility spec.components.schema("Pet", schema=PetSchema) # inspect the `random_pet` route and generate operations from docstring add_pyramid_paths(spec, 'random_pet', request=request) return spec.to_dict() ``` ## Adding the API Explorer View To complement the specification file generation, this package can also provide an API explorer for your application's API via the Swagger UI project: ```python config.include("pyramid_apispec.views") config.add_route("openapi_spec", "/openapi.json") config.pyramid_apispec_add_explorer(spec_route_name="openapi_spec") ``` By default you need to pass the route name of the view that serves the OpenAPI specification in your application. If needed you can specify a Pyramid `permission` or custom callable (`script_generator` argument) to override the default JavaScript configuration of Swagger UI. The default URL for the explorer is `/api-explorer`. This setting is controlled via the `explorer_route_path` argument - the route is registered as `pyramid_apispec.api_explorer_path`. # Running tests pip install -e '.[dev]' tox %prep %autosetup -n pyramid_apispec-0.5.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-pyramid-apispec -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 0.5.0-1 - Package Spec generated