Skip to main content

Flaskteroids

A Rails-inspired Python MVC framework built on Flask, SQLAlchemy, and Celery.

Build Status PyPI Version Python Versions License


Flask handles HTTP requests, SQLAlchemy and Alembic handle the database, and Celery runs background jobs.

Models, controllers, and templates live in conventional directories. The framework discovers them without manual registration. Flask APIs and extensions remain available when you need them.

What's included

  • Resource routing with CRUD routes and path helpers.
  • Models with associations, validations, and lifecycle callbacks.
  • Jinja templates, form helpers, and HTML or JSON responses.
  • Generators for models, migrations, controllers, scaffolds, mailers, and authentication.
  • Background jobs and email delivery.
  • File attachments with disk and S3-compatible storage.
  • Environment settings, database.yml, encrypted credentials, and boot-time initializers.
  • Pytest-based transactional tests, YAML fixtures, job and mail assertions, and Playwright browser tests.

Installation

Requires Python 3.12 or newer. Install Flaskteroids in your Python environment:

pip install flaskteroids

Getting started

Create an application. Git, Bash/POSIX, and uv must be installed.

flaskteroids new my_app
cd my_app

Generation installs dependencies, creates the app lock, prepares SQLite and initializes Git. Use bin/setup for fresh checkouts or changed dependencies; --skip-install defers installation/preparation. Commit uv.lock. Start the server without activating an environment:

bin/flask run
bin/flask test
bin/flask test:system

Open http://127.0.0.1:5000 to see the welcome page.

Add a posts resource

Stop the server and run these commands inside my_app:

bin/flask generate scaffold Post title:string content:text
bin/flask db:prepare
bin/flask run

The scaffold generates a model, migration, controller, views, and routes. Visit http://127.0.0.1:5000/posts/ to create, view, edit, and delete posts.

See the documentation for configuration, testing, and the API guides.

Agent skills

Flaskteroids bundles coding guidance for agents with each release. New applications include .agents/skills/using-flaskteroids/SKILL.md, which points agents to instructions for the installed framework version. These instructions require agents to use public Flaskteroids APIs when they cover the task, rather than calling dependency internals.

In your application's Python environment, locate the installed skills with:

flaskteroids agent-skills path

The command prints the absolute skills directory path. Read using-flaskteroids/SKILL.md inside that directory for version-matched guidance. No application configuration or initialization is required.

Development

Use the committed lock and the same check-only commands as CI:

uv sync --locked --dev
uv run ruff check .
uv run ruff format --check .
uv run mypy
uv run playwright install chromium
uv run pytest -q

Ruff uses the Python 3.12 / 88-column policy in pyproject.toml. Mypy checks only declaration records, queue adapters, and a static contract probe, not the whole ORM or generated applications. Raw Mako templates are excluded; generated samples are validated separately and are not promised Ruff-clean. See AGENTS.md for scope and contributor-only fixing commands.

Releasing

See the release guide for release PRs and PyPI publishing.

License

Flaskteroids is released under the MIT License.

Metadata

Release files for flaskteroids 0.5.0

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

Source distribution (sdist)

Source distribution for flaskteroids 0.5.0
File Size Uploaded Provenance
flaskteroids-0.5.0.tar.gz 115.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for flaskteroids 0.5.0
File Interpreter ABI Platform
flaskteroids-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 253.7 kB

Release files / flaskteroids-0.5.0.tar.gz

Download URL flaskteroids-0.5.0.tar.gz
Size 115.4 kB
Tags Source
SHA-256 checksum
How to use checksums
34e339935dfd4c215fbc9c5b642609588296da71264b77bc6122e95938328d49
BLAKE2b-256 checksum
How to use checksums
1b370d5f6d80407555d6a0498ac83fc67ca7c5c4a31e1e968e563e72f94187f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / flaskteroids-0.5.0-py3-none-any.whl

Download URL flaskteroids-0.5.0-py3-none-any.whl
Size 138.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1056bfda82c293db86fe7d5b4931fb5654a5c01c89da25e3ab84668930da18a3
BLAKE2b-256 checksum
How to use checksums
4366661f64c0c9ae56a269e67158628868c7f0575f835b1b4ffba62d9b9e0594
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Security for flaskteroids 0.5.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for flaskteroids-0.5.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

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.

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