Skip to main content

An async ORM.

Project description

ORM

Build Status Coverage Package version

The orm package is an async ORM for Python, with support for Postgres, MySQL, and SQLite. ORM is built with:

Because ORM is built on SQLAlchemy core, you can use Alembic to provide database migrations.

ORM is still under development: We recommend pinning any dependencies with orm~=0.1


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. Note that if you are using any synchronous SQLAlchemy functions such as engine.create_all() or alembic migrations then you still have to install a synchronous DB driver: psycopg2 for PostgreSQL and pymysql for MySQL.


Quickstart

Note: Use ipython to try this from the console, since it supports await.

import databases
import orm
import sqlalchemy

database = databases.Database("sqlite:///db.sqlite")
metadata = sqlalchemy.MetaData()


class Note(orm.Model):
    __tablename__ = "notes"
    __database__ = database
    __metadata__ = metadata
    id = orm.Integer(primary_key=True)
    text = orm.String(max_length=100)
    completed = orm.Boolean(default=False)

# Create the database and tables
engine = sqlalchemy.create_engine(str(database.url))
metadata.create_all(engine)

await Note.objects.create(text="Buy the groceries.", completed=False)

note = await Note.objects.get(id=1)
print(note)
# Note(id=1, text="Buy the groceries.", completed=False)

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

orm-0.1.9.tar.gz (9.1 kB view hashes)

Uploaded Source

Built Distribution

orm-0.1.9-py3-none-any.whl (10.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page