Asynchronous Python ODM for MongoDB
Project description
Beanie - is an Asynchronous Python 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():
# Crete Motor client
client = motor.motor_asyncio.AsyncIOMotorClient(
"mongodb://user:pass@host:27017"
)
# Init beanie with the Note document class
await init_beanie(database=client.db_name, document_models=[Note])
# Get all the notes
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
Example Projects
- FastAPI Demo - Beanie and FastAPI collaboration demonstration. CRUD and Aggregation.
- Indexes Demo - Regular and Geo Indexes usage example wrapped to a microservice.
Articles
- Announcing Beanie - MongoDB ODM
- Build a Cocktail API with Beanie and MongoDB
- MongoDB indexes with Beanie
Resources
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.1.tar.gz
(17.8 kB
view hashes)
Built Distribution
beanie-0.4.1-py3-none-any.whl
(25.8 kB
view hashes)