Skip to main content

Flask on steroids

Project description

Flaskteroids

Flaskteroids: A complete, batteries-included Python MVC framework inspired by Ruby on Rails.

Build Status PyPI Version Python Versions License


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:

  1. Generate a Post scaffold: This command will create the model, controller, views, and database migration for a Post resource with title and content fields.

    flask generate scaffold Post title:string content:text
    
  2. Run the database migration: Apply the changes to your database schema.

    flask db:migrate
    
  3. 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

flaskteroids-0.1.6.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flaskteroids-0.1.6-py3-none-any.whl (59.6 kB view details)

Uploaded Python 3

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

Hashes for flaskteroids-0.1.6.tar.gz
Algorithm Hash digest
SHA256 fd51c4cdeadaeeafadc48cc8c4efaa1a66e3e990a26845aae6c02281d3facf53
MD5 6bf80b38213856b2e45a21949e1536fe
BLAKE2b-256 a43cab4e93fe987962c8810caa82e03bb05a69ef2c898a55791afac0a90db2f2

See more details on using hashes here.

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

Hashes for flaskteroids-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1924c1d869e6c3e84d9d20954dc1b0d971b0987e5ef155fbf963b428b9155001
MD5 2398502e81c6b4b792b28dcc72ac7d6b
BLAKE2b-256 e33b117a82565e238e14a19cb6f663c61180a88de39d1ac44794b331288fc4c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page