kedro-org/kedro

Kedro — это набор инструментов для production-ready data science, использующий лучшие практики software engineering для создания воспроизводимых, поддерживаемых и модульных data engineering и data science pipelines.

LLMOps⭐ 11 006Pythonпоследний релиз: 1.6.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Kedro — это фреймворк на Python для создания воспроизводимых, модульных и поддерживаемых конвейеров обработки данных и машинного обучения.

Зачем нужен

Инструмент решает проблему хаоса в продакшн-проектах, применяя лучшие практики инженерии ПО к задачам data science. Он помогает структурировать код, управлять зависимостями между этапами пайплайна и обеспечивать воспроизводимость экспериментов, что упрощает переход от прототипа к промышленной эксплуатации.

Что можно реализовать

  • Построение сложных ETL/ELT пайплайнов с автоматическим разрешением зависимостей между шагами
  • Управление версиями данных и моделей для файловых систем через Data Catalog
  • Визуализация структуры данных и логики пайплайна с помощью Kedro-Viz
  • Развертывание ML-моделей на различных платформах, включая Argo, Prefect, Kubeflow, AWS Batch и Databricks

Ключевые возможности

  • Готовый шаблон проекта на базе Cookiecutter Data Science для быстрой инициализации
  • Data Catalog — унифицированный интерфейс для загрузки/сохранения данных из разных источников (локальные диски, облака, HDFS)
  • Встроенная поддержка тестирования (pytest), линтинга (ruff) и документирования (Sphinx)
  • Гибкие стратегии деплоя: от одиночных машин до распределенных сред
  • Официальная поддержка LF AI & Data Foundation и активное сообщество

👤 Кому подойдёт: Data Engineers, ML Engineers и Data Scientists, работающие над сложными проектами, требующими перехода от исследовательских скриптов к надежным производственным системам.

Релизы

1.6.0majorbreaking
🕐 12 дн назад · релиз на GitHub ↗

Kedro 1.6.0: валидация датасетов, параметры раннера через CLI, исправления безопасности и потокобезопасности.

  • Added: Добавлена валидация датасетов с поддержкой Pandera и кастомных проверок при загрузке и сохранении.
  • Added: В команду kedro run добавлен флаг --runner-params для передачи параметров раннера через CLI.
  • Breaking: Безопасность: через HTTP API больше нельзя динамически выбирать класс датасета из runtime_params.
  • Breaking: Переименован параметр RUNNER_MODULES_WHITELIST в RUNNER_MODULE_ALLOWLIST в settings.py.
  • Fixed: Исправлены проблемы потокобезопасности в конвейерах и HTTP-сервере, а также ошибка рекурсии при инициализации сессии.
1.5.0major
🕐 2 мес назад · релиз на GitHub ↗

Kedro 1.5.0: новый HTTP-сервер для запуска пайплайнов, выборочная загрузка модулей и исправления CLI.

  • Added: Добавлен HTTP-сервер (KedroServiceSession) с эндпоинтами /run, /health и /snapshot для запуска пайплайнов по HTTP.
  • Added: Появилась команда CLI kedro server start и поддержка выборочной загрузки модулей через флаг --pipelines.
  • Fixed: Исправлено отображение скобок в логах Rich и устранено некорректное смешивание цветов разметки датасетов.
  • Fixed: kedro new и kedro pipeline create теперь блокируют создание проектов и пайплайнов с именами, конфликтующими с ключевыми словами Python.
  • Обновлены документационные руководства по развертыванию в AWS EMR Serverless, Step Functions и Batch.