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.4.0.dev1.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

ariadne_graphql_proxy-0.4.0.dev1-py2.py3-none-any.whl (36.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ariadne_graphql_proxy-0.4.0.dev1.tar.gz.

File metadata

File hashes

Hashes for ariadne_graphql_proxy-0.4.0.dev1.tar.gz
Algorithm Hash digest
SHA256 a8c39f1ee17146c37eb0fa8e54b3c1601490fbb082eb795f111e48fa51677daf
MD5 34abbac257682e5ab43b6be1e37dbb6b
BLAKE2b-256 970ceb8209f23c5055ec427a720bc03ea283477df43e1fc4a21531d1ef8d4715

See more details on using hashes here.

File details

Details for the file ariadne_graphql_proxy-0.4.0.dev1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for ariadne_graphql_proxy-0.4.0.dev1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4472c3d686cb6d9de9cc0b4b7d94407af8cca96d0ce4015c83e0048e6d5ca44a
MD5 75b41c849debcecacc6d680bd0b28f29
BLAKE2b-256 a1586005f4e4233eca0aafce5a68a1001e91671a511b2839f9b8a3a1e765e454

See more details on using hashes here.

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