Giter Site home page Giter Site logo

abhinavsp0730 / kedro Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kedro-org/kedro

0.0 1.0 0.0 17 MB

A Python library that implements software engineering best-practice for data and ML pipelines.

Home Page: https://kedro.readthedocs.io/

License: Other

Makefile 0.07% Gherkin 1.73% Python 98.05% Shell 0.15%

kedro's Introduction

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 an open-source Python framework that applies software engineering best-practice to data and machine-learning pipelines. You can use it, for example, to optimise the process of taking a machine learning model into a production environment. You can use Kedro to organise a single user project running on a local environment, or collaborate within a team on an enterprise-level project.

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,
  • Standardise the way that your team collaborates across your project.

How do I install Kedro?

kedro is a Python package built for Python 3.6, 3.7 and 3.8.

To install Kedro from the Python Package Index (PyPI) simply run:

pip install kedro

You can also 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

Our Get Started guide contains full installation instructions, and includes how to set up Python virtual environments.

We also recommend the frequently asked questions and the API reference documentation for additional information.

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?

The Kedro documentation includes three examples to help get you started:

Additional documentation includes:

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

Every Kedro function or class has extensive help, which you can call from a Python session as follows if the item is in local scope:

from kedro.io import MemoryDataSet
help(MemoryDataSet)

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
  • A focus 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 include: Gordon Wrigley, Nasef Khan and Anton Kirilenko.

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

Can I contribute?

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

Where can I learn more?

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

Who is using Kedro?

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.

kedro's People

Contributors

921kiyo avatar andrii-ivaniuk avatar dmitriideriabinqb avatar limdauto avatar yetudada avatar mzjp2 avatar deepyaman avatar tolomea avatar nakhan98 avatar tsanikgr avatar stichbury avatar tamsanh avatar idanov avatar waylonwalker avatar merelcht avatar dependabot[bot] avatar marcelotrevisani avatar richardwestenra avatar s-mawjee avatar neomatrix369 avatar dr3s avatar bru5 avatar minyus avatar vjkr avatar seb-afk avatar laisbsc avatar klio-foxtrot187 avatar dvukolov avatar mmchougule avatar mdomarsaleem avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.