Pandera — проект от Union.ai, предоставляющий гибкий API для валидации данных в объектах, похожих на DataFrame, чтобы сделать обработку данных более читаемой и надежной.
#Python #DataValidation #Pandera #Pandas #DataScience #OpenSource #FastAPI #Pydantic
https://github.com/unionai-oss/pandera
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - unionai-oss/pandera: A light-weight, flexible, and expressive statistical data testing library
A light-weight, flexible, and expressive statistical data testing library - unionai-oss/pandera
⚡3👍3🔥2
VLM Run Hub — это обширный репозиторий предопределённых Pydantic-схем для извлечения структурированных данных из неструктурированных визуальных данных, таких как изображения, видео и документы.
Современные модели, такие как GPT-4o и Claude Vision, отлично работают с визуальными данными, но их сложно интегрировать в автоматизированные системы. Structured Outputs API позволяет получать строго типизированные и валидированные данные в Pydantic формате , устраняя необходимость сложного парсинга.
#VLM #Pydantic #AI #DataExtraction #ML #Python #ComputerVision #StructuredData #Automation
https://github.com/vlm-run/vlmrun-hub
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - vlm-run/vlmrun-hub: A hub for various industry-specific schemas to be used with VLMs.
A hub for various industry-specific schemas to be used with VLMs. - vlm-run/vlmrun-hub
1👍3🔥1
Patito — это Python-библиотека, которая объединяет возможности Pydantic и Polars для удобной, строгой и типизированной работы с датафреймами.
Хочешь валидировать датафреймы так же удобно, как Pydantic-модели? Patito позволяет описывать схему данных с помощью аннотаций типов, генерировать валидные тестовые данные и легко превращать строки таблицы в полноценные Python-объекты.
#python #patito #pydantic #polars #датасайенс #типизация #валидация #pytest #данные #тестирование
https://github.com/JakobGM/patito
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - JakobGM/patito: A data modelling layer built on top of polars and pydantic
A data modelling layer built on top of polars and pydantic - JakobGM/patito
1👍2🔥1🤔1
Tyro — это генератор CLI из аннотированного Python-кода.
Он автоматически превращает функции или классы (с @dataclass, pydantic, attrs) в удобный командный интерфейс.
#Tyro #Python #CLI #Dataclass #Pydantic #PythonTools #DevTools #OpenSource #TypeHints #Pyright #Mypy
https://github.com/brentyi/tyro
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - brentyi/tyro: CLI interfaces & config objects, from types
CLI interfaces & config objects, from types. Contribute to brentyi/tyro development by creating an account on GitHub.
1 4👍2 1
Air — современный фреймворк, который объединяет FastAPI, Starlette и Pydantic, привнося в Python тот же комфорт, что Next.js дал JavaScript.
pip install -U air
#Python #FastAPI #WebFramework #HTMX #Jinja2 #Pydantic #AirFramework #WebDev #AsyncPython
https://github.com/feldroy/air
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - feldroy/air: The first web framework designed for AI to write. Built on Python, FastAPI, Pydantic, and HTMX. By the authors…
The first web framework designed for AI to write. Built on Python, FastAPI, Pydantic, and HTMX. By the authors of Two Scoops of Django. - feldroy/air
1⚡3👍3
Fastapi-voyager — это инструмент, который строит наглядную диаграмму всех роутов, схем и зависимостей вашего FastAPI-приложения.
Он помогает понять архитектуру, найти проблемы в связях данных, увидеть, какие модели используются эндпоинтами — и всё это в интерактивном веб-интерфейсе.
#FastAPI #Python #API #Visualization #DeveloperTools #Pydantic #Architecture #Graphviz #OpenSource #Backend
https://github.com/allmonday/fastapi-voyager
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - KLR-Pattern/fastapi-voyager: Visualize your API endpoints and explore them interactively, also support Django ninja &…
Visualize your API endpoints and explore them interactively, also support Django ninja & Litestar - KLR-Pattern/fastapi-voyager
🔥3👍1
Onlymaps — лёгкая Python-библиотека (micro-ORM) для работы с базой данных через обычные SQL-запросы.
from onlymaps import connect
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
with connect("postgresql://user:pass@localhost:5432/mydb") as db:
users: list[User] = db.fetch_many(User, "SELECT name, age FROM users")
#Python #ORM #SQL #Pydantic #PostgreSQL #MySQL #SQLite #AsyncPython #MicroORM #DatabaseTools
https://github.com/manoss96/onlymaps
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - manoss96/onlymaps: A Python micro-ORM
A Python micro-ORM. Contribute to manoss96/onlymaps development by creating an account on GitHub.
1🔥4👍2
Embar — это новый ORM для Python с сильной типизацией и SQL‑образным синтаксисом, вдохновлённый Drizzle и рассчитанный на Python 3.14 и выше.
Embar ставит целью сделать работу с БД в Python максимально типобезопасной: ваш type checker знает валидные аргументы и точные типы результатов, а LSP подсказывает, как собрать нужный запрос. Запросы пишутся в SQL‑подобном стиле, но при этом вы всегда можете просто использовать сырой SQL, когда нужно.
Сейчас Embar поддерживает три клиента: SQLite 3 через стандартную библиотеку, Postgres через psycopg3 и Postgres через async‑клиент psycopg3 (рекомендуется именно async‑вариант). Для валидации используется Pydantic, а дизайн библиотеки хорошо ложится на привычные сценарии с FastAPI.
Embar активно использует новые template strings (t‑строки), поэтому поддерживает только Python 3.14. Есть CLI для генерации миграций с помощью LLM и ANTHROPIC_API_KEY, но корректный diff миграций пока в разработке.
#python #orm #asyncio #postgres #sqlite #typing #pydantic #python314 #fastapi #drizzleinspired
https://github.com/carderne/embar
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - carderne/embar: A Python ORM with types
A Python ORM with types. Contribute to carderne/embar development by creating an account on GitHub.
1👍2🔥1
Oxyde ORM — асинхронный type‑safe ORM с Pydantic v2 и быстрым Rust‑ядром, сделанный в духе Django ORM, но с современным API и предсказуемым поведением.
User.objects.filter(...), аннотации полей и Meta‑класс для таблиц.oxyde-core), что даёт высокий ops/sec в бенчмарках против популярных ORM.asyncio, с поддержкой PostgreSQL, SQLite и MySQL, транзакций и nested transaction.atomic().db.lifespan(...) для подключения БД на уровне приложения. pip install oxyde
from oxyde import Model, Field
class User(Model):
id: int | None = Field(default=None, db_pk=True)
name: str
email: str = Field(db_unique=True)
#python #orm #asyncio #pydantic #rust #fastapi #postgresql #sqlite #mysql
https://github.com/mr-fatalyst/oxyde
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - mr-fatalyst/oxyde: Oxyde ORM is a type-safe, Pydantic-centric asynchronous ORM with a high-performance Rust core designed…
Oxyde ORM is a type-safe, Pydantic-centric asynchronous ORM with a high-performance Rust core designed for clarity, speed, and reliability. - mr-fatalyst/oxyde
⚡2👍2 2
Typerform — это генератор типобезопасных CLI-интерфейсов, работающий на базе Pydantic и Prompt-Toolkit.
Он превращает ваши Pydantic-модели в профессиональные, интерактивные пошаговые CLI-визарды. Забудьте про написание скучных циклов ввода
input() и ручную валидацию — теперь за пользовательский опыт отвечают ваши схемы данных!min_length, ge, EmailStr).:b или :back, чтобы вернуться к предыдущему полю и отредактировать его.when).SecretStr (идеально для паролей и API-ключей).Enum и Literal.List[T] — визард сам запустит цикл для добавления нескольких элементов.pip install pytypeformfrom typing import Literal
from pydantic import BaseModel, Field
from typeform import form
class SetupConfig(BaseModel):
project_name: str = Field(description="Project Name", min_length=3)
environment: Literal["dev", "staging", "prod"] = Field(default="dev")
# Генерация визарда одной строкой!
config = form(SetupConfig, title="Project Setup")
print(config.model_dump())
#Python #Pydantic #CLI #Backend #DevTools #Programming #OpenSource
https://github.com/STHITAPRAJNAS/typeform
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - STHITAPRAJNAS/typeform: A Type-Safe UI/CLI Generator powered by Pydantic.
A Type-Safe UI/CLI Generator powered by Pydantic. Contribute to STHITAPRAJNAS/typeform development by creating an account on GitHub.
2🔥4⚡1👍1
Kubex — это современный и невероятно быстрый клиент Kubernetes для Python, вдохновленный rust-библиотекой
kube.rs.Если вы писали K8s-операторы на Python, то наверняка сталкивались с медлительностью и прожорливостью стандартного
kubernetes-asyncio.Kubex меняет правила игры, предоставляя инструмент по-настоящему энтерпрайз-уровня!
dict[str, Any]. Все ресурсы K8s, поля spec и status строго типизированы. IDE сама подскажет нужные параметры, а mypy защитит от ошибок еще до запуска.asyncio (aiohttp/httpx) и trio (httpx). Никакого вендор-лока.exec), подключение к потокам (attach) и проброс портов (portforward) работают прямо из кода, как в kubectl.from kubex.api import Api
from kubex.client import create_client
from kubex.k8s.v1_35.core.v1.pod import Pod
async with await create_client() as client:
api: Api[Pod] = Api(Pod, client=client, namespace="default")
pod = await api.get("my-pod")
# pod.spec и pod.status полностью типизированы!
#Kubernetes #Python #DevOps #Pydantic #OpenSource #K8s #Asyncio #Backend
https://github.com/codemageddon/kubex
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - codemageddon/kubex: Python asynchronous client for Kubernetes
Python asynchronous client for Kubernetes. Contribute to codemageddon/kubex development by creating an account on GitHub.
2🔥5👍2⚡1
Mellea - это библиотека для Python, которая позволяет создавать предсказуемые и надежные ИИ-приложения без гадания на кофейной гуще.
Мы все знаем, какое звено в любом ИИ-пайплайне самое нестабильное — это сам вызов LLM. Скрытые сбои, непредсказуемые ответы и полное отсутствие гарантий. Mellea предлагает заменить хрупкие промпты и капризных агентов на структурированные, жестко тестируемые рабочие процессы (workflows).
@generative превращает обычные функции с аннотациями типов в структурированные вызовы ИИ. Ваши докстринги автоматически становятся промптами, а тайп-хинты — схемами валидации. Схемы Pydantic форсируются прямо в момент генерации текста моделью.Вам больше не нужны громоздкие шаблоны и ручные парсеры ответов:
from pydantic import BaseModel
from mellea import generative, start_session
class UserProfile(BaseModel):
name: str
age: int
@generative
def extract_user(text: str) -> UserProfile:
"""Extract the user's name and age from the text."""
m = start_session()
user = extract_user(m, text="User log 42: Alice is 31 years old.")
print(user.name) # Выведет: Alice
print(user.age) # Выведет: 31 (гарантированно тип int)
Проект запущен командой IBM Research (Кембридж, Массачусетс) и распространяется под открытой лицензией Apache-2.0. Установить библиотеку со всеми расширениями можно одной командой:
uv pip install 'mellea[all]'
#Python #Mellea #AI #LLM #Pydantic #GenerativeAI #IBMResearch #OpenSource #DevTools #SoftwareEngineering
https://github.com/generative-computing/mellea
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - generative-computing/mellea: Mellea is a library for writing generative programs.
Mellea is a library for writing generative programs. - generative-computing/mellea
1🔥3 2👍1
Envgap - это диагностическая консольная утилита для Python-проектов, которая находит расхождения и рассинхрон между файлами
.env, .env.example, переменными окружения в shell и вызовами в коде (os.environ, os.getenv или Pydantic BaseSettings).Утилита не загружает ваши конфигурации в рантайм приложения. Её главная задача — показать, почему переменная окружения работает на вашей локальной машине, но внезапно вызывает сбой в CI/CD, внутри Docker-контейнера или на ПК другого разработчика.
DB_URL вместо DATABASE_URL)..env.example, в которых забыли указать новые переменные.changeme, todo или your-key-here.BaseSettings, алиасы, префиксы и дефолтные значения.Если в коде приложения указано:
import os
DATABASE_URL = os.environ["DATABASE_URL"]
А в файле
.env прописано DB_URL=postgres://localhost/app, утилита покажет четкий диагноз:DATABASE_URL отсутствует в .env (ошибка).DB_URL в .env может быть опечаткой для DATABASE_URL (предложение переименовать).Установка через pip:
pip install envgap
Запуск проверки в текущем проекте:
envgap check
Использование в CI пайплайнах (строгий режим с выходом с кодом 1 при предупреждениях):
envgap check --ci
#Python #DevTools #FastAPI #Docker #CICD #Dotenv #Pydantic #Backend #OpenSource #Debugging
https://github.com/Pinak-Datta/envgap
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Pinak-Datta/envgap: enFind gaps between .env, .env.example, shell variables, and Python code.
enFind gaps between .env, .env.example, shell variables, and Python code. - Pinak-Datta/envgap
1👍3🔥3 2
Pydantic Pint - это библиотека для Python, объединяющая возможности валидации данных из Pydantic с библиотекой для работы с физическими величинами и единицами измерения.
Если ваш проект связан с инженерией, научными вычислениями, геоданными или физикой, вам наверняка знакома проблема: Pydantic отлично проверяет типы и структуры, а Pint берет на себя математику над размерными величинами (метры, килограммы, секунды, градусы). По умолчанию они несовместимы, и разработчикам приходится писать кастомные сериализаторы.
pydantic-pint устраняет этот разрыв с помощью чистого синтаксиса typing.Annotated.PydanticPintQuantity("unit").km), а на вход передали строку "12 meters", библиотека проверит размерность и сама пересчитает значение в 0.012 kilometer. Ошибочные размерности (например, попытка передать секунды вместо метров) приведут к ошибке валидации.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
GitHub
GitHub - tylerh111/pydantic-pint: Pydantic Pint Quantities
Pydantic Pint Quantities. Contribute to tylerh111/pydantic-pint development by creating an account on GitHub.
👍4 2🔥1