Plain is headed towards 1.0! Subscribe for development updates →

Documentation

Source code and markdown docs, combined.

All of Plain's docs are written directly in the source code. You're encouraged to read the source — either on this site, the GitHub repo, or in your local virtual environment for the version of Plain you're using.

Core

By itself, this is the bare minimum to get a Python web app up and running. It can respond to HTTP requests and render templates, but doesn't include a database. You can think of this as an alternative to Flask.

Packages

These packages are separate and can be installed individually. They're often included in the starters.

admin v0.38.1
Manage your app with a backend interface.
api v0.12.0
Build APIs using class-based views.
auth v0.15.0
Add users to your app and decide what they can access.
cache v0.17.1
A simple database-backed cache for storing JSON-serializable values with optional expiration.
code v0.9.2
Preconfigured code formatting and linting.
dev v0.33.1
A single command that runs everything you need for local development.
elements v0.8.0
Use HTML tags to include HTML template components.
email v0.10.2
Everything you need to send email in Plain.
esbuild v0.5.1
Build JavaScript files with esbuild.
flags v0.21.1
Local feature flags via database models.
htmx v0.9.2
Integrate HTMX with templates and views.
loginlink v0.11.0
Link-based authentication for Plain.
models v0.39.2
Model your data and store it in a database.
oauth v0.24.1
Let users log in with OAuth providers.
observer v0.3.6
On-page telemetry and observability tools for Plain.
pages v0.10.5
Serve static pages, markdown, and assets from templates/pages directories.
pageviews v0.18.1
Track pageviews from the client-side.
passwords v0.10.0
Password authentication for Plain.
pytest v0.10.1
Test with pytest.
redirection v0.19.0
A flexible URL redirection system with admin interface and logging.
sessions v0.26.1
Database-backed sessions for managing user state across requests.
support v0.14.1
Provides support forms for your application.
tailwind v0.13.2
Integrate Tailwind CSS without JavaScript or npm.
tunnel v0.5.5
Connect to your local development server remotely.
vendor v0.8.4
Download CDN scripts and styles as vendored dependencies.
worker v0.25.1
Process background jobs with a database-driven worker.