A Python library inspired by PostGraphile - automatically generates GraphQL APIs from databases. Currently supports SQLite with plans for additional database support.
Project description
PyGraphile
A Python library inspired by PostGraphile - automatically generates GraphQL APIs from your database schema.
🚧 Project Status
This project is in early development. Currently supporting SQLite with plans to add support for PostgreSQL, MySQL, and other databases in the future.
✨ Features
- 🗄️ Database Introspection: Automatically analyzes your database schema
- 🔄 GraphQL API Generation: Creates a GraphQL API based on your database structure
- 🎯 SQLite Support: Initial support for SQLite databases (more databases coming soon)
- 🐍 Python Native: Built for Python with modern best practices
- 📦 Easy to Use: Simple setup and configuration
🚀 Installation
Using pip
pip install pygraphile
Using uv
uv pip install pygraphile
From source
git clone https://github.com/dshaw0004/pygraphile.git
cd pygraphile
uv pip install -e .
📖 Quick Start
from pygraphile import Pygraphile
# Coming soon! Basic usage example will be:
# api = Pygraphile('path/to/database.db')
# api.serve()
🗺️ Roadmap
- Project setup and structure
- SQLite schema introspection
- GraphQL schema generation
- Query resolver implementation
- Mutation support
- PostgreSQL support
- MySQL support
- Advanced filtering and pagination
- Authentication and authorization
- Plugin system
🤝 Contributing
Contributions are welcome! This project is in early stages, so there's plenty of opportunity to shape its direction.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Inspired by PostGraphile - An amazing tool for PostgreSQL
- Built with modern Python tooling including uv
📬 Contact
- GitHub: @dshaw0004
- Project Link: https://github.com/dshaw0004/pygraphile
Note: This project is under active development. APIs and features are subject to change.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pygraphile-0.1.0.tar.gz.
File metadata
- Download URL: pygraphile-0.1.0.tar.gz
- Upload date:
- Size: 39.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f3eaf3cf7faabbcdd7f17896132e0524d618a9cee1c61cbabf17be3cb1a6373
|
|
| MD5 |
09a853f297a2a9ff38df17315383d77f
|
|
| BLAKE2b-256 |
f2bf9aa11522dcf41271b9387ab68a0a21e82f2162ac5df4e50557c2cdb9381b
|
Provenance
The following attestation bundles were made for pygraphile-0.1.0.tar.gz:
Publisher:
workflow.yml on dshaw0004/pygraphile
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pygraphile-0.1.0.tar.gz -
Subject digest:
2f3eaf3cf7faabbcdd7f17896132e0524d618a9cee1c61cbabf17be3cb1a6373 - Sigstore transparency entry: 685783196
- Sigstore integration time:
-
Permalink:
dshaw0004/pygraphile@22f060854abd30af629a44513b28334bcb92083c -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/dshaw0004
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@22f060854abd30af629a44513b28334bcb92083c -
Trigger Event:
release
-
Statement type:
File details
Details for the file pygraphile-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pygraphile-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d84633ac82b447535befb4d23c5ed6b76c096c928fc6001a6b4680e6a816c06
|
|
| MD5 |
479f5e0024f263e678f528d8b1cdc1ac
|
|
| BLAKE2b-256 |
e961943bb15627f45fc291d4ab9cd5f319f5380df48b0e44d10d3f9eea2d11cd
|
Provenance
The following attestation bundles were made for pygraphile-0.1.0-py3-none-any.whl:
Publisher:
workflow.yml on dshaw0004/pygraphile
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pygraphile-0.1.0-py3-none-any.whl -
Subject digest:
2d84633ac82b447535befb4d23c5ed6b76c096c928fc6001a6b4680e6a816c06 - Sigstore transparency entry: 685783197
- Sigstore integration time:
-
Permalink:
dshaw0004/pygraphile@22f060854abd30af629a44513b28334bcb92083c -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/dshaw0004
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@22f060854abd30af629a44513b28334bcb92083c -
Trigger Event:
release
-
Statement type: