mkdocs-material

A powerful Material Design theme and documentation framework built on top of MkDocs

Framework
PyPI
v9.7.7
27,509 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
79 /100 Good
Development Activity 68
Maintenance 72
Community 76
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
82 /100 Excellent
Architecture 84
Code Quality 85
Innovation 80
Learning Curve 78

Material for MkDocs is a theme and documentation framework built on top of MkDocs that turns Markdown files into a professional, searchable static documentation site. It ships with an extensive plugin ecosystem (search, blog, tags, social cards, offline mode, versioning via mike, and more), 60+ language translations, dark mode, and deep customization through mkdocs.yml — with no build step or JavaScript framework required from the end user beyond writing Markdown.

It is the de facto standard theme for open-source and commercial project documentation, used by projects like FastAPI, Kubernetes-adjacent tooling, and thousands of technical docs sites, largely because it produces a polished, fast, fully static site out of the box.

What You Get

  • A complete Material Design theme for MkDocs with light/dark mode, instant loading (SPA-style navigation), and built-in client-side search
  • First-party plugins bundled in material/plugins/ — blog, tags, social card generation, privacy (self-hosting external assets), offline mode, meta, typeset, and group plugins
  • Extensive Markdown extension support (admonitions, content tabs, code annotations, diagrams via Mermaid) configured declaratively in mkdocs.yml
  • 60+ built-in language translations and full internationalization support for multi-language documentation sites
  • Template override system (material/overrides/) for customizing theme HTML/CSS/JS without forking the theme
  • An optional sponsor-funded “Insiders” edition (docs/insiders/) that ships new features early to sponsors before they land in the public release

Common Use Cases

  • Open-source project documentation sites (API references, guides, changelogs) built directly from a repo’s Markdown files
  • Commercial product documentation requiring a polished, branded, searchable static site without a full web framework
  • Technical blogs and knowledge bases using the built-in blog and tags plugins for content organization
  • Multi-version documentation (e.g. per-release docs) combined with the mike versioning tool referenced in the plugin ecosystem

Under The Hood

Architecture: The Python side (material/) is organized into plugins/ (one directory per first-party MkDocs plugin — blog, tags, social, search, offline, privacy, group, projects, meta, typeset, info), extensions/ for custom Markdown extensions, overrides/ for Jinja2 template and asset overrides, templates/ for the actual theme HTML/partials, and utilities/ for shared helpers; a parallel src/ directory holds the TypeScript/SCSS frontend source (search worker, instant-navigation logic, component behaviors) that gets compiled into the theme’s bundled assets. Tech Stack: Python 3.8+ packaged with Hatchling (hatch-requirements-txt, hatch-nodejs-version for keeping the Python and npm package versions in sync), MkDocs as the core dependency, and a TypeScript + SCSS frontend build pipeline (webpack, ESLint, Stylelint configs at the repo root) that compiles to the static assets shipped in the Python package. Code Quality: The project maintains strict linting configuration (.eslintrc, .stylelintrc, .editorconfig) across both the Python and TypeScript/SCSS codebases, a CHANGELOG with detailed per-release notes going back years, and CI-gated builds (.github/workflows); the scale (27k+ stars, weekly PyPI downloads in the millions) has driven a mature, well-tested plugin architecture where each plugin is independently toggleable. API Design: Configuration is entirely declarative through mkdocs.yml — enabling a plugin, theme feature, or Markdown extension requires only a YAML entry, no Python code — which is the primary reason for its adoption as the default choice for MkDocs-based documentation over hand-rolled themes.

Used by 10 apps in this directory

Go
85%
Apache 2.0

Argo Workflows

Data Engineering · Devops

17,006

The most popular Kubernetes-native workflow engine for orchestrating containerized DAGs, ML pipelines, CI/CD, and parallel batch jobs at scale.

View details
96
Repo Health
90
Technical
68
Dependency
Built with
Go 85%
TypeScript 11%
Updated 4 days ago
Go
49%
MIT

Dokku

Devops · Hosting Control Panel

32,162

The smallest PaaS implementation you've ever seen — deploy apps via git push using Docker and Heroku buildpacks on your own server.

View details
92
Repo Health
85
Technical
66
Dependency
Built with
Go 49%
Shell 48%
Updated 6 days ago
Python
82%
Other

fish-speech

AI Development · Developer Tools · Music Audio

32,864

SOTA open-source dual-autoregressive text-to-speech model with rapid voice cloning, inline emotion tags, and real-time streaming inference across 80+ languages.

View details
69
Repo Health
71
Technical
73
Dependency
Built with
Python 82%
TypeScript 14%
Updated 2 weeks ago
Python
65%
MIT

Flowfile

Data Engineering

363

Visual ETL that compiles to Polars — build pipelines on a canvas, export as standalone Python, and run anywhere without platform lock-in.

View details
83
Repo Health
81
Technical
66
Dependency
Built with
Python 65%
Vue 17%
TypeScript 17%
Updated 5 days ago
Rust
43%
Apache 2.0

LanceDB

AI Development · Databases

11,544

Open-source, embedded vector database built on the Lance columnar format for fast multimodal search across billions of vectors, backed by Y Combinator (W23).

View details
90
Repo Health
86
Technical
71
Dependency
Built with
Rust 43%
Python 25%
HTML 23%
Updated 5 days ago
Go
42%
AGPL 3.0

listmonk

Blogging · Marketing

23,600

High-performance, self-hosted newsletter and mailing list manager packaged as a single binary with built-in analytics, transactional messaging, and multi-channel delivery.

View details
83
Repo Health
74
Technical
67
Dependency
Built with
Go 42%
Vue 24%
JavaScript 19%
Updated 1 weeks ago
Svelte
32%
GPL 3.0

Mathesar

Databases

5,136

Spreadsheet-like interface for your PostgreSQL database — self-hosted, no SQL required, native Postgres access control.

View details
84
Repo Health
80
Technical
71
Dependency
Built with
Svelte 32%
TypeScript 27%
Python 21%
Updated 5 days ago
Go
73%
Apache 2.0

ntfy

Developer Tools · Marketing

34,486

Send push notifications to your phone or desktop from any script or service using a single HTTP PUT or POST—no sign-up required.

View details
89
Repo Health
89
Technical
75
Dependency
Built with
Go 73%
JavaScript 26%
Updated 6 days ago
Rust
68%
MIT

Readur

Bookmarks Archiving · File Storage · Knowledge Management

797

A self-hosted document management system that OCRs, indexes, and makes every PDF, scan, and Office file instantly searchable.

View details
81
Repo Health
78
Technical
67
Dependency
Built with
Rust 68%
TypeScript 30%
Updated 4 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers