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

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

Сайт: https://pythonomania.github.io/
Download Telegram
📱Great Tables — это библиотека, которая позволяет создавать великолепно выглядящие таблицы в Python.

✅ Библиотека Great Tables разработана для того, чтобы быть одновременно простой и мощной.

✅ Акцент делается на простых методах для повседневных нужд отображения таблиц (но с мощными возможностями, когда это необходимо).

#Python #GreatTables #DataVisualization #PythonDevelopment #Programming #DataScience #TableFormatting #Coding #SoftwareEngineering #DevTips

📱Ссылка на репозиторий:
https://github.com/posit-dev/great-tables
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7⚡2👍2
📱Wrapt.

Wrapt
— модуль, цель которого предоставить прозрачный объектный прокси для Python, который может быть использован в качестве основы для создания обёрток функций и декораторов.

🫥Пример декоратора:
import wrapt

@wrapt.decorator
def pass_through(wrapped, instance, args, kwargs):
return wrapped(*args, **kwargs)

@pass_through
def function():
pass


🔘Помимо поддержки создания объектных прокси, обёрток функций и декораторов, модуль также предоставляет механизм хуков для импорта и другие утилиты.

🔘Модуль wrapt уделяет особое внимание корректности и значительно превосходит functools.wraps().

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

#Python #Wrapt #Programming #Development #Coding #PythonModules #Decorators #FunctionWrappers #SoftwareEngineering #MonkeyPatching

📱Ссылка на репозиторий:
https://github.com/GrahamDumpleton/wrapt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32⚡1🔥1
📱Mellea.

Mellea
- это библиотека для Python, которая позволяет создавать предсказуемые и надежные ИИ-приложения без гадания на кофейной гуще.

Мы все знаем, какое звено в любом ИИ-пайплайне самое нестабильное — это сам вызов LLM. Скрытые сбои, непредсказуемые ответы и полное отсутствие гарантий. Mellea предлагает заменить хрупкие промпты и капризных агентов на структурированные, жестко тестируемые рабочие процессы (workflows).

🔹Главные фичи библиотеки:

🔘Нативный структурированный вывод: Декоратор @generative превращает обычные функции с аннотациями типов в структурированные вызовы ИИ. Ваши докстринги автоматически становятся промптами, а тайп-хинты — схемами валидации. Схемы Pydantic форсируются прямо в момент генерации текста моделью.

🔘Проверка требований и самоисправление (Requirements & repair): Вы можете прикрепить к любому вызову условия на естественном языке. Mellea сама проверит результат выполнения и запустит автоматические повторные попытки (retries), если модель ошиблась.

🔘Умные стратегии сэмплинга: Нужна максимальная точность? Запустите генерацию несколько раз и выберите лучший результат, переключаясь между rejection sampling (выборка с отклонением), majority voting (голосование большинства) и другими стратегиями с помощью одного параметра.

🔘Мультиплатформенность: Из коробки поддерживаются Ollama, OpenAI, HuggingFace, WatsonX, LiteLLM и AWS Bedrock.

🔘Совместимость с MCP: Любую генеративную программу можно легко превратить в инструмент для экосистемы MCP (Model Context Protocol).

❓Как это выглядит в коде:

Вам больше не нужны громоздкие шаблоны и ручные парсеры ответов:

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
1🔥32👍1
📱Cayu.

Cayu
- это production-ready среда выполнения (agent runtime) для создания, масштабирования и надежной эксплуатации автономных ИИ-агентов на Python.

Собрать прототип агента на базе стандартных SDK сегодня несложно, но реальные проблемы в проде начинаются на стыках инфраструктуры: падение процесса прямо во время внешнего API-вызова, утечка учетных данных, переполнение контекста LLM, необходимость паузы для аппрува человеком или потеря истории расходов при ретраях. Cayu закрывает именно эти эксплуатационные вызовы, предоставляя надежные низкоуровневые примитивы без привязки к громоздким внешним оркестраторам.

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

🔘Durable Execution и контрольные точки: Сессии, события и транскрипты сохраняются в базу (SQLite локально или PostgreSQL в проде). Любой пайплайн агента можно поставить на паузу, безопасно форкнуть, прервать или возобновить (resume) после перезапуска сервиса.

🔘Human-in-the-Loop (HITL): Нативные механизмы согласований (approvals) и ручного вмешательства. Если модели требуется подтверждение опасного действия или дополнительный ввод от пользователя, выполнение встает на чекпоинт.

🔘Безопасность и виртуальный egress: Строгие политики вызова инструментов (ToolPolicy), типизированные эффекты и изоляция учетных данных. Агенты могут выполнять задачи (например, работу с Git/GitHub CLI), не получая прямого доступа к боевым токенам хоста.

