Package: kedro
What is Kedro?Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, maintainable, and modular. You can find out more atkedro.org.Kedro is an open-source Python framework hosted by theLF AI & Data Foundation.How do I install Kedro?To install Kedro from the Python Package Index (PyPI) run:pip install kedroIt is also possible to install Kedro usingconda:conda install -c conda-forge kedroOurGet Started guidecontains full installation instructions, and includes how to set up Python virtual environments.Installation from sourceTo access the latest Kedro version before its official release, install it from themainbranch.pip install git+https://github.com/kedro-org/kedro@mainWhat are the main features of Kedro?FeatureWhat is this?Project TemplateA standard, modifiable and easy-to-use project template based onCookiecutter Data Science.Data CatalogA series of lightweight data connectors used to save and load 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.Pipeline AbstractionAutomatic resolution of dependencies between pure Python functions and data pipeline visualisation usingKedro-Viz.Coding StandardsTest-driven development usingpytest, produce well-documented code usingSphinx, create linted code with support forruffand make use of the standard Python logging library.Flexible DeploymentDeployment strategies that include single or distributed-machine deployment as well as additional support for deploying on Argo, Prefect, Kubeflow, AWS Batch and Databricks.How do I use Kedro?TheKedro documentationfirst explainshow to install Kedroand then introduceskey Kedro concepts.You can then review thespaceflights tutorialto build a Kedro project for hands-on experienceFor new and intermediate Kedro users, there's a comprehensive section onhow to visualise Kedro projects using Kedro-Viz.A pipeline visualisation generated using Kedro-VizAdditional documentation explainshow to work with Kedro and Jupyter notebooks, and there are a set of advanced user guides for advanced for key Kedro features. We also recommend theAPI reference documentationfor further information.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:To address the main shortcomings of Jupyter notebooks, one-off scripts, and glue-code because there is a focus on
creatingmaintainable data science codeTo enhanceteam collaborationwhen different team members have varied exposure to software engineering conceptsTo increase efficiency, because applied concepts like modularity and separation of concerns inspire the creation ofreusable analytics codeFind out more about how Kedro can answer your use cases from theproduct FAQs on the Kedro website.The humans behind KedroTheKedro product teamand a number ofopen source contributors from across the worldmaintain Kedro.Can I contribute?Yes! We welcome all kinds of contributions. Check out ourguide to contributing to Kedro.Where can I learn more?There is a growing community around Kedro. We encourage you to ask and answer technical questions onSlackand bookmark theLinen archive of past discussions.We keep a list oftechnical FAQs in the Kedro documentationand you can find a  growing list of blog posts, videos and projects that use Kedro over on theawesome-kedroGitHub repository. If you have created anything with Kedro we'd love to include it on the list. Just make a PR to add it!How can I cite Kedro?If you're an academic, Kedro can also help you, for example, as a tool to solve the problem of reproducible research. Use the "Cite this repository" button onour repositoryto generate a citation from theCITATION.cff file.Python version support policyThe coreKedro Frameworksupports all Python versions that are actively maintained by the CPython core team. When aPython version reaches end of life, support for that version is dropped from Kedro. This is not considered a breaking change.TheKedro Datasetspackage follows theNEP 29Python version support policy. This means thatkedro-datasetsgenerally drops Python version support beforekedro. This is becausekedro-datasetshas a lot of dependencies that follow NEP 29 and the more conservative version support approach of the Kedro Framework makes it hard to manage those dependencies properly.