Python for Devs
1.16K subscribers
50 photos
19 videos
68 links
По сотрудничеству пишите в личные сообщения канала.
Download Telegram
😎 Новый проект Андрея Карпати: консилиум LLM

Андрей Карпаты (экс-директор по ИИ в Tesla) выложил llm-council — небольшой проект, в котором один запрос обрабатывают сразу несколько моделей.

Каждая генерирует свой ответ, после чего им показывают анонимные варианты друг друга. Модели критикуют, сравнивают и оценивают ответы, а итог формирует отдельная модель-«председатель», получающая весь контекст обсуждения.

Идея не нова, но масштаб личности заставил многих обратить внимание на этот проект (уже почти 4к звёзд на GitHub).

Карпаты использует этот подход для разбора сложных книг: LLM спорят о содержании глав, находят слабые места в аргументации друг друга и принимают коллективное решение. Интересно, что в таких «совещаниях» модели часто выбирают GPT-5.1 как наиболее качественный вариант, а Sonnet — как наименее полезный.

Код бэкенда для этого проекта небольшой, полностью на Python и легко читается.

@python_for_devs
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥3😁1
⚡️ 10 приёмов профессионала для ускорения кода на Python

В новой статье говорим о том, как делать код на Python быстрее без переписывания проектов с нуля.

В статье 10 практичных приёмов — от sets и bisect до локальных функций и предвыделения памяти — которые дают реальный прирост скорости в типовых сценариях.

📚 Читать на Хабр: https://habr.com/ru/articles/969848/

🔖 Сохраняй, чтобы не потерять!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥42🤩1
🐍 Почему Python — вообще не идеален для data science — и что с этим не так

Перевели любопытную статью: Клаус Вилке объясняет, почему Python, несмотря на статус языка №1 в data science, на самом деле делает многие базовые вещи... неудобными. И дело не в студентах, не в навыках и даже не в привычках — проблема глубже.

Автор двадцать лет руководит биоинформатической лабораторией. И вот типичный сценарий: студент показывает анализ, Клаус просит «чуть поменять график» — violin вместо boxplot, heatmap вместо line plot, плотность вместо гистограммы.

В R это 2–3 строки. В случае с Python студенты обычно отвечают:

Окей, дайте немного времени, я вернусь


И речь о вполне сильных ребятах.

Даже опытные дата-сайентисты, которые знают pandas, NumPy и matplotlib вдоль и поперёк, постоянно тонут в синтаксических костылях: лишние кавычки, лишние скобки, лишние манипуляции. То, что в R выражается естественным языком, Python требует «ручной сборки»: группировки вручную, столбцы в кавычках, агрегаты в виде кортежей, а иногда и возвращение в мир списков, циклов и словарей — просто чтобы сделать что-то концептуально простое.

Да, pandas вроде бы закрывает большинство задач. Но стоит анализу выйти за рамки «группировка + среднее» — и инструменты начинают работать против пользователя. Автор честно признаёт: в Python слишком легко сорваться с уровня анализа на уровень рутинной возни.

Вилке формулирует простой критерий: хороший язык для data science — это тот, где вы описываете намерение, а не механику. «Хочу взять пингвинов, убрать пропуски, сгруппировать по виду и острову, посчитать статистики». На R это почти копирует естественную фразу. В Python — похожие конструкции есть, но гораздо быстрее оказываешься среди индексов, типов и мелкой логики.

📚 Читайте и комментарийте на Хабр.

@python_for_devs
👍6🔥3💯3
🤩 Django 6.0 получил встроенные фоновые задачи — но это только начало пути

Django наконец добавил единый API для фоновых задач — модуль django.tasks. Это важное изменение: раньше у каждого решения (Celery, Huey, RQ и др.) были свои декораторы, свои подходы. Теперь есть общий стандарт, на который можно опираться.

Но есть нюанс: в Django 6.0 нет воркеров. Совсем. Фреймворк умеет ставить задачи в очередь, но не умеет их выполнять — этим по-прежнему должны заниматься внешние процессы. Из коробки есть только ImmediateBackend, который запускает задачу тут же, и DummyBackend, который не делает ничего.

Де-факто, это первый шаг большого пути, цель которого — не заменить Celery, а дать унифицированное ядро, на котором будут строиться адаптеры, бекенды и новые Open source-решения. Именно поэтому в Django 6.0 API простое и намеренно ограниченное: никаких ретраев, оркестрации, бэкоффов или цепочек задач.

@python_for_devs
👍7🔥32
🚀 Вышел Django 6.0

