{"repo":"dropseed/plain","free":true,"listed":false,"github":"https://github.com/dropseed/plain","clone":"git clone https://github.com/dropseed/plain.git","description":"The Python web framework for building apps.","language":"Python","stars":1043,"topics":["framework","python","web"],"license":null,"category":"databases-storage","readme_excerpt":"Plain The Python web framework for building apps. Originally a fork of Django, reshaped over years of real use. Ready for the era of agents. Get started Start with an agent (Claude, Codex, Amp, OpenCode, or your agent of choice): Or start with uv directly: Full walkthrough: https://plainframework.com/start/ What Plain code looks like Explicit, typed, and predictable. What's good for humans is good for AI. Models are Postgres-only: URLs use a Router class: Views are class-based: Templates are Jinja: An opinionated stack Python where you want it, JS where you need it. - Python: 3.13+ - Database: Postgres - Templates: Jinja2 - Frontend: htmx, Tailwind CSS - Python tooling: uv (packages), ruff (lint/format), ty (type checking) - JavaScript tooling: oxc (lint/format) - Testing: pytest Models declare fields as annotated attributes, and that typing carries through views, forms, and URLs. plain check runs ty on every pass — what your IDE shows, CI enforces, and agents read from the same signatures. Observability at the core OpenTelemetry traces and slow-query detection ship in the box. The first time an N+1 matters, you already have the tools to see it. Agents at the forefront Predictable APIs, typed signatures, and on-demand docs happen to be what both people and coding agents need. Plain projects also ship tooling that agents use automatically. Rules — Always-on guardrails stored in project rules files (e.g. .claude/rules/ for Claude Code). Short files ( 50 lines) that prevent the ","default_branch":null,"files":null,"tree":[],"storefront":"/r/dropseed","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dropseed/plain/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}