VOOZH about

URL: https://pypi.org/project/apispec/

โ‡ฑ apispec ยท PyPI


Skip to main content

apispec 6.10.0

pip install apispec

Latest release

Released:

A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification).

Navigation

Verified details

These details have been verified by PyPI
Project links
GitHub Statistics
Maintainers
๐Ÿ‘ Avatar for lafrech from gravatar.com
lafrech ๐Ÿ‘ Avatar for sloria from gravatar.com
sloria

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: MIT License
  • Author: Steven Loria
  • Maintainer: Steven Loria
  • Tags apispec , swagger , openapi , specification , oas , documentation , spec , rest , api
  • Requires: Python >=3.10
  • Provides-Extra: dev , docs , marshmallow , tests , yaml

Project description

๐Ÿ‘ PyPI package
๐Ÿ‘ Build status
๐Ÿ‘ Documentation
๐Ÿ‘ marshmallow 3|4 compatible
๐Ÿ‘ OpenAPI Specification 2/3 compatible

A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification).

Features

  • Supports the OpenAPI Specification (versions 2 and 3)

  • Framework-agnostic

  • Built-in support for marshmallow

  • Utilities for parsing docstrings

Installation

$ pip install -U apispec

When using the marshmallow plugin, ensure a compatible marshmallow version is used:

$ pip install -U apispec[marshmallow]

Example Application

