Skip to content

autoinvent/magql-sqlalchemy

Repository files navigation

Magql-SQLAlchemy

Magql is a GraphQL framework for Python. It's pronounced "magical", and it is! This extension allows generating a complete API from SQLAlchemy database models. After the schema is generated, it can be modified to add, remove, or change any behavior. Here's some of the features Magql-SQLAlchemy provides:

  • item and list queries, and create, update, and delete mutations for each model.
  • Database queries are efficient, using SQLAlchemy's relationship loading techniques to eagerly load relationships that are present anywhere in the operation structure.
  • The list query can be filtered using multiple rules. Attributes can be filtered across relationships. Rules can be grouped and joined using AND and OR. Lists can be sorted by any column and paginated.
  • The create mutation recognizes null and default column values. The update mutation allows updating any field independently.
  • The create and update mutations validate unique constraints.
  • A universal search query to search all string columns of all models.
  • A check_delete query to check the effects of deleting a row before doing so.

About

Generate a Magql GraphQL API from SQLAlchemy models.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages