mike
Manage multiple versions of your MkDocs-powered documentation
Decision gist · record as of 2026-08-14
Yes. mike is actively maintained, has no known vulnerabilities, low install friction, and solves a real problem for projects using MkDocs. It's well-suited for any project that needs to host multiple documentation versions without the overhead of rebuilding or managing them manually. The BSD-3-Clause license is permissive. Install it if you maintain MkDocs documentation and need version management.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires an existing MkDocs project with mkdocs.yml configuration and a Git repository with a gh-pages branch (or equivalent deployment branch).
- Low install friction; pure Python wheel with 8 runtime dependencies including mkdocs, jinja2, and pyyaml.
- Active maintenance with last commit 2026-08-01 and 737 repository stars.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
last release 2026-04-14 (122 days) · last repo commit 2026-08-01 · 737 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,637,523 downloads/mo, #3,698 on PyPI
Alternatives
Verify before relying
pip install mike
mike deploy [version] [alias]
mike serve- Whether mike works with non-GitHub Git hosting (GitLab, Gitea, etc.) or only GitHub Pages.
- Performance characteristics when managing many documentation versions.
- Compatibility with MkDocs themes other than the officially supported ones.
- Minimum Python version requirements (classifiers list 3.8 through 3.13 but requires_python is unspecified).
What it is and what it does
mike is a deployment tool for MkDocs that solves the problem of hosting multiple versions of documentation simultaneously. Instead of rebuilding all versions every time you release, mike lets you deploy each version once and then leave it untouched—old docs built with old MkDocs versions stay frozen in your gh-pages branch, eliminating breakage from upstream MkDocs changes. It works by creating Git commits on your deployment branch for each version, with support for aliases (like 'latest' or 'dev') that can point to specific versions via symlinks, HTML redirects, or file copies.
The package integrates with MkDocs via a plugin that adds a version selector widget to your documentation and manages site URLs. You deploy with `mike deploy`, serve locally with `mike serve` to test all versions, and delete old versions with `mike delete`. Configuration happens in mkdocs.yml or via command-line flags, letting you customize alias behavior, redirect templates, deployment prefixes, and canonical version hints for search engines.
Use it for
- Host stable and development versions of docs side-by-side, with aliases pointing to specific versions.
- Maintain documentation for multiple major versions without rebuilding older docs when MkDocs updates.
- Create permanent URLs to specific documentation versions for linking in changelogs or support tickets.
- Test versioned documentation locally before pushing to production using `mike serve`.
- Manage documentation for libraries with long-term support branches by deploying each branch version independently.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
mike is actively maintained, has no known vulnerabilities, low install friction, and solves a real problem for projects using MkDocs. It's well-suited for any project that needs to host multiple documentation versions without the overhead of rebuilding or managing them manually. The BSD-3-Clause license is permissive. Install it if you maintain MkDocs documentation and need version management.
Install
mike on PyPI
Before you install
Low install friction; pure Python wheel with 8 runtime dependencies including mkdocs, jinja2, and pyyaml. Active maintenance with last commit 2026-08-01 and 737 repository stars.
Requires an existing MkDocs project with mkdocs.yml configuration and a Git repository with a gh-pages branch (or equivalent deployment branch).
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install mike
mike deploy [version] [alias]
mike serve
Verify before relying
- Whether mike works with non-GitHub Git hosting (GitLab, Gitea, etc.) or only GitHub Pages.
- Performance characteristics when managing many documentation versions.
- Compatibility with MkDocs themes other than the officially supported ones.
- Minimum Python version requirements (classifiers list 3.8 through 3.13 but requires_python is unspecified).
Package facts
| License | BSD-3-Clause permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 8 packagesjinja2mkdocspyparsingpyyamlpyyaml-env-tagverspecimportlib-metadataimportlib-resources |
| Maintenance | Actively maintained 122 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,637,523 / month, #3,698 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/StableIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Documentation |
Evidence: mike-2.2.0-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 versioned documentation”
- mikemike deploys multiple versions of MkDocs-generated documentation to a…
- mkdocs-techdocs-coreBundles Spotify's TechDocs defaults—themes, plugins, and Markdown…
- mkdocs-monorepo-pluginEnables building multiple sets of documentation from separate folders…
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 ghp-import · mkdocs-redirects · to-requirements.txt · sphinx-multiversion · mkdocs-autorefs · mkdocs-multirepo-plugin · mkdocs-git-revision-date-plugin · mkdocstrings · mkdocs-with-pdf · mkdocs-static-i18n