Media is too big
VIEW IN TELEGRAM
Гвидо ван Россум дал интервью на Python-конфе PyBay
Основные темы:
— почему Python стал языком ИИ и что помогает ему быстро адаптироваться под новые задачи;
— надстройки типизации вроде Pydantic;
— функциональные примитивы а-ля lambda/map/reduce и отношение Гвидо к ним.
Ну и, конечно, про вайб-кодинг тоже поговорили.
В посте видео с дубляжом на русский, а оригинал на YT.
@zen_of_python
Основные темы:
— почему Python стал языком ИИ и что помогает ему быстро адаптироваться под новые задачи;
— надстройки типизации вроде Pydantic;
— функциональные примитивы а-ля lambda/map/reduce и отношение Гвидо к ним.
Ну и, конечно, про вайб-кодинг тоже поговорили.
В посте видео с дубляжом на русский, а оригинал на YT.
@zen_of_python
This media is not supported in your browser
VIEW IN TELEGRAM
Бро, ты можешь тут реализоваться и т.д.
Став частью ОТП Банка, именно ты сделаешь сильнее всю команду! Расти, учись и пробуй новое — это твой шанс создать что-то по-настоящему крутое.
Присоединяйся к ребятам и делись роликом с теми, кто тоже готов к переменам 🚀
Став частью ОТП Банка, именно ты сделаешь сильнее всю команду! Расти, учись и пробуй новое — это твой шанс создать что-то по-настоящему крутое.
Присоединяйся к ребятам и делись роликом с теми, кто тоже готов к переменам 🚀
👎2🙈1
ArgMan — легковесный менеджер аргументов командной строки для Python. Позиционируется как более простая замена argparse для небольших проектов.
Из коробки поддерживаются позиционные и опциональные параметры, короткие и длинные флаги вроде
Сейчас не поддерживается парсинг из списка строк (не только из sys.argv) — автор обещает, что сначала допилит подкоманды, а затем добавит более универсальный парсинг. Исходники на GitHub, автор активно отвечает и готов вносить правки и дорабатывать.
На картинке к посту пример использования.
@zen_of_python
Из коробки поддерживаются позиционные и опциональные параметры, короткие и длинные флаги вроде
-v/--verbose, а также хуки для преобразования типов и валидации. Установка стандартная: pip install argman. Сейчас не поддерживается парсинг из списка строк (не только из sys.argv) — автор обещает, что сначала допилит подкоманды, а затем добавит более универсальный парсинг. Исходники на GitHub, автор активно отвечает и готов вносить правки и дорабатывать.
На картинке к посту пример использования.
@zen_of_python
❤2
Media is too big
VIEW IN TELEGRAM
Гвидо ван Россум рассказал о Structured RAG — подходе, когда мы не просто режем документ на куски и превращаем в векторные эмбединги, а заранее вытаскиваем из текста структурированные «знания» (сущности, типы, действия, связи) и храним их в обычной базе. На этапе запроса вопрос тоже приводится к такому же структурному виду, ищутся совпадения по полям, а при достаточном лимите токенов добавляются исходные фрагменты текста. По словам Гвидо, это даёт более точные ответы, выдерживает длинные диалоги и ускоряет сложные запросы.
Почему это лучше классического RAG с векторами:векторы громоздки, по большим документам совпадения «размываются», а полнота (recall) заметно проседает; озвучена оценка порядка 60%. В Structured RAG основная работа переносится на этап индексации, поэтому сам поиск получается дешевле и легче масштабируется. Плюс можно делать простые выводы по типам (например, если кто-то указан как artist, то это person), что помогает отвечать на вопросы «кто из людей…».
На демо Гвидо показывал поиск по скетчам Monty Python и по собственной почте: система умеет пополнять память на лету, так что к фактам и диалогам можно возвращаться спустя время. Эмбеддинги при этом используются минимально — как вспомогательный механизм для синонимов и родственных терминов; а GraphRAG здесь не конкурент, а соседний подход: Structured RAG выигрывает инкрементальной индексацией без тяжёлой кластеризации.
Код открыт: пакет
В посте дубляж на русский, оригинал на YT.
@zen_of_python
Почему это лучше классического RAG с векторами:
На демо Гвидо показывал поиск по скетчам Monty Python и по собственной почте: система умеет пополнять память на лету, так что к фактам и диалогам можно возвращаться спустя время. Эмбеддинги при этом используются минимально — как вспомогательный механизм для синонимов и родственных терминов; а GraphRAG здесь не конкурент, а соседний подход: Structured RAG выигрывает инкрементальной индексацией без тяжёлой кластеризации.
Код открыт: пакет
typeagent уже доступен на PyPI. Исходники лежат в репозитории. Это ранний прототип; для запуска нужен ключ к LLM‑провайдеру (в докладе — OpenAI).В посте дубляж на русский, оригинал на YT.
@zen_of_python
1❤7
Статья «Building a CI/CD Pipeline Runner from Scratch in Python»
Автор показал, как собрать с нуля свой мини‑раннер для CI/CD на Python для случаев без доступа к GitHub Actions/GitLab Runner, чтобы понять, что происходит под капотом и запускать пайплайны в изолированных окружениях без облака. Ключевая идея простая: раннер — это оркестратор, который парсит YAML, строит граф зависимостей, запускает задачи в контейнерах, стримит логи и пробрасывает артефакты между задачами.
Из примеров: классика со стадиями build/test/deploy, где build кладёт сборку в dist/, тесты берут контент из dist/ и запускаются параллельно, а деплой на прод запускается только в ветке main. Артефакты складываются во внутреннюю .pipeline_artifacts и перед каждым шагом подтягиваются по списку нужных задач, при этом рабочая папка монтируется в контейнер, а команды шага объединяются в одну строку shell.
Такой раннер пригодится для локального теста конфигов или учебных задач, когда хочется гибкости без внешних сервисов. До продакшен уровня остаются распределённое выполнение, кеши зависимостей, матричные сборки, секреты, сервис‑контейнеры и ретраи, но базовая архитектура — парсер, планировщик, исполнитель и менеджер артефактов — уже закрывает основные потребности.
@zen_of_python
Автор показал, как собрать с нуля свой мини‑раннер для CI/CD на Python для случаев без доступа к GitHub Actions/GitLab Runner, чтобы понять, что происходит под капотом и запускать пайплайны в изолированных окружениях без облака. Ключевая идея простая: раннер — это оркестратор, который парсит YAML, строит граф зависимостей, запускает задачи в контейнерах, стримит логи и пробрасывает артефакты между задачами.
Из примеров: классика со стадиями build/test/deploy, где build кладёт сборку в dist/, тесты берут контент из dist/ и запускаются параллельно, а деплой на прод запускается только в ветке main. Артефакты складываются во внутреннюю .pipeline_artifacts и перед каждым шагом подтягиваются по списку нужных задач, при этом рабочая папка монтируется в контейнер, а команды шага объединяются в одну строку shell.
Такой раннер пригодится для локального теста конфигов или учебных задач, когда хочется гибкости без внешних сервисов. До продакшен уровня остаются распределённое выполнение, кеши зависимостей, матричные сборки, секреты, сервис‑контейнеры и ретраи, но базовая архитектура — парсер, планировщик, исполнитель и менеджер артефактов — уже закрывает основные потребности.
@zen_of_python
⚡3
Forwarded from Типичный программист
С кем знакомятся типичные программисты: 2D-тян или живая девушка?
Согласно недавним исследованиям Vantage Point Counseling Services, треть американцев хотя бы раз состояла в романтических отношениях с ИИ. Появилось даже приложение Loverse для виртуальных знакомств, где вместо реальных людей роль партнёров выполняют чат-боты с искусственным интеллектом.
Мы решили провести своё исследование и выяснить где и с кем сегодня знакомятся пользователи стран СНГ. Пожалуйста, пройдите наш небольшой опрос. Это поможет нашему исследованию.
Пройти опрос.
Согласно недавним исследованиям Vantage Point Counseling Services, треть американцев хотя бы раз состояла в романтических отношениях с ИИ. Появилось даже приложение Loverse для виртуальных знакомств, где вместо реальных людей роль партнёров выполняют чат-боты с искусственным интеллектом.
Мы решили провести своё исследование и выяснить где и с кем сегодня знакомятся пользователи стран СНГ. Пожалуйста, пройдите наш небольшой опрос. Это поможет нашему исследованию.
Пройти опрос.
❤4😢1
Вы знали, что у нас есть канал с хитрыми задачками по Python?
Вот прямо сейчас там в комментариях обсуждаем задачу с подвохом.
Каждый рабочий день по одной задачке с квизом, можно сразу проверить себя. И через час пост с подробным объяснением, почему именно так.
Вот прямо сейчас там в комментариях обсуждаем задачу с подвохом.
Каждый рабочий день по одной задачке с квизом, можно сразу проверить себя. И через час пост с подробным объяснением, почему именно так.
🗿5
Занятный проект на Python из категории «потому что могу»: Rubiksolver
Коротко: это десктоп-приложение, которое через веб-камеру считывает состояние перемешанного кубика Рубика и показывает пошаговое решение с анимацией в окне на PySide6 с отрисовкой через OpenGL и обработкой изображения в OpenCV. Проект позиционируется как учебный — подойдёт тем, кто хочет понять базовые приёмы компьютерного зрения и графики на практике.
Сканирование: показываете камере по одной грани по заранее заданным правилам. После скана жмёте Play, чтобы запустить анимацию, или листаете шаги кнопками Previous/Next — так удобно проверять, что распознание и сама сборка идут корректно.
Установка: клонируете репозиторий, выполняете
Автор отмечает, что на Android встречаются решалки, но чаще всего там состояние кубика приходится вбивать руками, без автосканирования камерой — здесь как раз закрыта эта боль.
@zen_of_python
Коротко: это десктоп-приложение, которое через веб-камеру считывает состояние перемешанного кубика Рубика и показывает пошаговое решение с анимацией в окне на PySide6 с отрисовкой через OpenGL и обработкой изображения в OpenCV. Проект позиционируется как учебный — подойдёт тем, кто хочет понять базовые приёмы компьютерного зрения и графики на практике.
Сканирование: показываете камере по одной грани по заранее заданным правилам. После скана жмёте Play, чтобы запустить анимацию, или листаете шаги кнопками Previous/Next — так удобно проверять, что распознание и сама сборка идут корректно.
Установка: клонируете репозиторий, выполняете
uv sync для зависимостей и запускаете uv run rubiksolver — автор использует современный менеджер uv, так что установка занимает минимум времени. Автор отмечает, что на Android встречаются решалки, но чаще всего там состояние кубика приходится вбивать руками, без автосканирования камерой — здесь как раз закрыта эта боль.
@zen_of_python
This media is not supported in your browser
VIEW IN TELEGRAM
3👍12❤1
Обвязка вокруг SQLAlchemy Core — sqla-fancy-core. Это не очередной ORM, а надстройка для тех, кто любит писать запросы сам, но хочет строгую типизацию, поддержку асинхронности и понятные транзакции без «магии» сессий.
Главная фишка — другой способ описывать таблицы вместо
Пример:
Проект задуман под продакшен: для тех, кто хочет конструктор запросов вместо ORM, но без потери читаемости и безопасности. По словам автора, в отличие от Peewee тут есть аннотации типов и официальная работа с async, Piccolo менее гибкий и сильно навязан по архитектуре, а Pypika не защищает от SQL‑инъекций по умолчанию. В итоге это просто способ сделать SQLAlchemy Core чуть более строгим и удобным, не меняя стек целиком.
Есть отдельное демо по использованию.
@zen_of_python
Главная фишка — другой способ описывать таблицы вместо
table.c.column, который нормально дружит с проверкой типов и делает код понятнее. Плюс поверх движка добавлены обёртки и декораторы: они берут на себя создание подключений и управление транзакциями.Пример:
import sqlalchemy as sa
from sqla_fancy_core import TableBuilder
tb = TableBuilder()
class Author:
id = tb.auto_id()
name = tb.string("name")
created_at = tb.created_at()
updated_at = tb.updated_at()
Table = tb("author")
Проект задуман под продакшен: для тех, кто хочет конструктор запросов вместо ORM, но без потери читаемости и безопасности. По словам автора, в отличие от Peewee тут есть аннотации типов и официальная работа с async, Piccolo менее гибкий и сильно навязан по архитектуре, а Pypika не защищает от SQL‑инъекций по умолчанию. В итоге это просто способ сделать SQLAlchemy Core чуть более строгим и удобным, не меняя стек целиком.
Есть отдельное демо по использованию.
@zen_of_python
1👎1👾1