pytkdocs
Load Python objects documentation.
Decision gist · record as of 2026-08-14
Yes, if you are maintaining an existing tool or workflow that already depends on pytkdocs. No, if you are starting a new documentation project—the maintainers explicitly recommend Griffe as a more powerful alternative. The tool is stable and has no known vulnerabilities, but its aging maintenance status (last release 523 days ago) and deprecation notice mean it should not be the first choice for new integrations.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; designed as a subprocess tool reading and writing JSON, not a library for direct import.
- Low friction install with three lightweight runtime dependencies.
- Maintenance status is aging—last release was 523 days ago—and the project itself recommends Griffe as a more powerful alternative, so consider whether this tool still fits your documentation workflow.
License · maintenance · safety
ISC (permissive) — Licensed under ISC (permissive), allowing free use, modification, and distribution with minimal restrictions.
last release 2025-03-09 (523 days) · last repo commit 2025-03-09 · 54 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 170,393 downloads/mo, #10,397 on PyPI
Alternatives
Verify before relying
pip install pytkdocs
# Feed JSON on stdin describing what to document
echo '{"objects": [{"path": "mymodule", "members": true, "docstring_style": "google"}]}' | pytkdocs- Whether the aging maintenance status (last release 523 days ago) affects compatibility with recent Python versions despite classifier claims.
- Real-world performance on large codebases or deeply nested object hierarchies.
- Whether Griffe is a drop-in replacement or requires significant workflow changes.
What it is and what it does
pytkdocs is a command-line tool that introspects Python source code and outputs structured documentation as JSON. It reads a JSON request describing which Python objects to document (modules, classes, functions, etc.), then loads those objects, parses their docstrings in Google, NumPy, or reStructuredText format, and returns a JSON response with the extracted metadata, docstring sections, source locations, and object hierarchies. It supports filtering by name patterns, selecting inherited members, and configurable docstring parsing options.
The tool is designed to be used as a subprocess by other programs—notably mkdocstrings—feeding it single lines of JSON and reading back single lines of JSON in line-by-line mode. However, the project is now deprecated in favor of Griffe, a more powerful alternative. If you are starting a new documentation pipeline, Griffe is recommended; pytkdocs remains functional for existing integrations but is no longer actively developed.
Use it for
- Feed Python module paths to pytkdocs as JSON to extract docstrings and signatures for auto-generated API documentation.
- Integrate pytkdocs into mkdocstrings or similar documentation generators to parse Python source without importing it.
- Filter and select specific members of a module (e.g., public API only) and output structured metadata for custom doc tools.
- Parse and normalize docstrings across multiple styles (Google, NumPy, reStructuredText) into a common JSON format.
- Analyze Python code structure (classes, methods, attributes) and their documentation in a subprocess without loading the module directly.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are maintaining an existing tool or workflow that already depends on pytkdocs.
No, if you are starting a new documentation project—the maintainers explicitly recommend Griffe as a more powerful alternative. The tool is stable and has no known vulnerabilities, but its aging maintenance status (last release 523 days ago) and deprecation notice mean it should not be the first choice for new integrations.
Install
pytkdocs on PyPI
Before you install
Low friction install with three lightweight runtime dependencies. Maintenance status is aging—last release was 523 days ago—and the project itself recommends Griffe as a more powerful alternative, so consider whether this tool still fits your documentation workflow.
Requires Python 3.9 or later; designed as a subprocess tool reading and writing JSON, not a library for direct import.
License in practice
Licensed under ISC (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
pip install pytkdocs
# Feed JSON on stdin describing what to document
echo '{"objects": [{"path": "mymodule", "members": true, "docstring_style": "google"}]}' | pytkdocs
Verify before relying
- Whether the aging maintenance status (last release 523 days ago) affects compatibility with recent Python versions despite classifier claims.
- Real-world performance on large codebases or deeply nested object hierarchies.
- Whether Griffe is a drop-in replacement or requires significant workflow changes.
Package facts
| License | ISC permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesastunparsecached-propertytyping-extensions |
| Maintenance | Aging 523 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 170,393 / month, #10,397 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: DocumentationTopic :: Software DevelopmentTopic :: UtilitiesTyping :: Typed |
Evidence: pytkdocs-0.16.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “load python object metadata”
- pytkdocsExtracts and serializes Python object documentation (modules,…
- seekablehttpfileProvides a file-like object that fetches remote files over HTTP using…
- pyicebergPyIceberg provides programmatic access to Apache Iceberg table…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also mkdocstrings-python · mkdocstrings-python-legacy · mkdocstrings · pydoctor · griffe-typingdoc · docstring-parser · pdoc3 · griffe2md · haystack-pydoc-tools · mkdocs-api-autonav