A web framework for building products with Python.
Project description
Plain
Plain is a web framework for building products with Python.
The core plain
package provides the backbone of a Python web application (similar to Flask), while the additional first-party packages can power a more fully-featured database-backed app (similar to Django).
All Plain packages are designed to work together and use PEP 420 to share the plain
namespace.
To quickly get started with Plain, visit plainframework.com/start/.
Core Modules
The plain
package includes everything you need to start handling web requests with Python:
- assets - Serve static files and assets.
- cli - The
plain
CLI, powered by Click. - csrf - Cross-Site Request Forgery protection.
- forms - HTML forms and form validation.
- http - HTTP request and response handling.
- logs - Logging configuration and utilities.
- preflight - Preflight checks for your app.
- runtime - Runtime settings and configuration.
- templates - Jinja2 templates and rendering.
- test - Test utilities and fixtures.
- urls - URL routing and request dispatching.
- views - Class-based views and request handlers.
Foundational Packages
- plain.models - Define and interact with your database models.
- plain.cache - A database-driven general purpose cache.
- plain.email - Send emails with SMTP or custom backends.
- plain.sessions - User sessions and cookies.
- plain.worker - Background jobs stored in the database.
- plain.api - Build APIs with Plain views.
Auth Packages
- plain.auth - User authentication and authorization.
- plain.oauth - OAuth authentication and API access.
- plain.passwords - Password-based login and registration.
- plain.loginlink - Login links for passwordless authentication.
Admin Packages
- plain.admin - An admin interface for back-office tasks.
- plain.flags - Feature flags.
- plain.support - Customer support forms.
- plain.redirection - Redirects managed in the database.
- plain.pageviews - Basic self-hosted page view tracking and reporting.
Dev Packages
- plain.dev - A single command for local development.
- plain.pytest - Pytest fixtures and helpers.
- plain.code - Code formatting and linting.
- plain.tunnel - Expose your local server to the internet.
Frontend Packages
- plain.tailwind - Tailwind CSS integration without Node.js.
- plain.htmx - HTMX integrated into views and templates.
- plain.elements - Server-side HTML components.
- plain.pages - Static pages with Markdown and Jinja2.
- plain.esbuild - Simple JavaScript bundling and minification.
- plain.vendor - Vendor JavaScript and CSS libraries.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file plain-0.49.0.tar.gz
.
File metadata
- Download URL: plain-0.49.0.tar.gz
- Upload date:
- Size: 159.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
a3be7345139512e5dd7b3c9049173adaedc79b620e136c15c0d497402b72d6f1
|
|
MD5 |
8e6eb1df57839007f71a12a17d9aa2e3
|
|
BLAKE2b-256 |
ca18206d52a27d3aff1d58d129e148dfe6976ef9af85e586020181b75e3813ef
|
File details
Details for the file plain-0.49.0-py3-none-any.whl
.
File metadata
- Download URL: plain-0.49.0-py3-none-any.whl
- Upload date:
- Size: 207.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
2573b88faec1ee5f5f28ddd8393d40b2e66df1a31df705e76bc55916b239e283
|
|
MD5 |
bde4fff15652e96a6d8922e6895a270d
|
|
BLAKE2b-256 |
80363d45ae1eb6847dfaa70b74099d9fe15eaa531987ca753268cb53048e70b2
|