🔘Изоляция окружений: Поддержка локальных воркспейсов, Docker-контейнеров, песочниц E2B и легковесных микро-ВМ (Microsandbox, AWS Lambda MicroVM).

🔘Контроль контекста и расходов: Автоматический подсчет токенов, алгоритмическое сжатие контекста (compaction), защита от переполнения окна модели и пошаговый учет стоимости каждого вызова.

🔘Встроенный Control Plane: Включает готовый сервер на FastAPI и веб-дашборд на React/TypeScript для мониторинга сессий, трейсов, артефактов и задач. Исходники дашборда можно в один клик извлечь для кастомизации (cayu dashboard eject).

🔘Мультипровайдерность: Поддержка OpenAI, Anthropic, AWS Bedrock, Google Cloud Vertex AI, OpenRouter, а также локальный режим авторизации через личную подписку ChatGPT.

💻Пример запуска агента на Python:
import asyncio
from cayu import (
AgentSpec,
CayuApp,
Message,
OpenAIProvider,
RunRequest,
run_to_completion,
)

async def main() -> None:
app = CayuApp()
# Регистрация провайдера (берет ключ из OPENAI_API_KEY)
app.register_provider(OpenAIProvider(), default=True)
app.register_agent(AgentSpec(name="assistant", model="gpt-4o"))

# Надежный запуск с фиксацией событий в сессии
outcome = await run_to_completion(
app,
RunRequest(
agent_name="assistant",
messages=[Message.text("user", "Объясни концепцию durable agent execution.")],
),
)

if outcome.ok:
print(outcome.final_text)
else:
print(f"Ошибка {outcome.status}: {outcome.error}")

asyncio.run(main())


🚀Быстрый старт через CLI:
pip install cayu

# Генерация готового каркаса проекта
cayu new myagent
cd myagent

# Запуск проверок и тестов
cayu check --fail-on warning --json
pytest


✅Проект распространяется под открытой лицензией Apache 2.0.

#Python #Cayu #AIAgents #LLM #AgenticAI #DevTools #MachineLearning #OpenSource #Backend #SoftwareEngineering

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

Engrim
- это универсальный открытый стандарт эпизодической памяти для ИИ-агентов и кодинг-ассистентов, позволяющий свободно переключаться между различными инструментами и моделями (Claude Code, Cursor, Codex CLI, Google Antigravity, GitHub Copilot CLI, OpenCode, Windsurf) на одной кодовой базе без потери архитектурных решений, ограничений и проектного контекста.

Главная проблема современных чат-сессий при разработке — «ловушка 200k-токенов»: повторная отправка сотен тысяч токенов сырых логов размывает внимание LLM, вызывает галлюцинации и раздувает стоимость вызовов, а очистка чата (/clear) сбрасывает контекст до нуля. Engrim решает это заменой сырой истории диалога на компактный, высокоточный пак рабочей памяти (~4000 символов, менее 1000 токенов / <1% окна контекста), который хранится локально в SQLite.

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

🔘Воркфлоу Continue-As-Clear: Когда контекстное окно забивается или модель начинает «плыть», вы просто очищаете чат командой /clear. Следующая сессия автоматически подхватывает актуальные архитектурные решения, состояние проекта и указатель [▶️ RESUME HERE].

🔘100% Local-First и приватность: Данные хранятся исключительно на вашей машине в файле ~/.engrim/memory.db (режим SQLite WAL, права доступа POSIX 0600). Никакой телеметрии, облачной синхронизации и риска утечки проприетарного кода в сторонние SaaS-сервисы.

🔘Отслеживание авторства решений (Provenance Tracking): Запоминает, какой именно агент инициировал изменение (origin_agent: claude-code, cursor, antigravity, codex и т.д.). В памяти четко видно, кто переключил базу данных на PostgreSQL или стандартизировал схемы Pydantic.

🔘Быстрый гибридный поиск (~30 мс на CPU): Комбинирует полнотекстовый лексический поиск (BM25 / FTS5) и легковесные векторные эмбеддинги (model2vec), работая полностью на процессоре без необходимости в GPU.

🔘Самоисцеление окружений (engrim doctor --fix): Проводит аудит базы данных, проверяет статус хуков жизненного цикла во всех средах и автоматически исправляет пути к бинарникам при смене каталогов или переносе конфигов между машинами.

🔘Нативный MCP-сервер: Из коробки реализует протокол Model Context Protocol с инструментами engrim_add, engrim_recall, engrim_context и engrim_review.

💻Быстрый старт:

Установка:

pip install engrim


Автоматическая настройка всех сред разработки на машине:


# Сам находит установленные Claude Code, Cursor, Codex, Copilot и др. и прописывает хуки/MCP
engrim setup

# Диагностика и автоматическое исправление путей:
engrim doctor --fix


Добавление важного архитектурного решения вручную:


engrim add -t decision -s "Перешли на PostgreSQL и нормализовали схемы данных"