Фреймворк получил встроенные Background Tasks — лёгкий способ запускать фоновые процессы без Celery и тяжёлой инфраструктуры. Про них мы как раз недавно рассказывали.

Появились Template Partials — нормальные переиспользуемые куски шаблонов вместо хака с наследованием. Вёрстка сложных страниц станет куда чище.

На стороне безопасности — нативный CSP, наконец-то без сторонних пакетов. Плюс обновлённый Email API на базе EmailMessage.

С релизом 6.0 ветки 5.2 и 5.1 ушли с основной поддержки — для всех старых проектов самое время планировать апдейт.

@python_for_devs
👍8🔥321
Forwarded from AI for Devs
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ JetBrains представила Air: новую агентную IDE

Компания выпустила Air — ADE (Agentic Development Environment), ориентированную на гибридную работу «разработчик + ИИ-агенты».

Это не просто чат с моделью внутри IDE, а отдельная среда разработки, где можно ставить задачи агентам, запускать их параллельно, контролировать изменения и коммитить результаты.

Air пока доступен в превью и работает только с одним агентом — Claude Agent, причём для использования требуется активная подписка Anthropic.

Версии для Windows и Linux обещают в 2026 году — сейчас приложение доступно только на macOS.

Сайт | Документация | Анонс в X | Анонс на Habr

@ai_for_devs
👍7😱4🔥3
Python for Devs
🐍 Почему Python — вообще не идеален для data science — и что с этим не так Перевели любопытную статью: Клаус Вилке объясняет, почему Python, несмотря на статус языка №1 в data science, на самом деле делает многие базовые вещи... неудобными. И дело не в студентах…
🐍 Почему Python — не лучший язык для data science. Часть 2

В продолжении цикла статей разбираемся уже не с привычками сообщества, а с ограничениями *самого языка* — и тем, почему они делают анализ данных в Python заметно тяжелее, чем в R.

Главная мысль проста: многие боли pandas и NumPy — не ошибки библиотек, а следствие того, как устроен Python изнутри.

🟣 Python тянет за собой call-by-reference: любая функция может незаметно мутировать ваш объект.
🟣 В языке нет единого представления пропусков — поэтому у NumPy одно, у pandas другое, у Polars третье, и все ведут себя по-своему.
🟣 Отсутствует встроенная векторизация, что рождает зоопарк несовместимых структур: списки, NumPy arrays, pandas Series, Polars Series — и бесконечные преобразования между ними.

И наконец — главный проигрыш Python: отсутствие нестандартной оценки выражений. То, что в R делается одной строкой, в Python превращается в лямбды, временные колонки и ручную сборку синтаксиса.

📚 Читайте и комментируйте на Хабр.

@python_for_devs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥3
⚡️ Вышел PyCharm 2025.3

В новом релизе JetBrains объединили пользователей Community с основным дистрибутивом, усилили инструменты для Data Science и удалённой разработки, а также расширили поддержку современных LSP-сервисов.

Коротко — самое важное:

— Community Edition переехал в единый дистрибутив PyCharm, вместе с полной поддержкой Jupyter.
— Полная работа с Jupyter-ноутбуками при удалённой разработке (Pro): интерактивные таблицы, графики, Variables, Data View.
— uv теперь менеджер окружений по умолчанию — быстрый старт и автоматическая установка нужной версии Python.
— Упреждающий анализ данных для pandas: пропуски, выбросы, дубликаты, корреляции + Fix with AI.
— Поддержка Ruff, Pyrefly, Pyright и ty через LSP — форматирование, типы, выводимые аннотации прямо в коде.
— Новое окно Process Output: вся диагностика команд IDE в одном месте, без модальных поп-апов.
— Новая тема интерфейса Islands по умолчанию.
— Обновлённый немодальный Welcome-экран с быстрым стартом проектов.

📚 Читайте и комментируйте на Хабр.

@python_for_devs
👍74🔥4
🎁 Подготовили подробный обзор нововведений в Django версии 6.0

В свежем релизе фреймворк усиливает совместимость между СУБД, упрощает работу с email, улучшает ORM, добавляет удобства в шаблонах и снижает риск «выгорания» первичных ключей.

По сути эта статья – практическое руководство по миграции с пояснениями «почему именно так».

📚 Читайте и комментируйте на Хабр.

@python_for_devs
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥4👍3
⚔️ Pyrefly & ty — два новых Rust-анализатора типов для Python

Оба работают инкрементально, используют Ruff для AST и показывают отличную скорость. В бенчмарках на PyTorch и pyrefly и ty оказываются в 10–20 раз быстрее классических анализаторов, причём ty в тестах стабильно обгоняет pyrefly ещё в 2–3 раза.

