mkdocs-gen-files
MkDocs plugin to programmatically generate documentation pages during the build
Decision gist · record as of 2026-08-14
Yes. The plugin is production-stable (Development Status 5), actively maintained with recent commits, has no security vulnerabilities, and carries a permissive MIT license. Install friction is low. It solves a real problem—automating repetitive documentation generation—and integrates cleanly into the MkDocs build pipeline. Suitable for projects where documentation structure is data-driven or code-generated.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires MkDocs to be installed and configured; scripts must be valid Python and located relative to mkdocs.yml.
- Low friction installation as a pure Python wheel.
- Actively maintained with recent commits and a stable release cadence; last commit 2026-04-17 and latest release 2026-03-16 indicate ongoing support.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing use in commercial and private projects with minimal restrictions—only requiring attribution.
last release 2026-03-16 (151 days) · last repo commit 2026-04-17 · 143 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,513,759 downloads/mo, #3,824 on PyPI
Alternatives
Verify before relying
pip install mkdocs-gen-files
# In mkdocs.yml:
plugins:
- gen-files:
scripts:
- gen_pages.py
# In gen_pages.py:
import mkdocs_gen_files
with mkdocs_gen_files.open("foo.md", "w") as f:
print("Hello, world!", file=f)- Whether the plugin supports conditional page generation or filtering based on build parameters.
- Performance characteristics when generating large numbers of pages in a single build.
- Compatibility with other MkDocs plugins that also modify the site structure.
What it is and what it does
mkdocs-gen-files is a MkDocs plugin that lets you generate documentation pages on the fly during the build process. Instead of manually creating every markdown file, you write a Python script that runs at build time and creates pages programmatically. This is useful when your documentation structure is repetitive, data-driven, or needs to be generated from code, APIs, or other sources.
The plugin works by executing Python scripts you specify in your mkdocs.yml configuration. These scripts use the plugin's API to create markdown files that become part of your site without needing to exist in your source repository. It depends on mkdocs and properdocs, and requires Python 3.9 or later. The plugin is production-stable, actively maintained, and has no known security vulnerabilities.
Use it for
- Generate API reference documentation from code introspection or OpenAPI specs automatically.
- Create index pages or table-of-contents pages that aggregate content from multiple sources.
- Build documentation for large projects where page structure mirrors code structure or database schemas.
- Dynamically generate changelog or release notes pages from version control or issue tracking data.
- Create multi-language or multi-variant documentation from a single source template.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The plugin is production-stable (Development Status 5), actively maintained with recent commits, has no security vulnerabilities, and carries a permissive MIT license. Install friction is low. It solves a real problem—automating repetitive documentation generation—and integrates cleanly into the MkDocs build pipeline. Suitable for projects where documentation structure is data-driven or code-generated.
Install
mkdocs-gen-files on PyPI
Before you install
Low friction installation as a pure Python wheel. Actively maintained with recent commits and a stable release cadence; last commit 2026-04-17 and latest release 2026-03-16 indicate ongoing support.
Requires MkDocs to be installed and configured; scripts must be valid Python and located relative to mkdocs.yml.
License in practice
MIT license is permissive, allowing use in commercial and private projects with minimal restrictions—only requiring attribution.
Quickstart
pip install mkdocs-gen-files
# In mkdocs.yml:
plugins:
- gen-files:
scripts:
- gen_pages.py
# In gen_pages.py:
import mkdocs_gen_files
with mkdocs_gen_files.open("foo.md", "w") as f:
print("Hello, world!", file=f)
Verify before relying
- Whether the plugin supports conditional page generation or filtering based on build parameters.
- Performance characteristics when generating large numbers of pages in a single build.
- Compatibility with other MkDocs plugins that also modify the site structure.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesmkdocsproperdocs |
| Maintenance | Actively maintained 151 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,513,759 / month, #3,824 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: DocumentationTopic :: Software Development :: DocumentationTopic :: Text Processing :: Markup :: MarkdownTyping :: Typed |
Evidence: mkdocs_gen_files-0.6.1-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 › “mkdocs dynamic page generation”
- mkdocs-gen-filesMkDocs plugin that generates documentation pages programmatically…
- mkdocs-table-reader-pluginA MkDocs plugin that inserts tables from external files (CSV, JSON,…
- mkdocs-with-pdfGenerates a single PDF file from an MkDocs documentation site, with…
Give your agent the search over MCP, or paste the wish link into any chat.
More Documentation packages
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
Sphinx generates professional documentation from reStructuredText source files, producing HTML, PDF, EPUB, and other formats with automatic cross-references, code highlighting, and hierarchical navigation.
Griffe extracts the complete structure and signatures of Python programs to generate API documentation or detect breaking changes in your project's public API.
Install it if you need to programmatically inspect Python code structure, generate API docs, or enforce API stability in CI.
A Sphinx extension that outputs documentation in serialized HTML formats (JSON and pickle) alongside standard HTML.
Alabaster is a clean, responsive Sphinx theme for documentation that requires Python 3.10 or newer and Sphinx 6.2 or newer.
A Sphinx extension that generates HTML help files from reStructuredText documentation source.
See also mkdocs · mkdocs-llmstxt · mkdocs-task-collector · mkdocs-redirects · mkdocs-meta-manager · mkdocstrings · mkdocs-macros-plugin · mkdocs-click · mkdocs-autorefs · mkdocs-video