Flask on steroids
Project description
Flaskteroids
Flaskteroids: A complete, batteries-included Python MVC framework inspired by Ruby on Rails.
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. By supercharging Flask with Rails-inspired conventions and structure, Flaskteroids enables developers to build full-featured web applications with unprecedented speed and elegance.
Our mission is to bring the proven productivity and developer happiness of Rails to the Python ecosystem, offering 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, just like Rails.
- 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 — inspired by Rails generators.
- Flask Compatibility: Retains the full power of Flask and its rich ecosystem while adding Rails-like productivity.
- Convention Over Configuration: Sensible defaults and automatic discovery reduce boilerplate code.
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://1227.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
License
Flaskteroids is open-source and released under the MIT License.
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flaskteroids-0.1.6.tar.gz.
File metadata
- Download URL: flaskteroids-0.1.6.tar.gz
- Upload date:
- Size: 43.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd51c4cdeadaeeafadc48cc8c4efaa1a66e3e990a26845aae6c02281d3facf53
|
|
| MD5 |
6bf80b38213856b2e45a21949e1536fe
|
|
| BLAKE2b-256 |
a43cab4e93fe987962c8810caa82e03bb05a69ef2c898a55791afac0a90db2f2
|
File details
Details for the file flaskteroids-0.1.6-py3-none-any.whl.
File metadata
- Download URL: flaskteroids-0.1.6-py3-none-any.whl
- Upload date:
- Size: 59.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1924c1d869e6c3e84d9d20954dc1b0d971b0987e5ef155fbf963b428b9155001
|
|
| MD5 |
2398502e81c6b4b792b28dcc72ac7d6b
|
|
| BLAKE2b-256 |
e33b117a82565e238e14a19cb6f663c61180a88de39d1ac44794b331288fc4c5
|