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.
Metadata
Release files for orm 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| orm-0.3.1.tar.gz | 10.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| orm-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.2 kB
Release files / orm-0.3.1.tar.gz
| Download URL | orm-0.3.1.tar.gz |
|---|---|
| Size | 10.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b41cccdd55d50f90d207f9cb66a379e6d0fefbae434af7992fddea9aa74572a
|
|
BLAKE2b-256 checksum How to use checksums |
e319be5a59955678c6e553b59e64accd81ebeb1082d377fbf253bc0ce8b6a75e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / orm-0.3.1-py3-none-any.whl
| Download URL | orm-0.3.1-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c29342006ecea111b7d3f4b77a96d5b658e495466050f4e98a5efc623aaada25
|
|
BLAKE2b-256 checksum How to use checksums |
0cd868932570e09b99e0e8e28f0ffa79294a80127704d635cb500462f7e6ab9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|