Asynchronous ODM (Object Document Mapper) for MongoDB
Project description
bilu
Asynchronous ODM (Object Document Mapper) for MongoDB
Requirements
Python: 3.6 and later (tested against 3.6, 3.7, 3.8 and 3.9)
MongoDB: 4.0 and later
pydantic: 1.8.2 and later
Two direct dependencies:
-
pydantic: makes data validation and schema definition both handy and elegant.
-
motor: an asyncio MongoDB driver officially developed by the MongoDB team.
Installation
pip install Bilu
Environments
export MONGODB_URI='mongodb://localhost:27017'
export MONGODB_USERNAME=''
export MONGODB_PASSWORD=''
export MONGODB_DATABASE='test'
export MONGODB_MIN_POOL_SIZE=0
export MONGODB_MAX_POOL_SIZE=100
Example
Connecting to mongodb
from bilu.database import db_manager
db_manager.connect()
Define model
from bilu.model import BaseModel
class TesteModel(BaseModel):
attr_str: str
attr_int: int
class Meta:
name = 'testemodel'
Creating a document
data = {
'attr_str': 'bla',
'attr_int': 123
}
model = TesteModel(**data)
await model.save()
Listing documents
await model.documents.list(attr_int=123)
Getting a document
item = await model.documents.get(attr_int=123)
Removing a document
await item.delete()
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 Distributions
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 Bilu-0.0.3-py3-none-any.whl.
File metadata
- Download URL: Bilu-0.0.3-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
570891924bbdfb6cfa2862b277cbf63ebfbfe022b61409f227893b4d9ca89889
|
|
| MD5 |
95b26369090cfdd69558f462b4444337
|
|
| BLAKE2b-256 |
92e9bc2591ce5306542d0c4b64aac4cdf6375b94fbe8876e6ff55c97273ae617
|