✅Проект распространяется под открытой лицензией MIT.

#Engrim #Python #AIAgents #ClaudeCode #Cursor #Codex #LLM #DevTools #OpenSource #SoftwareEngineering #Architecture #MCP

📱Ссылка на репозиторий:
https://github.com/timgordontg/engrim
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2👍1
🎓Claude Academy - это официальный интерактивный обучающий трек от компании Anthropic, посвященный эффективному освоению и практическому применению консольного ИИ-агента Claude Code.

Большинство инженеров привыкли к ИИ в виде чатов или расширений для автодополнения в IDE. Claude Code переносит агента прямо в терминал: он умеет самостоятельно исследовать архитектуру проекта, читать и редактировать файлы, выполнять тесты, диагностировать логи сборки и работать с Git.

Обучающая программа Claude Academy помогает перейти от поверхностного использования к продвинутым паттернам агентной разработки.

📚Чему учит курс:

🔘Архитектура и базовый воркфлоу: Принципы работы терминального агента, индексация репозиториев любого размера и эффективная постановка задач на естественном языке.

🔘Модель разрешений и безопасность: Управление политиками выполнения команд (bash, модификация файлов, работа с Git), настройка уровней автономности и безопасная изоляция окружения.

🔘Управление контекстом и долговременная память: Тонкости работы с файлами инструкций CLAUDE.md, оптимизация расхода токенов, алгоритмическое сжатие сессий (/compact) и сброс контекста без потери ключевых архитектурных договоренностей.

🔘Расширение возможностей через MCP: Подключение внешних баз данных, поисковых систем, документаций и API через открытый протокол Model Context Protocol прямо в рабочий цикл агента.

🔘Реальные инженерные кейсы: Практика рефакторинга монолитов, расследование сложных плавающих багов, автоматизация написания тестов и подготовка PR.

💻Быстрый старт с инструментом:

# Глобальная установка Claude Code
npm install -g @anthropic-ai/claude-code

# Запуск в корне вашего репозитория
cd my-project
claude


⬇️Пройти интерактивные модули и практические руководства можно бесплатно на портале Anthropic Academy.

#ClaudeCode #Anthropic #Claude #ClaudeAcademy #AIAgents #CLI #DevTools #Programming #LLM #SoftwareEngineering #MCP
Please open Telegram to view this post
VIEW IN TELEGRAM
3⚡2
📱Taste-Bench.

Taste-Bench
- это бенчмарк для языковых моделей и ИИ-агентов, оценивающий их инженерную интуицию и «вкус» (taste) — способность выбирать верное направление на ключевых развилках при решении сложных долгосрочных задач (long-horizon tasks).

В длительных циклах автономной разработки или ML-исследований неверное решение на раннем этапе часто кажется вполне логичным в моменте, но в итоге заводит агента в тупик и сжигает весь бюджет контекста. Taste-Bench проверяет, способна ли модель почувствовать правильный вектор развития еще до того, как последствия станут очевидными.

🧩Как устроен датасет:

Модели на вход подается описание задачи, накопленный контекст работы агента до развилки (до 64k токенов) и два альтернативных варианта следующего действия (A и B). Задача — выбрать шаг, который в скрытом продолжении реальной траектории привел к успеху.

Все 502 вопроса бенчмарка добыты напрямую из логов реальных запусков без ручной разметки экспертами:
✔️
• 🔀 Параллельные развилки (Parallel forks): Независимые попытки решить одну задачу, разошедшиеся в определенной точке с противоположным итоговым результатом (одна прошла тесты, вторая упала).

🔘Развилки с откатом (Detour forks): Ситуации, где агент выбрал ложный путь, столкнулся с ошибкой, откатился и нашел рабочее решение. Сравнивается тупиковое действие и правильный корректирующий шаг.

🔘Строгая фильтрация: Исключены тривиальные развилки (где очевиден выбор без контекста) и спорные случаи (где судьи-модели не сошлись в оценке). 390 вопросов взяты из SWE-bench и SWE-bench Pro (software engineering), а 112 — из METR MALT / RE-Bench / HCAST (ML-исследования).

⚖️Бескомпромиссный протокол тестирования:

Оценка проводится по протоколу paired_order_v1: каждый вопрос задается дважды с перестановкой вариантов (A/B и B/A). Балл засчитывается только при верном выборе в обоих случаях.
• Случайное угадывание дает всего 25%.
• Стратегия «всегда выбирать A» дает 0%.

🏆Результаты лидерборда (Frontier Models):
Даже ведущие модели с трудом преодолевают планку в 50–60% точности:


✔️GPT-5.6 Sol — 59.7%

✔️GPT-5.5 — 59.5%

✔️Claude Opus 5 — 55.5%

✔️Grok 4.5 — 54.6%

✔️GLM-5.2 — 53.9%

