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"))