PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

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

Сайт: https://pythonomania.github.io/
Download Telegram
📱Pandera.

Pandera
— проект от Union.ai, предоставляющий гибкий API для валидации данных в объектах, похожих на DataFrame, чтобы сделать обработку данных более читаемой и надежной.

🔹Что умеет Pandera:

🔘Определяйте схему данных один раз и используйте её для валидации разных типов DataFrame: pandas, polars, dask, modin, pyspark.

🔘Проверяйте типы и свойства колонок DataFrame или значения Series.

🔘Выполняйте сложную статистическую валидацию, например, тесты гипотез.

🔘Парсите данные для стандартизации этапов предобработки.

🔘Интегрируйте Pandera с вашими пайплайнами через декораторы функций.

🔘Определяйте модели DataFrame с помощью синтаксиса, похожего на pydantic, и проверяйте данные через аннотации типов.

🔘Создавайте данные из схем для тестирования на основе свойств с помощью pandas-структур.

🔘Выполняйте ленивую проверку, чтобы сразу видеть все ошибки после валидации.

🔘Интегрируйтесь с такими инструментами Python, как pydantic, fastapi и mypy.

#Python #DataValidation #Pandera #Pandas #DataScience #OpenSource #FastAPI #Pydantic

📱Ссылка на репозиторий:
https://github.com/unionai-oss/pandera
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡3👍3🔥2
📱Validoopsie.

Validoopsie
– это невероятно легковесная и удобная в использовании библиотека для валидации данных в Python. Она разработана для того, чтобы легко объявлять классы и связывать валидации в стиле популярных библиотек для работы с DataFrame. Это делает её интуитивно понятной для разработчиков, работающих с DataFrame.

🔘Благодаря отличной работе Narwhals, Validoopsie поддерживает концепцию "Bring Your Own DataFrame" (BYOD). Это позволяет использовать любой поддерживаемый Narwhals DataFrame для задач валидации данных.

🔘Синтаксис Validoopsie продуман для максимального удобства. Каждая функция валидации заключена в свой собственный метод, который можно легко связывать между собой. Такой подход повышает читаемость кода и избавляет от необходимости адаптироваться к новому API каждый раз при смене библиотеки, позволяя сосредоточиться на поддержании чистоты и понятности кода.

✅Проверяйте целостность данных или обеспечивайте их соответствие стандартам с помощью этого мощного и удобного решения.

#Validoopsie #Python #DataValidation #DataFrames #BYOD #GreatExpectations #Narwhals #DataIntegrity #CleanCode

📱Ссылка на репозиторий:
https://github.com/akmalsoliev/Validoopsie
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1🤔1
📱Pointblank.

Pointblank — это Python‑библиотека для проверки качества табличных данных (Polars, Pandas, SQL/файлы через Ibis) с упором на удобство и понятные отчёты.

🔹Особенности:

🔘AI‑DraftValidation: LLM сам предлагает план проверок по вашему датасету — отличный старт без «пустого файла».

🔘Chainable API: читаемые цепочки .Validate(...).col_vals_...().interrogate() и интерактивные HTML‑отчёты.

🔘Пороги и алерты: warning/error/critical + действия (например, Slack‑уведомления) при проблемах с данными.

🔘YAML и CLI pb: храните правила в git и гоняйте валидацию в CI/CD одной командой.

🐱Установка:

pip install pointblank


#python #datavalidation #dataquality #pointblank #datascience #dataengineering

📱Ссылка на репозиторий:
https://github.com/posit-dev/pointblank
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32⚡1
📱Pydantic Pint.

Pydantic Pint
- это библиотека для Python, объединяющая возможности валидации данных из Pydantic с библиотекой для работы с физическими величинами и единицами измерения.

Если ваш проект связан с инженерией, научными вычислениями, геоданными или физикой, вам наверняка знакома проблема: Pydantic отлично проверяет типы и структуры, а Pint берет на себя математику над размерными величинами (метры, килограммы, секунды, градусы). По умолчанию они несовместимы, и разработчикам приходится писать кастомные сериализаторы. pydantic-pint устраняет этот разрыв с помощью чистого синтаксиса typing.Annotated.

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

🔘Строгая типизация размерностей: Позволяет задать целевую единицу измерения для поля модели через аннотацию PydanticPintQuantity("unit").

🔘Автоматическая конвертация: Если поле ожидает километры (km), а на вход передали строку "12 meters", библиотека проверит размерность и сама пересчитает значение в 0.012 kilometer. Ошибочные размерности (например, попытка передать секунды вместо метров) приведут к ошибке валидации.

🔘Полная поддержка сериализации: Корректно выгружается в структуры Python и JSON через стандартные методы Pydantic V2 (model_dump() и model_dump_json()).

🔘Современный синтаксис: Не требует наследования от специальных базовых классов — работает прямо внутри стандартного pydantic.BaseModel.

🔻Пример использования:
from typing import Annotated
from pydantic import BaseModel
from pydantic_pint import PydanticPintQuantity
from pint import Quantity

class Coordinates(BaseModel):
latitude: Annotated[Quantity, PydanticPintQuantity("deg")]
longitude: Annotated[Quantity, PydanticPintQuantity("deg")]
# Поле ожидает километры:
altitude: Annotated[Quantity, PydanticPintQuantity("km")]

# Передаем высоту в метрах — библиотека сконвертирует её сама:
coord = Coordinates(
latitude="39.905705 deg",
longitude="-75.166519 deg",
altitude="12 meters",
)

print(coord.altitude)
# -> <Quantity(0.012, 'kilometer')>

# Сериализация в JSON
print(coord.model_dump_json())
# -> {"latitude":"39.905705 degree","longitude":"-75.166519 degree","altitude":"0.012 kilometer"}


📦Установка:
pip install pydantic-pint


#Python #Pydantic #Pint #DataValidation #DataScience #Physics #Engineering #Backend #OpenSource #DevTools

📱Ссылка на репозиторий:
https://github.com/tylerh111/pydantic-pint
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥1