Complex databases made it simple


import edgy

database = edgy.Database("sqlite:///db.sqlite")
registry = edgy.Registry(database=database)

class User(edgy.Model):
    id: int = edgy.IntegerField(primary_key=True)
    name: str = edgy.CharField(max_length=255)
    email: str = edgy.CharField(max_length=100)
    username: str = edgy.CharField(max_length=50)

    class Meta:
        registry = registry

Simple

With clear syntax, declaring models was never so easy.

Intuitive

100% Pydantic allowig you to take advantage of validations.

Friendly

With familiar interface built on the top of SQLAlchemy core.

Complexity removed to increase productivity

Although built on the top of SQLAlchemy core, Edgy with its familair and friendly interface makes it easy and pleasant to work with.

Default queryset interface facilitating your database operations.

Connect to existing databases and schemas without the need of managing migrations.

From simple queries to complex ManyToMany.

Listen to any event triggered by a model operation.

Connect to different databases or create schemas with ease.

Internal migration system built on the top of SQLAlchemy.

Do you want to join?

Edgy is open source and free to use but also needs enthusiastic people willing to help by contributing in any way, so you will be always welcomed to join.