A Python-native async ORM built on SQLAlchemy core with a familiar Django-like interface.
Saffier is a Python async Object-Relational Mapper (ORM) built on top of SQLAlchemy core, designed to simplify database interactions with a familiar, Django-like interface. It provides an async-first solution for mapping object-oriented programs to relational databases while maintaining flexibility and performance. The ORM bridges the gap between async Python applications and traditional database workflows.
Python developers building async web applications with ASGI frameworks like FastAPI, Starlette, or Esmerald who need a robust, async-capable ORM. Teams looking for a Django-like ORM experience without the Django framework overhead.
Developers choose Saffier for its async-native design combined with a familiar, ergonomic API that reduces learning curves. It offers a direct SQLAlchemy-core-powered workflow without forcing a Pydantic-centric architecture, making it lightweight and framework-agnostic while including powerful features like multi-tenancy and built-in migrations.
The only ORM that you will ever need for python.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built from the ground up for asynchronous Python, enabling efficient non-blocking database operations essential for modern ASGI frameworks like FastAPI, as highlighted in the key features.
Offers a Django-like API with model inheritance, Meta classes, and managers, reducing the learning curve for developers experienced with Django's ORM, as stated in the philosophy.
Compatible with any ASGI framework via a simple pluggable design, ensuring it doesn't lock you into a specific ecosystem and works seamlessly with Starlette or Esmerald.
Leverages Alembic for migrations but provides a more pleasant and easier interface, simplifying database schema changes without manual configuration headaches.
Only supports OneToOne and ForeignKey relationships out of the box, lacking native many-to-many relationships which are common in complex data models, as inferred from the features list.
As a newer ORM, it has a smaller community and fewer third-party tools or integrations compared to established options like Django ORM or SQLAlchemy ORM, which can slow down development.
Intentionally minimal in validation concerns, requiring additional Pydantic models or custom code for comprehensive data validation, which might add complexity for validation-heavy applications.