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.6.tar.gz (91.9 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.6-py3-none-any.whl (96.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flaskion_cli-1.0.9.6.tar.gz
  • Upload date:
  • Size: 91.9 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.6.tar.gz
Algorithm Hash digest
SHA256 818aa9eb0c5c081bec187c21b554febff0e0c3bbcd3d6a5b7448b302b3e4fb0f
MD5 f91923386810fd33bfb25fbf9c857020
BLAKE2b-256 53825d506fd983f3e67045752dbf98e57bb543d856327d7189ba691f8fc3872f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flaskion_cli-1.0.9.6-py3-none-any.whl
  • Upload date:
  • Size: 96.4 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1715cd188e8a09dabe90565a2660f356defc5d6c663c69b7a1bed15d00c99ce1
MD5 382c3ea6d9b6ca8f379640488cfe1e46
BLAKE2b-256 57a648ef1d387caf3e591f5cfd6041c1fa3392c6de59c9024a41ccfd8659ff4a

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