TGViewer
DS & ML | YeaHub DS & ML | YeaHub @yeahub_data_science · 483 subscribers
Post #259 60
#полезное
👋 Pointblank — мощный инструмент для валидации данных

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

С интуитивным и цепочечным API, Pointblank позволяет:
🟠 запускать точечные проверки качества данных,
🟠 отслеживать критичные ошибки,
🟠 автоматически формировать интерактивные отчёты,
🟠 интегрироваться с Slack и другими системами.

Идеально для пайплайнов на pandas, polars или ibis.

Пример базовой валидации:
import pointblank as pb

validation = (
pb.Validate(data=pb.load_dataset("small_table"))
.col_vals_gt(columns="d", value=100) # Значения > 100
.col_vals_le(columns="c", value=5) # Значения <= 5
.col_exists(columns=["date", "date_time"]) # Проверка наличия колонок
.interrogate() # Выполнить валидацию
)

validation.get_tabular_report().show()


Реальный пример на Polars:
import pointblank as pb
import polars as pl

sales_data = pl.read_csv("sales_data.csv")

validation = (
pb.Validate(
data=sales_data,
tbl_name="sales_data",
label="Валидация реальных данных",
thresholds=(0.01, 0.02, 0.05),
actions=pb.Actions(
critical="Критичная ошибка качества данных на шаге {step} ({time})."
),
final_actions=pb.FinalActions(
pb.send_slack_notification("https://hooks.slack.com/services/your/webhook/url")
),
brief=True,
)
.col_vals_between(columns=["price", "quantity"], left=0, right=1000)
.col_vals_not_null(columns=pb.ends_with("_id"))
.col_vals_regex(columns="email", pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$")
.col_vals_in_set(columns="status", set=["pending", "shipped", "delivered", "returned"])
.conjointly(
lambda df: pb.expr_col("revenue") == pb.expr_col("price") * pb.expr_col("quantity"),
lambda df: pb.expr_col("tax") >= pb.expr_col("revenue") * 0.05
)
.interrogate()
)

# HTML-отчёт можно открыть в браузере:
validation.get_tabular_report().show("browser")


Установка:
pip install pointblank
# или с нужным бэкендом:
pip install "pointblank[pl]" # с Polars
pip install "pointblank[pd]" # с Pandas
pip install "pointblank[duckdb]" # с DuckDB (через Ibis)
pip install "pointblank[postgres]" # с PostgreSQL


Под капотом

Pointblank работает с Polars, Pandas и Ibis (через Narwhals) — то есть вы можете валидировать данные не только из CSV, но и из баз данных (PostgreSQL, MySQL, DuckDB и др.).
Ссылка на проект

👉Новости 👉База вопросов
More from @yeahub_data_science
  1. Oct 12, 2026#Собес #asyncio #coroutine #event_loop 🤔 Корутины и event loop. 💬 Кратко: Корутины — это…
  2. Oct 9, 2026#trainer #курсы #тренажеры 📚 CodeChef Онлайн-платформа программирования, которая позволяе…
  3. Oct 8, 2026#Собес #index #select #performance 🤔 Как индексы влияют на производительность SELECT-запр…
  4. Oct 7, 2026#Собес #garbage_collection #memory_management 🤔 Сборщик мусора и счётчик ссылок? 💬 Кратк…
  5. Oct 5, 2026#Собес #ensemble_methods #random_forest #overfitting 🤔 Как реализовать ансамблевый метод…
  6. Oct 2, 2026#trainer #печать 📚 Тренируем печать Быстро печатать — не просто приятно, а выгодно. Когда…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →