Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/autoinvent/flask-magql
Serve a Magql GraphQL API with Flask.
https://github.com/autoinvent/flask-magql
autoinvent flask flask-magql graphql magql python
Last synced: 23 days ago
JSON representation
Serve a Magql GraphQL API with Flask.
- Host: GitHub
- URL: https://github.com/autoinvent/flask-magql
- Owner: autoinvent
- License: mit
- Created: 2023-07-20T16:57:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-01T16:04:23.000Z (2 months ago)
- Last Synced: 2024-10-01T16:56:01.584Z (about 1 month ago)
- Topics: autoinvent, flask, flask-magql, graphql, magql, python
- Language: Python
- Homepage: https://flask-magql.autoinvent.dev
- Size: 1.02 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# 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.[Magql]: https://magql.autoinvent.dev
[GraphQL]: https://graphql.org
[SQLAlchemy]: https://sqlalchemy.org