fromapispecimport APISpecfromapispec.ext.marshmallowimport MarshmallowPluginfromapispec_webframeworks.flaskimport FlaskPluginfromflaskimport Flaskfrommarshmallowimport Schema, fields# Create an APISpecspec = APISpec( title="Swagger Petstore", version="1.0.0", openapi_version="3.0.2", plugins=[FlaskPlugin(), MarshmallowPlugin()],)# Optional marshmallow supportclassCategorySchema(Schema): id = fields.Int() name = fields.Str(required=True)classPetSchema(Schema): category = fields.List(fields.Nested(CategorySchema)) name = fields.Str()# Optional security scheme supportapi_key_scheme = {"type": "apiKey", "in": "header", "name": "X-API-Key"}spec.components.security_scheme("ApiKeyAuth", api_key_scheme)# Optional Flask supportapp = Flask(__name__)@app.route("/random")defrandom_pet():"""A cute furry animal endpoint.
 ---
 get:
 description: Get a random pet
 security:
 - ApiKeyAuth: []
 responses:
 200:
 content:
 application/json:
 schema: PetSchema
 """ pet = get_random_pet() return PetSchema().dump(pet)# Register the path and the entities within itwith app.test_request_context(): spec.path(view=random_pet)

Generated OpenAPI Spec

importjsonprint(json.dumps(spec.to_dict(), indent=2))# {# "paths": {# "/random": {# "get": {# "description": "Get a random pet",# "security": [# {# "ApiKeyAuth": []# }# ],# "responses": {# "200": {# "content": {# "application/json": {# "schema": {# "$ref": "#/components/schemas/Pet"# }# }# }# }# }# }# }# },# "tags": [],# "info": {# "title": "Swagger Petstore",# "version": "1.0.0"# },# "openapi": "3.0.2",# "components": {# "parameters": {},# "responses": {},# "schemas": {# "Category": {# "type": "object",# "properties": {# "name": {# "type": "string"# },# "id": {# "type": "integer",# "format": "int32"# }# },# "required": [# "name"# ]# },# "Pet": {# "type": "object",# "properties": {# "name": {# "type": "string"# },# "category": {# "type": "array",# "items": {# "$ref": "#/components/schemas/Category"# }# }# }# }# "securitySchemes": {# "ApiKeyAuth": {# "type": "apiKey",# "in": "header",# "name": "X-API-Key"# }# }# }# }# }print(spec.to_yaml())# components:# parameters: {}# responses: {}# schemas:# Category:# properties:# id: {format: int32, type: integer}# name: {type: string}# required: [name]# type: object# Pet:# properties:# category:# items: {$ref: '#/components/schemas/Category'}# type: array# name: {type: string}# type: object# securitySchemes:# ApiKeyAuth:# in: header# name: X-API-KEY# type: apiKey# info: {title: Swagger Petstore, version: 1.0.0}# openapi: 3.0.2# paths:# /random:# get:# description: Get a random pet# responses:# 200:# content:# application/json:# schema: {$ref: '#/components/schemas/Pet'}# security:# - ApiKeyAuth: []# tags: []

Documentation

Documentation is available at https://apispec.readthedocs.io/ .

Ecosystem

A list of apispec-related libraries can be found at the GitHub wiki here:

https://github.com/marshmallow-code/apispec/wiki/Ecosystem

Support apispec

apispec is maintained by a group of volunteers. If youโ€™d like to support the future of the project, please consider contributing to our Open Collective:

๐Ÿ‘ Donate to our collective

Professional Support

Professionally-supported apispec is available through the Tidelift Subscription.

Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional-grade assurances from the experts who know it best, while seamlessly integrating with existing tools. [Get professional support]

๐Ÿ‘ Get supported apispec with Tidelift

Security Contact Information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Project Links

License

MIT licensed. See the bundled LICENSE file for more details.

Project details

Verified details

These details have been verified by PyPI
Project links
GitHub Statistics
Maintainers
๐Ÿ‘ Avatar for lafrech from gravatar.com
lafrech ๐Ÿ‘ Avatar for sloria from gravatar.com
sloria

Unverified details

These details have not been verified by PyPI
Project links
Meta
  • License: MIT License
  • Author: Steven Loria
  • Maintainer: Steven Loria
  • Tags apispec , swagger , openapi , specification , oas , documentation , spec , rest , api
  • Requires: Python >=3.10
  • Provides-Extra: dev , docs , marshmallow , tests , yaml

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apispec-6.10.0.tar.gz (80.6 kB view details)

Uploaded Source

Built Distribution

Filter files by name, interpreter, ABI, and platform.

If you're not sure about the file name format, learn more about wheel file names.

Copy a direct link to the current filters

apispec-6.10.0-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file apispec-6.10.0.tar.gz.

File metadata

  • Download URL: apispec-6.10.0.tar.gz
  • Upload date:
  • Size: 80.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for apispec-6.10.0.tar.gz
Algorithm Hash digest
SHA256 0a888555cd4aa5fb7176041be15684154fd8961055e1672e703abf737e8761bf
MD5 847fa44044377f3e52bf15abc471fe8c
BLAKE2b-256 4af11f5a9332df3ecd90cc5ab69bc58a4174b8ba2ac1720c4c26b01d20751bf5

See more details on using hashes here.

Provenance

The following attestation bundles were made for apispec-6.10.0.tar.gz:

Publisher: build-release.yml on marshmallow-code/apispec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file apispec-6.10.0-py3-none-any.whl.

File metadata

  • Download URL: apispec-6.10.0-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for apispec-6.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ff23e0de9a0ceb62ff70047241126315bd17b8d0565a567934c0156f4ddbb43
MD5 93aba4a935f596fd74ebb7e0455fcda9
BLAKE2b-256 2088e149b20246c4689e7d27163e4e3bb8946ef31617cfb3b9c427813483fe5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for apispec-6.10.0-py3-none-any.whl:

Publisher: build-release.yml on marshmallow-code/apispec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

๐Ÿ‘ Image
AWS Cloud computing and Security Sponsor ๐Ÿ‘ Image
Datadog Monitoring ๐Ÿ‘ Image
Depot Continuous Integration ๐Ÿ‘ Image
Fastly CDN ๐Ÿ‘ Image
Google Download Analytics ๐Ÿ‘ Image
Pingdom Monitoring ๐Ÿ‘ Image
Sentry Error logging ๐Ÿ‘ Image
StatusPage Status page