https://github.com/mirumee/ariadne-graphql-proxy
Ariadne toolkit for building GraphQL proxies.
https://github.com/mirumee/ariadne-graphql-proxy
Last synced: 3 months ago
JSON representation
Ariadne toolkit for building GraphQL proxies.
- Host: GitHub
- URL: https://github.com/mirumee/ariadne-graphql-proxy
- Owner: mirumee
- License: bsd-3-clause
- Created: 2022-11-07T12:37:44.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-30T10:06:06.000Z (about 1 year ago)
- Last Synced: 2025-06-24T00:11:48.884Z (4 months ago)
- Language: Python
- Size: 233 KB
- Stars: 15
- Watchers: 10
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://ariadnegraphql.org)
- - - - -
# Ariadne GraphQL Proxy
Ariadne toolkit for building GraphQL proxies.
Features:
- Combining multiple local and remote GraphQL schemas into single GraphQL schema.
- Routing GraphQL queries to local and remote GraphQL schemas.
- Foreign keys system for modeling relationships between separate services schemas.
- Cache framework for caching of GraphQL query results per query fields.
- Low-level utilities for GraphQL Schema manipulation: adding, removing and copying schema items.## Installation
Ariadne GraphQL Proxy can be installed with pip:
```console
pip install ariadne-graphql-proxy
```Ariadne GraphQL Proxy requires Python 3.10 or higher.
## Example
Following code combines two remote schemas into one:
```python
from ariadne.asgi import GraphQL
from ariadne_graphql_proxy import ProxySchema, get_context_valueproxy_schema = ProxySchema()
proxy_schema.add_remote_schema("https://example.com/first-graphql/")
proxy_schema.add_remote_schema("https://example.com/second-graphql/")final_schema = proxy_schema.get_final_schema()
app = GraphQL(
final_schema,
context_value=get_context_value,
root_value=proxy_schema.root_resolver,
)
```## Usage guide
For guide on using Ariadne GraphQL Proxy, please see the [GUIDE.md](./GUIDE.md) file.
> **Note:** Ariadne GraphQL Proxy is currently in prototyping stages. Library's API can and will change!
## Contributing
We are welcoming contributions to Ariadne GraphQL Proxy!
If you've found a bug or issue, feel free to open [GitHub issue](https://github.com/mirumee/ariadne-graphql-proxy/issues).
If you have any questions or feedback, don't hesitate to catch us on [GitHub discussions on main Ariadne repo](https://github.com/mirumee/ariadne/discussions/).
Pull requests are also welcome! We only request that PRs providing new features and extending existing implementation are proceeded by discussion in dedicated GitHub issue with a proposal or on [`ariadne/discussions`](https://github.com/mirumee/ariadne/discussions/).
Also make sure you follow [@AriadneGraphQL](https://twitter.com/AriadneGraphQL) on Twitter for latest updates, news and random musings!
**Crafted with ❤️ by [Mirumee Software](http://mirumee.com)**
hello@mirumee.com