Pyrefly идёт по пути агрессивного вывода типов — пытается вывести максимум даже из полностью неаннотированного кода и за счёт этого ловит тонкие ошибки, которые mypy и pyright пропускают. Минус такой стратегии — иногда появляются ошибки там, где Python-программа вообще-то работает. Зато дженерики, перегрузки и сложные контейнеры pyrefly уже сейчас обрабатывает весьма уверенно.

ty, наоборот, придерживается принципа gradual guarantee: если код рабочий, анализатор не должен превращать его в «кладбище ошибок». Он реже делает жёсткие выводы, выдаёт значительно более читабельные ошибки и вводит крутые новые возможности вроде intersection types и negation types — единственная реализация таких типов в Python-анализаторах на сегодня.

Пощупать можно уже сейчас: у pyrefly есть sandbox, у ty — playground.

@python_for_devs
6👍4🔥2
🎓 Нашли бесплатный курс Introduction to LangChain (Python)

Внутри:
— 28 уроков
— 1.5+ часа видео
— практические проекты

Для тех, кто хочет уверенно войти в агентные системы: https://academy.langchain.com/courses/foundation-introduction-to-langchain-python

@python_for_devs
👍8🔥43
This media is not supported in your browser
VIEW IN TELEGRAM
🎥 Manim — математические анимации уровня 3Blue1Brown на Python

Статичные формулы и графики плохо объясняют сложные идеи. Manim решает эту проблему, позволяя создавать математические анимации кодом — в том самом стиле, который сделал 3Blue1Brown эталоном визуальных объяснений.

Через Python можно управлять всем: фигурами, LaTeX-формулами, их пошаговыми преобразованиями, движением камеры и траекториями. Manim особенно хорош там, где важно показать процесс рассуждения, а не просто финальный результат — выводы формул, геометрию, графики функций.

📚 Подробнее в нашей новой статье на Хабре.

@python_for_devs
👍73🔥3
⚡️ Опубликована предварительная страница What’s new in Python 3.15

До релиза ещё далеко, документ в статусе draft и будет заметно меняться, но часть ключевых направлений уже видна.

Коротко, что уже заявлено:

— PEP 799: отдельный пакет для профилирования и организации profiling-инструментов
— PEP 799: Tachyon — высокочастотный статистический sampling-профайлер
— PEP 686: UTF-8 становится кодировкой по умолчанию
— PEP 782: новый C API PyBytesWriter для создания bytes-объектов
— Существенные обновления JIT-компилятора
— Улучшенные сообщения об ошибках

Полный список изменений и детали в официальном changelog.

@python_for_devs
👍83🔥21
5️⃣ ключевых изменений в Python 3.14 глазами инженера

В новой статье рассматриваем релиз через призму внутреннего устройства интерпретатора и производительности:

– свободная многопоточность
– конкурентные интерпретаторы
– удалённая отладка
– инкрементальная сборка мусора
– и новый Tail Calling интерпретатор

Это взгляд инженера на то, как Python становится быстрее, масштабируемее и взрослее.

📚 Читайте и комментируйте на Хабр.

@python_for_devs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥2
🤔 Почему Python иногда «течёт» по памяти — и при чём тут weakref

В Python управление памятью в основном держится на подсчёте ссылок: объект живёт, пока на него есть хотя бы одна сильная ссылка. В большинстве случаев это работает прозрачно, но есть коварные сценарии — циклические ссылки, кэши и списки подписчиков — где объекты начинают жить дольше, чем нужно.

Да, в CPython есть GC, который умеет разрывать циклы. Но он запускается не сразу, работает не бесплатно и не спасает от логических утечек, когда вы сами «держите» объект через кэш или реестр.

Здесь на сцену выходят слабые ссылки (weakref). Они позволяют ссылаться на объект, не продлевая его жизнь. Как только пропадают сильные ссылки — объект удаляется, даже если на него кто-то «смотрит» через weakref.

На практике это даёт несколько очень полезных паттернов:
автоочищающиеся кэши через WeakValueDictionary
реестры и singleton-подобные структуры, которые не держат объекты насильно
списки подписчиков (`WeakSet`), где не нужно вручную отписывать «умершие» объекты
— аккуратную работу с долгоживущими менеджерами и короткоживущими сущностями

Отдельный бонус — callbacks у weakref: можно повесить логику очистки, которая сработает ровно в момент сборки объекта.

📚 Подробнее в нашей новой статье на Хабре.

@python_for_devs
👍62🔥2
😁6💯3👍2
Forwarded from AI for Devs
🎄 Итоги года 4Devs 2025

