Skip to main content

A CLI tool for Flaskion โ€” a lightweight MVC micro-framework built on Flask

Project description

Flaskion

Flaskion is a lightweight MVC micro-framework for Flask, providing developers with a structured foundation for scalable, maintainable applications. Inspired by Laravel, Flaskion introduces clean architecture, modular scaffolding, and a developer-first CLI to streamline your Flask workflow.


๐Ÿš€ Features

โœ… MVC Architecture โ€“ Clean separation of controllers, models, and templates
โœ… Built-in CLI โ€“ Scaffold full resources, controllers, models, and authentication with ease
โœ… Web & API Routing โ€“ Clean route structure split between HTML and JSON endpoints
โœ… DB Choice at Setup โ€“ Use SQLite, MySQL, or Postgres with built-in .env generation
โœ… Flask-Migrate Ready โ€“ Migrations are set up and ready to run on first build
โœ… Authentication Scaffolding โ€“ Generate full auth (login/register/logout/dashboard) with one command


๐Ÿ“ Project Structure

flaskion/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ __init__.py           # Application factory
โ”‚   โ”œโ”€โ”€ routes/               # Web + API routes
โ”‚   โ”‚   โ”œโ”€โ”€ web_routes.py
โ”‚   โ”‚   โ””โ”€โ”€ api_routes.py
โ”‚   โ”œโ”€โ”€ controllers/          # View logic
โ”‚   โ”œโ”€โ”€ models/               # SQLAlchemy models
โ”‚   โ”œโ”€โ”€ schemas/              # Marshmallow schemas
โ”‚   โ”œโ”€โ”€ templates/            # Jinja2 templates
โ”‚   โ”œโ”€โ”€ static/               # CSS, JS, images
โ”‚   โ””โ”€โ”€ config.py             # App configuration
โ”œโ”€โ”€ migrations/               # Auto-generated with Flask-Migrate
โ”œโ”€โ”€ run.py                    # Entry point
โ”œโ”€โ”€ requirements.txt          # Dependencies
โ”œโ”€โ”€ .env.example              # Example environment file
โ””โ”€โ”€ README.md                 # This doc

๐Ÿงช Installation & Setup

1. Install the CLI

pipx install flaskion-cli
# or
pip install flaskion-cli

2. Create a New Project

flaskion make:new myproject --db=sqlite     # Or --db=mysql / --db=postgres

3. Enter the project & activate venv

cd myproject
source venv/bin/activate

โš™๏ธ CLI Commands

Command Description
flaskion make:new <name> Create a new project scaffold
flaskion make:model Create a SQLAlchemy model
flaskion make:schema Create a Marshmallow schema
flaskion make:controller Create a controller with CRUD methods
flaskion make:resource Generate model + controller + schema + routes
flaskion make:auth Generate full login/register/logout system

Add --api to make:resource for API route generation instead of web views.


๐Ÿ›ฃ๏ธ Managing Routes

Flaskion separates routes for HTML views and API endpoints:

  • Web Routes: app/routes/web_routes.py
  • API Routes: app/routes/api_routes.py

Both are registered in app/__init__.py:

from app.routes.api_routes import api_routes
from app.routes.web_routes import web_routes

def register_routes(app):
    app.register_blueprint(api_routes)
    app.register_blueprint(web_routes)

๐Ÿงฌ Database Migrations

Flaskion uses Flask-Migrate out of the box:

flask db init
flask db migrate -m "Initial"
flask db upgrade

๐Ÿ” Authentication

Generate full login/register/logout and dashboard flow:

flaskion make:auth
  • HTML templates auto-created under templates/auth/
  • Session-based login using Flask sessions
  • Routes for /login, /register, /dashboard, and /logout

โ–ถ๏ธ Running the App

flask run

Then visit: http://127.0.0.1:5000


๐Ÿ“š Documentation

Coming soon at: https://flaskion.dev (in progress)

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

flaskion_cli-1.0.9.3.tar.gz (91.8 kB view details)

Uploaded Source

Built Distribution

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

flaskion_cli-1.0.9.3-py3-none-any.whl (96.3 kB view details)

Uploaded Python 3

File details

Details for the file flaskion_cli-1.0.9.3.tar.gz.

File metadata

  • Download URL: flaskion_cli-1.0.9.3.tar.gz
  • Upload date:
  • Size: 91.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for flaskion_cli-1.0.9.3.tar.gz
Algorithm Hash digest
SHA256 423dd443b6b8770d194c72268a408cb2de2358a1db56b9dfa7887999b254ee0b
MD5 5fa08a1b47ba25a950d05fc47b54860d
BLAKE2b-256 b5da7b31af0ec1d402c38784d0707501206f08ad0b43401c261167d555abc8b2

See more details on using hashes here.

File details

Details for the file flaskion_cli-1.0.9.3-py3-none-any.whl.

File metadata

  • Download URL: flaskion_cli-1.0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 96.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for flaskion_cli-1.0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 918c4812b280f2d93835e28c2765d51ba10a4d44c25e8f394c68caea80014e2c
MD5 3f1faa04e5cdf32b5717152336587e30
BLAKE2b-256 695699b6d8bd08566bfa839e362cde877b519c49b5861ff97f7df27d82d132ea

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