✔️Claude Sonnet 5 — 51.6%

✔️DeepSeek V4 Flash — 43.3%

💻Быстрый старт:

git clone https://github.com/wbopan/tastebench && cd tastebench
uv sync

# Загрузка датасета (требуется доступ на Hugging Face)
uv run tb download

# Запуск оценки модели через OpenAI-совместимый эндпоинт
export TASTEBENCH_API_KEY="your-key"
uv run tb run --model gpt-5.5 --api https://api.openai.com/v1/chat/completions

# Подсчет итогового скора
uv run tb score runs/gpt-5.5/<date>


Датасет доступен в библиотеке datasets:

from datasets import load_dataset
rows = load_dataset("wenbopan/taste-bench", "engineering", split="test", revision="v1.0")


✅Код бенчмарка распространяется под лицензией MIT, данные — под CC BY 4.0.

#TasteBench #Benchmark #AIAgents #LLM #MachineLearning #SWEbench #SoftwareEngineering #DataScience #OpenSource #DevTools #Eval

📱Ссылка на репозиторий:
https://github.com/wbopan/tastebench
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
📱TurboPython.

TurboPython
- это опережающий (AOT) компилятор, транслирующий статически типизированный Python через современный C++23 напрямую в автономный нативный бинарник без интерпретатора, сборщика мусора и GIL.

В отличие от Cython, mypyc или Nuitka, сгенерированный код вообще не опирается на рантайм CPython и подсчет ссылок, а в отличие от Codon и Shed Skin — не использует сторонний сборщик мусора (GC). Памятью управляет строгая модель владения (Ownership) в стиле Rust, проверяемая прямо во время компиляции. При этом исходные файлы остаются синтаксически валидным кодом на Python, понятным привычным линтерам, IDE и кодинг-агентам.

🔹Главные особенности:

🔘Никакого CPython, GC и GIL: На выходе получается чистый нативный C++23-бинарник. Нет оверхеда на виртуальную машину, трассирующий сборщик мусора или Reference Counting, а для критических участков доступна директива @noalloc.

🔘Модель владения (Ownership Model): Каждое значение имеет ровно одного владельца (стековый фрейм, поле класса или контейнер). Передача владения оформляется явно через Own[T], а неявные копирования данных подсвечиваются компилятором еще до запуска программы.

🔘Настоящий параллелизм с проверкой типов: Многопоточный запуск (spawn) нативных потоков ОС без ограничений GIL. Компилятор на этапе сборки статически проверяет контракты Send и Sync, предотвращая состояние гонки (data races). Доступ к разделяемым ресурсам идет через знакомые примитивы: Arc[Mutex[T]], RwLock, атомики и каналы.

🔘Фиксированные типы и контроль переполнений: Введены нативные целочисленные типы (например, int32), литералы и функция len() по умолчанию 32-битные с проверкой переполнения на аппаратном уровне (ошибка вместо тихого заворачивания значения). Стандартный int остается длинной арифметикой произвольной точности.

🔘Полная интеграция с экосистемой C/C++: Легко линкуется с внешними C/C++ библиотеками (@native, @export(binding="C")), генерирует чистый C++ код с готовыми CMakeLists.txt и умеет компилироваться как в автономные бинарники, так и в нативные модули расширения для стандартного CPython.

💻Пример кода:

from dataclasses import dataclass
from tpy import Own, int32

@dataclass
class Stats:
count: int32
total: int32
longest: int32

# Функция передает владение объектом Stats вызывающей стороне
def measure(words: list[str]) -> Own[Stats]:
total, longest = 0, 0
for w in words:
total += len(w)
longest = max(longest, len(w))
return Stats(len(words), total, longest)

s = measure("the quick brown fox jumps over the lazy dog".split())
print(s.count, s.total, s.longest)


🚀Сборка и запуск:

Установка компилятора (требуется Python 3.12+ и Clang 19+ / GCC 13+):

# Установка с бандлом компилятора Zig
pip install "tpy-lang[bundled]"


Компиляция и запуск:


# Запуск через JIT-подобный вызов или REPL
tpy stats.py

# Сборка в автономный нативный бинарный файл
tpyc -b stats.py
./__tpyc__/stats.d/release/stats

# Просмотр сгенерированного чистого C++ кода
tpy --dump-code stats.py


📌Статус проекта: Ранняя разработка (pre-1.0). Поддерживаются Linux и macOS (для Windows рекомендуется WSL). Лицензия — Apache 2.0 with LLVM Exceptions (позволяет распространять собранные бинарники без лицензионных ограничений).

#TurboPython #Python #Cpp #Compiler #AOT #Performance #Rust #NoGIL #Multithreading #DevTools #OpenSource #SoftwareEngineering

📱Ссылка на репозиторий:
https://github.com/trozen/tpy-lang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3⚡22