{"library":"odmantic","title":"ODMantic","description":"ODMantic is an async ODM (Object Document Mapper) for MongoDB, based on Pydantic and Motor. It leverages Python type hints to define models and provides a clean asynchronous API. Current version is 1.1.0, with active development and quarterly releases.","language":"python","status":"active","last_verified":"Fri May 01","install":{"commands":["pip install odmantic"],"cli":null},"imports":["from odmantic import Model","from odmantic import Field","from odmantic import ObjectId"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import asyncio\nfrom odmantic import AIOEngine, Model, Field\nfrom motor.motor_asyncio import AsyncIOMotorClient\n\nclass Player(Model):\n    name: str\n    level: int = Field(default=1)\n\nasync def run():\n    client = AsyncIOMotorClient(os.environ.get('MONGODB_URI', 'mongodb://localhost:27017'))\n    engine = AIOEngine(motor_client=client, database='test')\n    player = Player(name='Alice', level=5)\n    await engine.save(player)\n    print(f\"Saved player with id: {player.id}\")\n    found = await engine.find_one(Player, Player.name == 'Alice')\n    print(found)\n    client.close()\n\nasyncio.run(run())","lang":"python","description":"Creates a Player model, saves an instance to MongoDB, and retrieves it.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}