Skip to main content

Moosey CMS 🫎

PyPI version Python versions MIT License Downloads Last commit

A lightweight, drop-in Markdown CMS for FastAPI.

Moosey CMS turns a FastAPI application into a content-driven website using Markdown files, YAML frontmatter, and Jinja templates - no database required.

Moosey CMS admin editor with side-by-side Markdown editing and live preview

Features

  • File-based Markdown content with automatic URL routing
  • Jinja template resolution and sandboxed expressions
  • Hot reloading and content-aware caching
  • Visual admin for content, frontmatter, and static assets
  • Git-backed file history, diff previews, and rollback
  • SEO metadata, sitemaps, robots.txt, and RSS feeds
  • Responsive image processing and CDN support
  • JSON API for content management

Features that replace paid services

Moosey CMS feature Can replace
Responsive image generation, srcset, local transforms, and CDN URL support Cloudinary, Imgix, and ImageKit
Open Graph, Twitter Cards, JSON-LD, canonical URLs, sitemaps, robots.txt, and RSS feeds Yoast SEO Premium, Rank Math Pro, and managed SEO tooling
Markdown content management, a visual admin, structured metadata, file uploads, and a CRUD API Contentful, Sanity, Ghost(Pro), and hosted headless CMS platforms
Automatic Git history, version tracking, diff previews, and one-click rollback Contentful revisions, headless CMS version history, and Git-based CMS platforms

Installation

Install every optional feature, including image processing and face-aware cropping:

uv add 'moosey-cms[all]'
# or
pip install 'moosey-cms[all]'

Choose a smaller installation when you do not need every feature:

Package Included features
moosey-cms Core CMS
moosey-cms[images] Core CMS and Pillow image processing
moosey-cms[faces] Image processing and OpenCV face-aware cropping
moosey-cms[all] All optional features

Use the same package specifier with uv add or pip install.

Quick start

Scaffold and run a complete site:

moosey-cms init ./my-site
cd my-site
moosey-cms dev

Open http://localhost:8000. To add the admin UI to an existing project:

moosey-cms admin --templates ./templates --static ./static

See Getting Started for manual FastAPI setup, optional dependencies, and production commands.

Documentation

Guide Covers
Getting Started Installation, setup, configuration, and the example app
CLI Project scaffolding, admin installation, and server commands
Admin Dashboard & API Admin UI, Git history, authentication, and JSON endpoints
Templates Template resolution, layouts, collections, and pagination
Frontmatter Supported metadata and project overrides
Markdown Rendering and enabled Markdown extensions
Filters Complete Jinja filter reference
Images Responsive images, transforms, face detection, and CDNs
SEO Metadata, structured data, sitemaps, robots.txt, and feeds
Security Sanitization, CSP, template sandboxing, and deployment guidance
Patterns Practical project structures and conventions

The example/ project is a working reference implementation.

Development

uv sync
uv run pytest

Please report bugs and security issues through the GitHub issue tracker.

License

MIT License. Copyright © 2026 Anthony Mugendi.

Inspired by fastapi-blog by Daniel Roy Greenfeld.

Metadata

Release files for moosey-cms 0.9.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for moosey-cms 0.9.9
File Size Uploaded Provenance Actions
moosey_cms-0.9.9.tar.gz 2.8 MB Without provenance Details for moosey_cms-0.9.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for moosey-cms 0.9.9
File Interpreter ABI Platform Actions
moosey_cms-0.9.9-py3-none-any.whl Python 3 none any Details for moosey_cms-0.9.9-py3-none-any.whl

Total release size: 4.2 MB

Release files / moosey_cms-0.9.9.tar.gz

Download URL moosey_cms-0.9.9.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
418fd66e8350adfda2f52e31bdf17461d36f06fb204cb9ae4e6bcdf6e73160ee
BLAKE2b-256 checksum
How to use checksums
5d4236757b53d3998deebc21305d27b6831d81d61df6215e09c8e522ac1fb04e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / moosey_cms-0.9.9-py3-none-any.whl

Download URL moosey_cms-0.9.9-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0dfe23d8260615f8aab02ea14eb44b02edb50405e05e082a88f0fa380281b489
BLAKE2b-256 checksum
How to use checksums
d93d8d2cf7321cb9aea5eb63a532bb8cde576ca7ef1be66ef5672c408f77d5b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for moosey-cms 0.9.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page