explaingit

glanzel/ragtail

Analysis updated 2026-05-18

2PythonAudience · developerComplexity · 3/5Setup · moderate

TLDR

An early-stage Python CMS for building multilingual websites, styled after Wagtail and built on FastAPI.

Mindmap

mindmap
  root((Ragtail))
    What it does
      Wagtail-style CMS
      Multilingual pages
      JSON API for content
    Tech stack
      Python
      FastAPI
      Oxyde ORM
    Use cases
      Build a website admin
      Serve content as API
      Reusable content blocks
    Audience
      Python developers
      FastAPI users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a multilingual website with a Wagtail-style admin panel using FastAPI.

USE CASE 2

Expose page and menu content as a JSON API for a separate front-end app.

USE CASE 3

Assemble page content from reusable blocks like Markdown, images, and custom HTML.

What is it built with?

PythonFastAPIOxyde ORMJinja2PyJSXPillow

How does it compare?

glanzel/ragtail0-bingwu-0/live-interpreter0cm-labs/tokenizer-benchmark
Stars222
LanguagePythonPythonPython
Setup difficultymoderatemoderatemoderate
Complexity3/52/52/5
Audiencedevelopergeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires setting up an Oxyde database configuration and running a database seed command before first use.

In plain English

Ragtail is a content management system for building websites, built with Python and FastAPI. A CMS is software that lets you create and organize pages, images, and navigation menus for a website without hand coding every page. Ragtail borrows its design and admin interface style from Wagtail, a well known Python CMS, but is built on newer underlying pieces: an ORM called Oxyde (the layer that talks to the database) and FastAPI as the web framework. The project is in an early, alpha stage, so its structure and behavior can still change between releases. Even so, it already includes a working set of features: a hierarchical page model so pages can be nested under each other, support for pages in multiple languages, and named navigation menus with nested items. Pages and menus are available through a JSON API by default, which means other applications or front ends can pull the content programmatically. If you want Ragtail to render full HTML pages itself, it supports optional template rendering using Jinja2 or PyJSX. The admin panel is built to feel like Wagtail's, with a login screen, a page explorer for browsing your site structure, a page editor, and an image library. That image library includes support for focal points and automatic image resizing (renditions), using the Pillow image library under the hood. Content on pages can also be built from StreamField, a system of reusable content blocks such as Markdown text, HTML, images, or custom structured blocks, each of which can use its own template. To use Ragtail as a library, you install it with the uv package manager, initialize an Oxyde configuration file, and register Ragtail's models. A command line tool creates the database, runs migrations, sets up a language, and creates a staff user in one step. From there, you mount Ragtail onto an existing FastAPI application and open the admin panel in a browser. Custom page types can be defined in Python by extending a base Page class and adding fields. Features the project explicitly leaves for later include document management, workflows, and role based permissions. Documentation is organized by topic, covering installation, FastAPI integration, models, images, StreamField, the admin UI, routing, and menus, and a runnable demo project is included for local testing.

Copy-paste prompts

Prompt 1
Help me install Ragtail and mount it onto an existing FastAPI application.
Prompt 2
Show me how to define a custom Page type in Ragtail with extra fields.
Prompt 3
Explain how Ragtail's StreamField content blocks work and how to add a custom one.
Prompt 4
Walk me through setting up multilingual pages and menus in Ragtail.

Frequently asked questions

What is ragtail?

An early-stage Python CMS for building multilingual websites, styled after Wagtail and built on FastAPI.

What language is ragtail written in?

Mainly Python. The stack also includes Python, FastAPI, Oxyde ORM.

How hard is ragtail to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ragtail for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.