F
FasORM
v0.1.0

Installation & Configuration

Learn how to install FasORM, configure database connections, and set up your project environment.

System Requirements

FasORM requires Python 3.10+. It uses modern type annotations and SQLAlchemy 2.0's async engine.

Installing via Pip

Install the core FasORM package from PyPI:

Bash
pip install fasorm

Database Extras

FasORM supports PostgreSQL, MySQL, and SQLite. Install driver extras according to your target database:

Database Install Extra Command Driver Dependencies
PostgreSQL pip install fasorm[pg] asyncpg, psycopg2-binary
SQLite pip install fasorm[sqlite] aiosqlite
All Drivers pip install fasorm[all] asyncpg, psycopg2-binary, aiosqlite

Project Initialization

Initialize a new FasORM project in your repository using the CLI:

Terminal
fasorm init

This command automatically scaffolds the standard directory layout:

Directory Structure
app/
  models/        # Model definitions
  migrations/    # Database migration files
  seeders/       # Seeder files
.env             # Environment variables (DB_URL)
fasorm.config.py # Configuration file

Environment Configuration

Set your database connection URL inside your .env file:

.env
# PostgreSQL Example
DB_URL=postgresql+asyncpg://postgres:secret@localhost:5432/my_app_db

# SQLite Example
# DB_URL=sqlite+aiosqlite:///app.db
Tip: Async Protocol Specs
Always specify an async protocol in your URL, e.g. postgresql+asyncpg:// for PostgreSQL or sqlite+aiosqlite:/// for SQLite.

Connecting in Your Code

Initialize the database connection using init_db() before making database calls (for example, in your application startup handler):

main.py
import os
from fasorm import init_db
from dotenv import load_dotenv

load_dotenv()

# Initialize global ConnectionManager
init_db(os.getenv("DB_URL"))