Metadata-Version: 2.4
Name: kedro-graphql
Version: 1.1.1
Summary: A kedro plugin for serving any kedro project as a GraphQL api
Author: opensean
License: MIT
Project-URL: Homepage, https://github.com/opensean/kedro-graphql
Project-URL: Source, https://github.com/opensean/kedro-graphql
Keywords: pipelines,machine learning,data pipelines,data science,data engineering,graphql
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: <3.12,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: kedro==0.19.11
Requires-Dist: kedro-datasets>=3.0.0
Requires-Dist: fastapi>=0.115.11
Requires-Dist: pymongo>=4.7.2
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: gql[all]>=3.5.1
Requires-Dist: strawberry-graphql>=0.262.5
Requires-Dist: uvicorn[standard]>=0.30.0
Requires-Dist: redis>=5.0.0
Requires-Dist: click>=4.0
Requires-Dist: celery>=5.4.0
Requires-Dist: boto3>=1.26.160
Requires-Dist: asyncio>=3.4.3
Requires-Dist: cloudevents
Requires-Dist: PyJWT>=2.10.1
Requires-Dist: python-multipart>=0.0.20
Provides-Extra: test
Requires-Dist: pandas>=2.2.0; extra == "test"
Requires-Dist: pytest-cov<7,>=3; extra == "test"
Requires-Dist: pytest-mock<4.0,>=1.7.1; extra == "test"
Requires-Dist: pytest<9.0,>=7.2; extra == "test"
Requires-Dist: pytest-asyncio>=0.23.7; extra == "test"
Requires-Dist: celery[pytest]~=5.4.0; extra == "test"
Requires-Dist: pydoc-markdown; extra == "test"
Requires-Dist: mkdocs; extra == "test"
Requires-Dist: mkdocstrings[python]; extra == "test"
Requires-Dist: mkdocs-material; extra == "test"
Provides-Extra: experimental
Requires-Dist: minio~=7.1.15; extra == "experimental"
Provides-Extra: ui
Requires-Dist: panel>=1.6.1; extra == "ui"
Requires-Dist: kedro-viz>=10.2.0; extra == "ui"
Requires-Dist: sh>=2.2.2; extra == "ui"
Dynamic: license-file

<p align="center">
  <picture>
    <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/cellsignal/kedro-graphql/refs/heads/main/docs/light-logo.png">
    <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cellsignal/kedro-graphql/refs/heads/main/docs/dark-logo.png">
    <img src="https://raw.githubusercontent.com/cellsignal/kedro-graphql/refs/heads/main/docs/light-logo.png" alt="KedroGraphQL Light Logo">
  </picture>
</p>

<!-- [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/cellsignal/kedro-graphql) -->
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI Latest Release](https://img.shields.io/pypi/v/kedro-graphql.svg)](https://pypi.org/project/kedro-graphql/)


**kedro-graphql** is a [kedro-plugin](https://docs.kedro.org/en/stable/extend_kedro/plugins.html) that adds powerful, production-ready features to any Kedro project by exposing your data pipelines as a secure and extensible GraphQL API.

## Why Use kedro-graphql?

- **Unified API for Data Pipelines:** Interact with all your Kedro pipelines, datasets, and parameters through a single GraphQL endpoint with fllexible queries, mutations, and subscriptions—ideal for frontend, automation, and integration use cases.
- **Track & Audit Pipeline Runs:** Persist and track all pipeline executions, parameters, data catalogs, and results.
- **Distributed & Scalable Execution:** Offload pipeline runs to distributed workers with support for custom runners, enabling horizontal scaling and robust task management.
- **Event & Log Subscriptions:** Subscribe to real-time pipeline events and logs via GraphQL subscriptions for monitoring, automation, and integration.
- **Authentication & Authorization:** Secure your API with fine-grained, configurable permissions (including RBAC).
- **FAIR Data Principles:** kedro-graphql helps teams enable FAIR (Findable, Accessible, Interoperable, Reusable) data practices. Features such as flexible pipeline and dataset tagging make it easy to organize, discover, and reuse data assets and workflows across projects and teams. The project aims to deliver more capabilities in the near future such as a more a powerful search and a web user interface for controlling pipeline execution, dataset
exploration and visualization.

By leveraging kedro-graphql, teams can build robust, API first, data platforms, and integrate Kedro with modern cloud and enterprise systems.
