ORM Async for Python
Project description
DuckORM
The Duck-ORM
package is an asynchronous ORM for Python, with support for Postgres and SQLite. ORM is built with:
Requirements: Python 3.8+
Duck-ORM is still under development.
Installation
$ pip install duck-orm
!!! note
Don't forget to install databases
before installing duck-orm
.
Quickstart
For this example we will create a connection to the SQLite database and create a model.
$ pip install databases[sqlite]
$ pip install ipython
Note that we want to use ipython
here, because it supports using await expressions directly from the console.
Creating the connection to the SQLite database:
from databases import Database
from duck_orm.model import Model
db = Database('sqlite:///example.db')
await db.connect()
Defining a model:
from duck_orm.sql import fields as Field
class Person(Model):
__tablename__ = 'persons'
__db__ = db
id: int = Field.Integer(primary_key=True, auto_increment=True)
first_name: str = Field.String(unique=True)
last_name: str = Field.String(not_null=True)
age: int = Field.BigInteger(min_value=18)
# Table creation in the database.
await Person.create()
- The
__tablename__
attribute is used to define the table's name in the database. - The
__db__
attribute is the instance of the database connection. - And then the definition of the fields, their types and restrictions.
- And finally, the table creation in the database.
Author
- Rich Ramalho - @richecr - @richzinho_ecr
License
DuckORM
is built as an open-source tool and remains completely free(MIT license).
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
duck_orm-1.0.2.tar.gz
(11.8 kB
view hashes)
Built Distribution
duck_orm-1.0.2-py3-none-any.whl
(15.1 kB
view hashes)