great-expectations/great_expectations

Всегда знай, чего ожидать от своих данных.

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

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

GX Core — это библиотека для Python, позволяющая писать выразительные «ожидания» (unit-тесты) для данных, чтобы всегда знать, чему можно доверять в ваших наборах данных.

Зачем нужен

Инструмент решает задачу обеспечения качества данных, предоставляя команде общий язык для описания тестов и автоматически генерируя документацию по результатам валидации. Это упрощает процессы контроля качества и помогает сохранять институциональные знания об организации данных.

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

  • Написание выразительных и расширяемых unit-тестов для проверки целостности данных
  • Автоматическая генерация документации по результатам валидации данных
  • Создание общего языка общения между членами команды для обсуждения качества данных
  • Интеграция проверок качества в пайплайны обработки данных на Python

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

  • Концепция Expectations как выразительных и расширяемых тестов для данных
  • Автоматическое создание документации на основе результатов валидации
  • Поддержка Python версий 3.10–3.13 (с экспериментальной поддержкой 3.14+)
  • Активное сообщество и открытая модель разработки с приветствием PR

👤 Кому подойдёт: Команды работы с данными (data teams), разработчики на Python, инженеры данных, заинтересованные в стандартизации и автоматизации проверок качества данных.

Релизы

1.23.1minor
🕐 2 дн назад · релиз на GitHub ↗

Исправлена работа валидаторов с общими батчами, улучшена поддержка Spark и UTF-8 в конфигурациях.

  • Fixed: Исправлена ошибка, при которой валидаторы на одном дата-сорсе могли использовать чужие батчи; теперь каждый отчетает только свои данные.
  • Fixed: В Spark ExpectColumnValuesToMatchRegexList с match_on='all' теперь проверяет каждое регулярное выражение независимо, как в Pandas и SQL.
  • Fixed: Исправлено сохранение и загрузка spark_schema в great_expectations.yml через StructType.fromJson, предотвращая ошибки PySpark.
  • Fixed: Конфигурационные файлы (YAML, .gitignore) теперь всегда читаются и записываются в кодировке UTF-8, игнорируя локаль системы.
  • Added: Добавлен новый уровень поддержки галереи для девяти источников данных, проверяющий покрытие всей библиотекой ожиданий.
1.23.0patch
🕐 10 дн назад · релиз на GitHub ↗

Исправления багов SQL-движка и Oracle, стабилизация expect_метрик, улучшение типизации тестов и поддержка Oracle.

  • Fixed: Кэширование SQL-движка для ускорения выполнения и исправление ошибок валидации запросов с комментариями.
  • Fixed: Исправлена генерация SQL для Oracle (убран лишний FROM DUAL) и устранена ошибка KeyError при смешанном регистре имен колонок.
  • Fixed: Корректная обработка нулевой или неопределенной дисперсии в ExpectColumnValueZScoresToBeLessThan и стандартного отклонения в SQLite.
  • Added: Опубликован пакет extras для поддержки Oracle.
  • Fixed: Исправлено чтение файлов с учетом локальной кодировки в TupleFilesystemStoreBackend.
  • Масштабная работа по улучшению типизации тестов, очистке CI-пайплайнов и обновлению зависимостей документации.
1.22.0patch
🕐 21 дн назад · релиз на GitHub ↗

Исправления для Oracle, MySQL, SQL Server и Redshift; поддержка Marshmallow 4; улучшения документации и CI.

  • Fixed: Исправлена работа с Oracle: добавлена поддержка в диалект-хелпер и исправлен кастинг строк дат.
  • Fixed: Восстановлено покрытие метриками для MySQL, SQL Server и Redshift, которое ранее отсутствовало.
  • Added: Добавлена поддержка Marshmallow 4.x и соответствующая CI-проверка.
  • Fixed: Исправлена валидация пар столбцов pandas с нестандартными индексами.
  • Fixed: Исправлена генерация Data Docs для результатов без run_id и защита конфигурационного файла от обрезки.
1.21.0minor
🕐 1 мес назад · релиз на GitHub ↗

Запуск SQL Harness для Trino и ClickHouse, интеграция проверок в оркестрацию чекпоинтов и новые ожидания.

  • Added: Добавлен SQL Harness Backend Framework с поддержкой Trino и ClickHouse.
  • Added: Проверки теперь маршрутизируются в оркестрацию чекпоинтов.
  • Added: Принятие целых чисел для числовых параметров батчей во всех семействах источников данных.
  • Added: Новые ожидания: ExpectColumnValuesToNotBeOutliers и multicolumn values equal.
  • Added: Улучшены инструкции для агентов по настройке источников данных и ожиданий.
1.20.0patch
🕐 1 мес назад · релиз на GitHub ↗

Исправления багов в метриках квантилей и работе с файловыми системами, а также повышение статуса ExpectColumnValuesToMatchStrftimeFormat.

  • Fixed: Исправлена работа FileDataContext на файловых системах только для чтения.
  • Fixed: Устранены проблемы с дублированием псевдонимов SQL-метрик и корректностью квантилей в SQLite и Redshift.
  • Fixed: Ожидания теперь корректно срабатывают, если в колонке отсутствуют квантили, а также исключают null-значения.
  • Added: Ожидание ExpectColumnValuesToMatchStrftimeFormat переведено в категорию supported-core.
1.19.1patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка рендеринга индексов, обновлены зависимости и улучшена работа с CLA.

  • Fixed: Исправлено исключение при рендеринге неожиданных индексов, содержащих только id или первичный ключ.
  • Added: Добавлена поддержка self-hosted проверки статуса CLA.
  • Fixed: Синхронизация меток CLA теперь осуществляется напрямую через проверку, а не через вебхук статуса.
  • Added: Добавлены хуки переопределения метрик для провайдеров извлечения строк SqlAlchemy.
  • Обновлены ссылки на CLA, зафиксирована версия actions/checkout и устранено предупреждение pyOpenSSL для Snowflake.
1.18.2patch
🕐 2 мес назад · релиз на GitHub ↗

Исправлена совместимость Spark Connect, устранены ошибки для BigQuery/Python 3.13 и обновлены зависимости.

  • Fixed: Исправлено использование .rdd в метриках Spark для совместимости с Spark Connect.
  • Fixed: Устранена ошибка BigQuery и предупреждения NumPy при работе с Python 3.13.
  • Fixed: Исправлена ошибка в pytest parametrize, нарушавшая работу запланированного CI.
  • Обновлены зависимости http-proxy-middleware, webpack-dev-server и @babel/core в документации.