Skip to main content

Kedro helps you build production-ready data and analytics pipelines

Project description

Kedro Logo Banner


Theme Status
Python Version Python Version
Latest PyPI Release PyPI version
Latest Conda Release Conda Version
master Branch Build CircleCI
develop Branch Build CircleCI
Documentation Build Documentation
License License
Code Style Code Style: Black
Questions Questions: Stackoverflow "kedro"

What is Kedro?

"The centre of your data pipeline."

Kedro is a development workflow framework that implements software engineering best-practice for data pipelines with an eye towards productionising machine learning models. We provide a standard approach so that you can:

  • Worry less about how to write production-ready code,
  • Spend more time building data pipelines that are robust, scalable, deployable, reproducible and versioned,
  • And, standardise the way that your team collaborates across your project.

How do I install Kedro?

kedro is a Python package. To install it from the Python Package Index (PyPI) simply run:

pip install kedro

It is also possible to install kedro using conda, a package and environment manager program bundled with Anaconda. With conda already installed, simply run:

conda install -c conda-forge kedro

See more detailed installation instructions, including how to setup Python virtual environments, in our installation guide and get started with our "Hello Word" example.

What are the main features of Kedro?

Kedro-Viz Pipeline Visualisation A pipeline visualisation generated using Kedro-Viz

Feature What is this?
Project Template A standard, modifiable and easy-to-use project template based on Cookiecutter Data Science.
Data Catalog A series of lightweight data connectors used for saving and loading data across many different file formats and file systems including local and network file systems, cloud object stores, and HDFS. The Data Catalog also includes data and model versioning for file-based systems. Used with a Python or YAML API.
Pipeline Abstraction Automatic resolution of dependencies between pure Python functions and data pipeline visualisation using Kedro-Viz.
The Journal An ability to reproduce pipeline runs with saved pipeline run results.
Coding Standards Test-driven development using pytest, produce well-documented code using Sphinx, create linted code with support for flake8, isort and black and make use of the standard Python logging library.
Flexible Deployment Deployment strategies that include the use of Docker with Kedro-Docker, conversion of Kedro pipelines into Airflow DAGs with Kedro-Airflow, leveraging a REST API endpoint with Kedro-Server (coming soon) and serving Kedro pipelines as a Python package. Kedro can be deployed locally, on-premise and cloud (AWS, Azure and Google Cloud Platform) servers, or clusters (EMR, EC2, Azure HDinsight and Databricks).

How do I use Kedro?

Our documentation explains:

Documentation for the latest stable release can be found here. You can also run kedro docs from your CLI and open the documentation for your current version of Kedro in a browser.

Note: The CLI is a convenient tool for being able to run kedro commands but you can also invoke the Kedro CLI as a Python module with python -m kedro

Note: Read our FAQs to learn how we differ from workflow managers like Airflow and Luigi.

Why does Kedro exist?

Kedro is built upon our collective best-practice (and mistakes) trying to deliver real-world ML applications that have vast amounts of raw unvetted data. We developed Kedro to achieve the following:

  • Collaboration on an analytics codebase when different team members have varied exposure to software engineering best-practice
  • Focussing on maintainable data and ML pipelines as the standard, instead of a singular activity of deploying models in production
  • A way to inspire the creation of reusable analytics code so that we never start from scratch when working on a new project
  • Efficient use of time because we're able to quickly move from experimentation into production

The humans behind Kedro

Kedro was originally designed by Aris Valtazanos and Nikolaos Tsaousis to solve challenges they faced in their project work. Their work was later turned into an internal product by Peteris Erins, Ivan Danov, Nikolaos Kaltsas, Meisam Emamjome and Nikolaos Tsaousis.

Currently the core Kedro team consists of:

Former core team members with significant contributions are: Gordon Wrigley, Jo Stichbury, Nasef Khan and Anton Kirilenko.

And last but not least, all the open-source contributers whose work went into all Kedro releases.

Can I contribute?

Yes! Want to help build Kedro? Check out our guide to contributing.

Where can I learn more?

There is a growing community around Kedro. Have a look at our FAQs to find projects using Kedro and links to articles, podcasts and talks.

What licence do you use?

Kedro is licensed under the Apache 2.0 License.

We're hiring!

Do you want to be part of the team that builds Kedro and other great products at QuantumBlack? If so, you're in luck! QuantumBlack is currently hiring Software Engineers who love using data to drive their decisions. Take a look at our open positions and see if you're a fit.

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

kedro-0.16.1.tar.gz (124.8 kB view details)

Uploaded Source

Built Distribution

kedro-0.16.1-py3-none-any.whl (11.6 MB view details)

Uploaded Python 3

File details

Details for the file kedro-0.16.1.tar.gz.

File metadata

  • Download URL: kedro-0.16.1.tar.gz
  • Upload date:
  • Size: 124.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10

File hashes

Hashes for kedro-0.16.1.tar.gz
Algorithm Hash digest
SHA256 c47f7494d9d4f83641632e83081f924a5cc6695f453739c259eb01ca53a1665f
MD5 dfb920df78d947f0e09cbeb5775b5e67
BLAKE2b-256 d2465e08cf0b813476e530e65c9fbeb971d3f556ba0c6927fa1bd12ef6e2ce49

See more details on using hashes here.

File details

Details for the file kedro-0.16.1-py3-none-any.whl.

File metadata

  • Download URL: kedro-0.16.1-py3-none-any.whl
  • Upload date:
  • Size: 11.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10

File hashes

Hashes for kedro-0.16.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c7d062de2a96f2eba730a4e1095f44be73b6d38abfbfb88eb26bec20c2756fd
MD5 49529ed30ef8b05f04b57247e3a05b3b
BLAKE2b-256 33cb26e5189d978bdc3194f7d1e09904956c00ec68af1fda0c76bd9271ed05f9

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