На прошлой неделе Habr опубликовал итоги года — и наш проект попал в ТОП-2 среди UGC-авторов (независимых, не аффилированных с компаниями) и в ТОП-8 overall!

Учитывая, что активно публиковаться мы начали только в сентябре, результат за один квартал, на мой взгляд, более чем достойный. Проект изначально запускался как эксперимент — и теперь уже можно уверенно сказать, что эксперимент удался.

В следующем году постараемся как минимум сохранить текущие темпы, а как максимум — заметно их преумножить. Если вы следите только за одним из каналов проекта, напоминаю полный список наших ресурсов:

@ai_for_devs — флагман проекта. Неудивительно, учитывая взрывной рост прикладного ИИ именно для разработчиков
@go_for_devs — второй по популярности, но самый активный по вовлечённости
@python_for_devs — канал, с которого всё началось, и этим он прекрасен
@js_for_devs — здесь всё ещё впереди. Если вы из frontend-мира — добро пожаловать, догоним остальных 🙂

Суммарно за проектом уже следит более 6.5 тысяч человек!

Поздравляю всех с наступающим Новым годом и желаю профессионального роста и сильных результатов в 2026!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥63
⚡️ DuckDB разрушает мифы: 1 ТБ данных — за секунды, без Spark

Принято считать, что терабайты аналитики – это всегда Spark, кластеры и сложная инфраструктура. Но свежий бенчмарк показывает обратное: DuckDB спокойно агрегирует 1 ТБ данных на одном движке — и делает это менее чем за 30 секунд.

Запрос самый обычный: группировка по дате, count(*) и sum(value). Никаких синтетических трюков. Локально на MacBook M2 Pro — около 1,5 минуты. В облачном MotherDuck — в среднем ~17 секунд.

Финальный буст даёт сортировка данных при загрузке. Благодаря zonemap-индексам одна из итераций укладывается меньше чем в 10 секунд. Просто потому что данные лежат «правильно».

Полный разбор, бенчмарки и код — читайте целиком на Хабре.
👍6🔥21
🔥 Anthropic инвестируют $1.5 млн в Python — и делают ставку на безопасность open source

Anthropic объявили о двухлетнем партнёрстве с Python Software Foundation и инвестируют $1.5 млн в развитие Python-экосистемы. Ключевой фокус — безопасность цепочки поставок и защита PyPI.

Деньги пойдут на конкретные инженерные изменения:

– разработку проактивных инструментов анализа всех пакетов, загружаемых в Python Package Index, вместо текущей в основном реактивной модели
– создание датасета известного malware для анализа поведения и capability-based детекта
– улучшения, которые потенциально можно будет перенести и на другие open source репозитории, не только Python

@python_for_devs
🔥15👍53👏1
В новой статье разбираем попытку превратить Python в формат распространения уровня «один бинарник»

Идея простая: вместо Docker-образов с интерпретатором и зависимостями компилировать обычные Python-функции в кроссплатформенные исполняемые файлы, которые запускаются вообще без Python.

Работает это следующим образом: Python-код разбирают в AST, строят промежуточное представление, затем "понижают" его до C++ и компилируют под нужную платформу — от серверов до мобилок и WebAssembly.

Интересная часть — оптимизация. Из одной Python-функции генерируют сразу много эквивалентных C++-программ с разными библиотеками, алгоритмами и ускорителями. Все варианты тестируются на реальном железе, собирается телеметрия, и дальше система эмпирически выбирает самый быстрый путь.

LLM используют утилитарно: для генерации и поддержки большого количества C++-операторов под разные библиотеки.

Для пользователя всё сводится к декоратору @compile и CLI.
🔥8👍6😱52
⚰️ 2025 год для Flask прошёл почти без движений

За год вышло всего два патч-релиза к версии 3.1.0, без новых minor-версий и без заметных изменений для пользователей.

Активность на GitHub это подтверждает: в Flask и Werkzeug за год замёржено 43 PR против 131 в 2024. При этом доля PR, закрытых без мерджа, выросла до 72% — исторически она держалась около 30%. Вероятные причины: проект всё чаще воспринимается как «завершённый» и рост низкокачественных PR, сгенерированных AI-инструментами.

На фоне этого FastAPI резко ускорился. В 2025 году Flask и FastAPI почти сравнялись по загрузкам с PyPI, а в опросах разработчиков FastAPI уже вышел вперёд. Flask остаётся массовым и стабильным, но темп развития ядра и экосистемы заметно снизился.

Подробнее в новой статье на Хабр.

@python_for_devs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😢21🔥1😁1😱1