Async ORM based on PyPika
Project description
PyPika-ORM - ORM for PyPika SQL Query Builder
The package gives you ORM for PyPika with asycio support for a range of databases (SQLite, PostgreSQL, MySQL).
Warning
The project is in early pre-alpha state and not ready for production
Requirements
- python >= 3.7
Installation
pypyka-orm should be installed using pip:
$ pip install pypika-orm
You can install the required database drivers with:
$ pip install pypika-orm[sqlite]
$ pip install pypika-orm[postgresql]
$ pip install pypika-orm[mysql]
Usage
from pypika_orm import Model, fields
class Role(Model):
id = fields.Auto()
name = fields.Varchar(max_length=100, default='user')
class User(Model):
id = fields.Auto()
name = fields.Varchar()
is_active = fields.Bool(default=True, null=False)
role_id = fields.ForeignKey(Role.id)
from pypika_orm import Manager
async with Manager('sqlite:///:memory:') as manager:
await manager(Role).create_table().if_not_exists().execute()
await manager(User).create_table().if_not_exists().execute()
await manager(Role).insert(name='user').execute()
await manager(User).insert(name='jim', role_id=1).execute()
[user] = await manager(User).select().fetchall()
assert user
Bug tracker
If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/aio-databases/issues
Contributing
Development of the project happens at: https://github.com/klen/aio-databases
License
Licensed under a MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pypika-orm-0.0.9.tar.gz
(7.6 kB
view hashes)
Built Distribution
Close
Hashes for pypika_orm-0.0.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c0fbda0d8ca4bd85faf1dac3b2caed9822ffa65a40cc2af29c6e8c81cb1fe6b |
|
MD5 | 2984d0618f90cf1e06f232d47b5b0298 |
|
BLAKE2b-256 | 5ecb94152547676303f080d7715a7e1680d509f888f844ba3a913e4d9e88a989 |