Socket
Socket
Sign inDemoInstall

duck-orm

Package Overview
Dependencies
2
Maintainers
1
Alerts
File Explorer

Install Socket

Protect your apps from supply chain attacks

Install

duck-orm

ORM Async for Python

    1.0.2

Maintainers
1

Readme

DuckORM

The Duck-ORM package is an asynchronous ORM for Python, with support for Postgres and SQLite. ORM is built with:

  • databases

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

License

DuckORM is built as an open-source tool and remains completely free(MIT license).

Keywords

FAQs


Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc