skillfed

essentials-openapi

Classes to generate OpenAPI Documentation v3 and v2, in JSON and YAML.

essentials-openapi v1.4.0 189.9K downloads/30d#9,919 on PyPI30
Permissive license Active released

What it is and what it does

essentials-openapi is a Python library for working with OpenAPI specifications. It provides classes to generate OpenAPI v2 and v3 documentation in JSON and YAML formats from higher-level APIs, making it useful for web frameworks that want to auto-generate API docs. It also reads existing OpenAPI files (from local YAML/JSON or HTTP URLs) and converts them into other formats: Markdown for MkDocs, basic Markdown, or PlantUML diagrams showing either component schemas or API endpoint overviews.

The library depends on essentials, markupsafe, and pyyaml. It supports Python 3.10 through 3.14. The package explicitly does not aim to implement the full OpenAPI specification, nor does it validate OpenAPI files—it assumes input comes from trusted sources. It offers a command-line tool (oad) for generation tasks and supports custom Jinja2 templates to override default output layouts.

Use it for:

  • Auto-generate OpenAPI specs from a web framework like BlackSheep and export them as JSON or YAML
  • Convert an existing OpenAPI file into MkDocs-compatible Markdown for publishing on a documentation site
  • Generate PlantUML class diagrams of API component schemas from an OpenAPI spec
  • Create PlantUML endpoint diagrams showing API paths and operations from an OpenAPI file
  • Build custom documentation output by overriding Jinja2 templates for a specific output style

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Generates OpenAPI v2 and v3 documentation in JSON and YAML formats, and converts OpenAPI files into MkDocs, Markdown, and PlantUML diagrams.

Yes. Low install friction, active maintenance, permissive license, no known vulnerabilities, and a focused scope make it a solid choice if you need to generate or transform OpenAPI documentation. Best suited for teams already using OpenAPI specs or frameworks that emit them; less relevant if you're hand-writing API docs or using a different spec format.

Install

essentials-openapi on PyPI

pip

pip install essentials-openapi

uv

uv add essentials-openapi

poetry

poetry add essentials-openapi

Installing essentials-openapi

Before you install

Low friction install with three lightweight runtime dependencies. Active maintenance with recent releases; last commit on 2026-03-07 and marked production-stable.

License in practice

MIT license (permissive); no restrictions on commercial or private use.

Quickstart

pip install essentials-openapi

from essentials_openapi import OpenAPI

# Generate from an OpenAPI file
oad gen-docs -s api-spec.json -d output.md

Requires Python 3.10 or later.

Verify before relying

  • Whether the library validates OpenAPI specs or only generates from them
  • Performance characteristics when processing large OpenAPI files
  • Whether custom template support covers all output styles equally well

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 3 — essentials, markupsafe, pyyaml
Maintenance actively maintained — 160 days since the last release
Last repo commit
First released
Downloads 189,950/month — #9,919 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: essentials_openapi-1.4.0-py3-none-any.whl

Keywords: Markdown, api, docs, documentation, json, openapi, swagger, v2, v3, yaml

Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

openapi documentation generatorswagger spec to markdownapi documentation from openapiplantuml from openapi schemaopenapi to mkdocsyaml json api docsopenapi v3 v2 generator
openapi-toolingapi-documentation

More Documentation packages

docutils

Docutils converts plaintext documentation in…

unclear · top 1,000 on PyPI

Sphinx

Sphinx generates professional documentation…

permissive · top 1,000 on PyPI

griffe

Griffe extracts the complete structure and…

permissive · top 1,000 on PyPI

sphinxcontrib-serializinghtml

A Sphinx extension that outputs documentation…

permissive · top 1,000 on PyPI

alabaster

Alabaster is a clean, responsive Sphinx theme…

permissive · top 1,000 on PyPI

sphinxcontrib-htmlhelp

A Sphinx extension that generates HTML help…

permissive · top 1,000 on PyPI

mkdocs-render-swagger-plugin

Renders Swagger and OpenAPI schemas as…

permissive · top 15,000 on PyPI

neoteroi-mkdocs

Provides a collection of MkDocs plugins and…

permissive · top 15,000 on PyPI

plantuml

Generates UML diagrams from text markup by…

permissive · top 15,000 on PyPI

openapi-codec

Converts between OpenAPI/Swagger schemas and…

permissive · top 15,000 on PyPI

openapi-python-client

Generates type-annotated Python HTTP clients…

permissive · top 5,000 on PyPI

mkdocs-swagger-ui-tag

A MkDocs plugin that embeds Swagger UI directly…

permissive · top 15,000 on PyPI

drf-yasg

Generates Swagger/OpenAPI 2.0 specifications…

permissive · top 5,000 on PyPI

plantuml-markdown

A Markdown extension that converts PlantUML…

permissive · top 5,000 on PyPI

bravado

Bravado generates a dynamic REST client from an…

permissive · top 15,000 on PyPI

apispec

Generates OpenAPI specification documents from…

permissive · top 5,000 on PyPI