A easy-to-use asynchronous ORM framework
Project description
aiomyorm is a simple and easy-to-use ORM framework, which has a similar interface to Django and fully supports asyncio.
Features
- Perfect support for asyncio and uvloop.
- Simple and easy to use API, similar to Django.
- Support mysql and SQLite.
Installation
pip install aiomyorm
Getting Started
from aiomyorm import Model, IntField, StringField, SmallIntField, auto_increment
from aiomyorm import set_config, close_db_connection
import asyncio
set_config(engine='sqlite',
db='test.db')
class Test(Model):
__table__ = 'test'
pk = IntField(primary_key=True, default=auto_increment())
id = StringField(50)
age = IntField(comment='the age of student.')
birth_place = StringField(50, default='china')
grade = SmallIntField()
async def go():
insert_rows = await Test.insert(Test(pk=5000, age=18, birth_place='place1'),
Test(pk=5001, age=21, birth_place='place2'),
Test(pk=5002, age=19, birth_place='place3'))
all = await Test.find()
print('insert rows: ', insert_rows)
for r in all:
print(r)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(Test.create_table())
loop.run_until_complete(go())
loop.run_until_complete(close_db_connection())
the results
to create table test.
insert rows: 3
pk:5000, id:, age:18, birth_place:place1, grade:0
pk:5001, id:, age:21, birth_place:place2, grade:0
pk:5002, id:, age:19, birth_place:place3, grade:0
more use see the document: aiomyorm
Dependencies
Tests
I have a simple test for you.
It's better for you to test in a venv.
first
git clone git@github.com:yulansp/aiomyorm.git
then
pip install -r requirements.txt
Recipe you must install MySQL and configure the user name and password
in the tests/test_mysql/config.py file.
then
make test
License
MIT
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiomyorm-0.2.2.tar.gz.
File metadata
- Download URL: aiomyorm-0.2.2.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa6af358bea2584e304198ece5f87f1144e814e650b7adcd34437703c54b2d3a
|
|
| MD5 |
ce59ec1e0c6d8f02fdb9878ed84f5f79
|
|
| BLAKE2b-256 |
af9ed2b1d555d013f4af02e8c0b67a11414d9d753f98d4bf8110d2c925061177
|
File details
Details for the file aiomyorm-0.2.2-py3-none-any.whl.
File metadata
- Download URL: aiomyorm-0.2.2-py3-none-any.whl
- Upload date:
- Size: 30.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cecb58e4c8725624b1376e0ca03cd19d8906aa500fc514bf20c032fde3588cff
|
|
| MD5 |
904cf261282c9dc765a7f31c95423d49
|
|
| BLAKE2b-256 |
27ef1adaa42910162235f3116d4be0e68db2e6d2bd07dc9ff6232c272d968cfd
|