Asynchronous Python ODM for MongoDB
Project description
Beanie - is an asynchronous ODM for MongoDB, based on Motor and Pydantic.
It uses an abstraction over Pydantic models and Motor collections to work with the database. Class Document allows to create, replace, update, get, find and aggregate.
Beanie supports migrations out of the box.
Installation
PIP
pip install beanie
Poetry
poetry add beanie
Quick Start
from typing import Optional, List
import motor
from beanie import Document, init_beanie
from pydantic import BaseModel
class Tag(BaseModel):
name: str
color: str
class Note(Document):
title: str
text: Optional[str]
tag_list: List[Tag] = []
async def main():
client = motor.motor_asyncio.AsyncIOMotorClient(
"mongodb://user:pass@host:27017"
)
await init_beanie(database=client.db_name, document_models=[Note])
all_notes = await Note.find_all().to_list()
Materials
ODM
- Tutorial - ODM usage examples
- Documentation - Full list of the ODM classes and methods with descriptions
Migrations
- Tutorial - Migrations usage examples
Resources
- GitHub - GitHub page of the project
- Changelog - list of all the valuable changes
- Discord - ask your questions, share ideas or just say
Hello!!
Articles
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
beanie-0.4.0.tar.gz
(17.2 kB
view hashes)
Built Distribution
beanie-0.4.0-py3-none-any.whl
(25.4 kB
view hashes)