kedro-org/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.

解決的問題

Kedro 的設計目的在於將資料科學與資料工程專案從一次性腳本與 Jupyter 筆記本,轉換為可生產、可維護、可重現的程式碼。它彌補了「膠水程式碼」(glue-code)的缺點,並透過強制模組化與關注點分離,協助不同軟體工程能力的團隊更有效率地協作。

運作方式

Kedro 提供一個結構化框架,將軟體工程的最佳實務應用於資料管道。它使用基於 Cookiecutter Data Science 的專案範本,標準化專案結構。它具備資料目錄(Data Catalog),可抽象各種檔案格式與雲端儲存的載入/儲存操作;以及管道抽象(Pipeline abstraction),能自動解析 Python 函數之間的相依性,建立模組化工作流程。

適用對象

需要建構可擴展、可重現的分析管道,並處理大量原始資料的真實世界機器學習應用的資料科學家與資料工程師。

主要特色

  • 資料目錄:輕量級連接器,支援在本地、網路與雲端物件儲存之間儲存與載入資料,並內建版本控制。
  • 管道抽象:自動解析 Python 函數間的相依性,並透過 Kedro-Viz 實現可視化。
  • 彈性部署:支援單機或分散式機器,以及 Argo、Prefect、Kubeflow、AWS Batch、Databricks 等編排工具。
  • 標準化編碼規範:整合支援 pytest、Sphinx 與 ruff,用於測試、文件與程式碼檢查。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案