An async ORM. 🗃
ormasyncpythondatabase
Métricas clave
Crecimiento de estrellas
Estrellas
1.9k
Forks
95
Crecimiento semanal
+0
Issues
17
5001k1.5k
mar 2019jun 2020sept 2021dic 2022abr 2024jul 2025oct 2026
ArtefactosPyPI
README
ORM
The orm package is an async ORM for Python, with support for Postgres,
MySQL, and SQLite. ORM is built with:
- SQLAlchemy core for query building.
databasesfor cross-database async support.typesystemfor data validation.
Because ORM is built on SQLAlchemy core, you can use Alembic to provide database migrations.
Documentation: https://www.encode.io/orm
Installation
$ pip install orm
You can install the required database drivers with:
$ pip install orm[postgresql]
$ pip install orm[mysql]
$ pip install orm[sqlite]
Driver support is provided using one of asyncpg, aiomysql, or aiosqlite.
Quickstart
Note: Use ipython to try this from the console, since it supports await.
import databases
import orm
database = databases.Database("sqlite:///db.sqlite")
models = orm.ModelRegistry(database=database)
class Note(orm.Model):
tablename = "notes"
registry = models
fields = {
"id": orm.Integer(primary_key=True),
"text": orm.String(max_length=100),
"completed": orm.Boolean(default=False),
}
# Create the tables
await models.create_all()
await Note.objects.create(text="Buy the groceries.", completed=False)
note = await Note.objects.get(id=1)
print(note)
# Note(id=1)
— 🗃 —
ORM is BSD licensed code. Designed & built in Brighton, England.