Logo

0x5a.live

for different kinds of informations and explorations.

GitHub - encode/orm: An async ORM. 🗃

An async ORM. 🗃. Contribute to encode/orm development by creating an account on GitHub.

Visit SiteGitHub - encode/orm: An async ORM. 🗃

GitHub - encode/orm: An async ORM. 🗃

An async ORM. 🗃. Contribute to encode/orm development by creating an account on GitHub.

Powered by 0x5a.live 💗

ORM

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.


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)

Python Resources

are all listed below.

Resources

listed to get explored on!!

Made with ❤️

to provide different kinds of informations and resources.