Skip to main content

Ariadne toolkit for building GraphQL proxies.

Project description

Ariadne


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:

pip install ariadne-graphql-proxy

Ariadne GraphQL Proxy requires Python 3.10 or higher.

Example

Following code combines two remote schemas into one:

from ariadne.asgi import GraphQL
from ariadne_graphql_proxy import ProxySchema, get_context_value

proxy_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 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.

If you have any questions or feedback, don't hesitate to catch us on GitHub discussions on main Ariadne repo.

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.

Also make sure you follow @AriadneGraphQL on Twitter for latest updates, news and random musings!

Crafted with ❤️ by Mirumee Software hello@mirumee.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ariadne_graphql_proxy-0.3.0.tar.gz (23.5 kB view hashes)

Uploaded Source

Built Distribution

ariadne_graphql_proxy-0.3.0-py2.py3-none-any.whl (34.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page