DuckORM is package is an asynchronous ORM for Python
Project description
Duck ORM
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
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)
# creation of the table in the database.
await Person.create()
- The
__tablename__
attribute is used to define the name of the table 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 creation of the table in the database.
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-0.1.0.tar.gz
(10.7 kB
view hashes)
Built Distribution
duck_orm-0.1.0-py3-none-any.whl
(12.2 kB
view hashes)