Flaskteroids
Flaskteroids: A complete, batteries-included Python MVC framework.
Flaskteroids (or Flask on Steroids) is a lightweight yet powerful Python MVC framework designed to provide the closest possible experience to developing web applications in Ruby on Rails, in the Python world. Flaskteroids uses Rails 8 as its reference implementation for conventions, framework boundaries, and developer experience while expressing those conventions through Python and Flask.
Our mission is to bring exceptional productivity and developer happiness to the Python ecosystem through a batteries-included framework that emphasizes convention over configuration. This means you can focus on building great applications rather than boilerplate code, while maintaining the full power of Flask and its rich ecosystem.
Flaskteroids stays lean, fast, and secure by carefully selecting core dependencies and providing everything you need out of the box — from database management to background jobs — without unnecessary complexity.
Features
- Full MVC Architecture: Clean separation of concerns with Models, Views, and Controllers.
- Elegant Routing: Intuitive and resourceful routing that automatically generates RESTful routes for your resources.
- Built-in ORM: Seamless integration with SQLAlchemy and Alembic for database management and migrations.
- Background Jobs: Integrated with Celery for easy background job processing.
- RESTful by Design: Quickly build API routes with automatic JSON responses for data-oriented actions.
- Powerful CLI: A rich set of commands for generating models, controllers, mailers, scaffolds, and more.
- Flask Compatibility: Retains the full power of Flask and its rich ecosystem while adding an integrated application framework.
- Convention Over Configuration: Sensible defaults and automatic discovery reduce boilerplate code.
- Application Configuration: Environment settings,
database.yml, encrypted credentials, and initializers are integrated by default. - Rails-style Testing: Transactional tests, YAML fixtures, generated tests, job and mail assertions, and browser system tests powered by pytest.
Installation
To get started, install the Flaskteroids package using pip:
pip install flaskteroids
Getting Started
1. Creating a New App
Create a new Flaskteroids application using the flaskteroids new command:
flaskteroids new my_app
cd my_app
This creates a new directory called my_app with a standard application structure.
2. Running the Server
To start the development server, run:
flask run
Now, open your browser and navigate to http://127.0.0.1:5000.
You should see the Flaskteroids welcome page!
Your First Feature: A Blog
Let's create a simple blog to see the power of scaffolding.
Inside your my_app follow the next steps:
-
Generate a Post scaffold: This command will create the model, controller, views, and database migration for a
Postresource withtitleandcontentfields.flask generate scaffold Post title:string content:text
-
Run the database migration: Apply the changes to your database schema.
flask db:migrate -
Start the server:
flask run
Now, visit http://127.0.0.1:5000/posts in your browser.
You have a complete set of pages to create, view, update, and delete posts.
For more check out the documentation
Releasing
Maintainers: see the release guide for the automated release PR and PyPI publishing process.
License
Flaskteroids is open-source and released under the MIT License.
Metadata
Release files for flaskteroids 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flaskteroids-0.2.0.tar.gz | 71.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flaskteroids-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 157.2 kB
Release files / flaskteroids-0.2.0.tar.gz
| Download URL | flaskteroids-0.2.0.tar.gz |
|---|---|
| Size | 71.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0713d7b32b79e4ec3183541d2dc078a96d103e3fb082bd54fc3f09a8b7f90e21
|
|
BLAKE2b-256 checksum How to use checksums |
dbb3d7e56edc1a01ff98b2f172f965b0cedd07c1529a424b01562662197edf4d
|
| 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 10, 2026.
Transparency logRelease files / flaskteroids-0.2.0-py3-none-any.whl
| Download URL | flaskteroids-0.2.0-py3-none-any.whl |
|---|---|
| Size | 85.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
acb0b8acfdb8552bd8e8de82796d3d714837c394de8430da7bb0db52841b82e3
|
|
BLAKE2b-256 checksum How to use checksums |
60075e2c60b3bf683c4d75ae8bfd32c71bb5c822e4aa93a31de16bc6fc5d2f7d
|
| 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 10, 2026.
Transparency log