A Python ORM built on SQLAlchemy core with Pydantic integration for automatic validation and high performance.
Edgy is a modern Python Object-Relational Mapper (ORM) built on SQLAlchemy core and fully integrated with Pydantic for automatic data validation and serialization. It simplifies database interactions with a familiar interface similar to Django ORM while offering enhanced flexibility and performance for complex database structures. It is designed to work seamlessly with ASGI frameworks like FastAPI, Starlette, Sanic, and Quart.
Python developers building database-driven applications with ASGI frameworks who need automatic validation, complex model relationships, and multi-tenancy support. It is particularly suited for those familiar with Django ORM or Pydantic looking for a high-performance, flexible alternative.
Developers choose Edgy for its deep Pydantic integration, which provides automatic validation and serialization out of the box without needing separate schemas. Its unique selling point is combining the robustness and performance of SQLAlchemy core with a Django-like query API and built-in features like multi-tenancy and native migrations powered by Alembic.
🔥 The perfect ORM to work with complex databases 🔥
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Models are 100% Pydantic, providing automatic validation and serialization out of the box without separate schemas, as emphasized in the Motivation section for reducing boilerplate.
Offers a familiar interface with operators like get, bulk_create, and values_list, plus relationship support (OneToOne, ForeignKey, ManyToMany), making it easy for Django developers to adopt.
Includes ready-to-use solutions for multi-tenant database architectures, a complex feature handled natively without custom implementations.
As a newer fork from Saffier, it has a smaller community and fewer third-party integrations compared to established ORMs like Django ORM or SQLAlchemy, which could affect long-term support.
Automatic validation on every database operation can introduce unnecessary overhead in high-throughput scenarios where validation is redundant or handled elsewhere.
Requires explicit configuration with Registry and Database instances, which might be overkill for straightforward applications compared to lighter ORMs with zero-config options.