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.


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.

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.3.1.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

orm-0.3.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file orm-0.3.1.tar.gz.

File metadata

  • Download URL: orm-0.3.1.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.2.0 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for orm-0.3.1.tar.gz
Algorithm Hash digest
SHA256 5b41cccdd55d50f90d207f9cb66a379e6d0fefbae434af7992fddea9aa74572a
MD5 2767b6f9847d35f141b8169cf7987e3a
BLAKE2b-256 e319be5a59955678c6e553b59e64accd81ebeb1082d377fbf253bc0ce8b6a75e

See more details on using hashes here.

File details

Details for the file orm-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: orm-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.2.0 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for orm-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c29342006ecea111b7d3f4b77a96d5b658e495466050f4e98a5efc623aaada25
MD5 44163aaf68dd1177d467ade5d1c724bd
BLAKE2b-256 0cd868932570e09b99e0e8e28f0ffa79294a80127704d635cb500462f7e6ab9e

See more details on using hashes here.

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