A fast, user friendly ORM and query builder which supports asyncio. Read the docs.
Some of it’s stand out features are:
- Support for sync and async.
- A builtin playground, which makes learning a breeze.
- Tab completion support - works great with iPython and VSCode.
- Batteries included - a User model, authentication, migrations, an admin GUI, and more.
- Modern Python - fully type annotated.
The syntax is clean and expressive.
# Select:
await Band.select(
Band.name
).where(
Band.popularity > 100
).run()
# Join:
await Band.select(
Band.name,
Band.manager.name
).run()
# Delete:
await Band.delete().where(
(Band.band_members == 0) | (Band.manager.status == 'disabled')
).run()
# Update:
await Band.update({Band.members: 5}).where(
Band.name == 'Pythonistas'
).run()pip install piccolo
Let Piccolo scaffold you an ASGI web app, using Piccolo as the ORM:
piccolo asgi new
Starlette and FastAPI are currently supported.
See Read the docs.