Библиотека питониста | Python, Django, Flask
39.7K subscribers
2.91K photos
80 videos
51 files
4.52K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
⚡️ Использование Cursor AI для миграции тестов с Bash на Python

Миграция большого кода с одного языка на другой может быть утомительной. ИИ-инструменты способны взять на себя «тяжёлую работу».

В статье описывается, как команда перенесла тестовый набор для контейнеров container-common-scripts с Bash на новую Python-базированную CI-систему container-ci-suite с помощью редактора кода Cursor AI.

▫️ Это демонстрирует, насколько просто можно переносить проекты между языками с помощью ИИ.

🔍 Подробнее: https://clc.to/o44hrA

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1
💨 Air — новый фреймворк, который вдохнёт свежий воздух в Python-разработку

Air — это современный веб-фреймворк, построенный на основе FastAPI, Starlette и Pydantic, который объединяет скорость, простоту и выразительность. Он позволяет разрабатывать API и веб-приложения в одном стиле и с минимальным количеством шаблонного кода.

Основные возможности:
➡️ Работает на FastAPI — API и HTML-страницы из одного приложения
➡️ Air Tags — декларативное создание HTML прямо на Python
➡️ Поддержка Jinja — можно использовать Jinja-шаблоны или Air Tags, или даже комбинировать их
➡️ Интеграция с HTMX — создание динамичных интерфейсов без JavaScript
➡️ Валидация форм через Pydantic — строгая типизация и проверка данных прямо из HTML
➡️ Минимализм и расширяемость — фреймворк задуман как лёгкое ядро, расширяемое через пакеты

💡 Air сейчас находится в alpha-версии, поэтому возможны изменения в API.

Пример:
import air

app = air.Air()

@app.get("/")
async def index():
return air.Html(air.H1("Hello, world!", style="color: blue;"))


Устанавливается одной командой:
pip install -U air


📘 Документация
📱 Репозиторий

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😁76❤‍🔥1🤔1
👉 Коротко и по делу: этот cheatsheet собрал самые часто используемые команды uv, которых достаточно, чтобы уверенно начать работать с инструментом.

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🤔1👾1
🧠 Новые Python type checker’ы: насколько хорошо они соответствуют стандартам

В 2025 году экосистема Python-инструментов для статической типизации переживает всплеск инноваций.

Сразу три новых инструмента — Ty (от Astral), Pyrefly (от Meta) и Zuban (от David Halter) — были написаны на Rust и привнесли новую скорость, стабильность и интеграцию в экосистему Python.

🚩 Ty (Astral)
Создан командой Astral, разработчиками ruff. Основан на принципах постепенного внедрения и высокой отзывчивости. Использует Rust-библиотеку salsa для инкрементальных вычислений, что делает проверку мгновенной в IDE.

🚩 Pyrefly (Meta*)
Новый инструмент от Meta, преемник pyre. Улучшен в плане автоматического вывода типов и глубокой аналитики. Разрабатывается с упором на производительность и масштабируемость, подходящую для крупных компаний.

🚩 Zuban (David Halter)
Проект автора jedi, с упором на совместимость с mypy. Недавно стал open source (AGPL). Отличается плавным переходом с других проверяющих систем и ориентацией на корпоративное использование.

🧭 Как выбрать инструмент

— Для новых проектов: любой из трёх подойдёт — все обеспечивают современный уровень типизации.
— Для больших кодовых баз: Zuban и Pyrefly обеспечивают лучшую совместимость и глубину анализа.
— Для ежедневной разработки: Ty предлагает идеальный баланс скорости, UX и интеграции с линтером ruff.

👉 Подробная статья с разбором

🐸 Библиотека питониста

#буст
* признана экстремистской организацией в России
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72😁1
💥 Весь октябрь -40% на курсы для разработчиков в proglib.academy

Бери знания под свой стек:
Python | алгоритмы | математика для Data Science | архитектура кода.

Пока одни ждут «идеальный момент», другие просто учатся.
А потом берут ваши офферы.


⚡️ Пока скидка действует, апдейтни свои навыки
👍1
👍 Python 3.14 — первый стабильный релиз

👇 Свежая версия Python уже доступна, и в ней много интересного:
— Template string literals — более мощная и безопасная работа со строками.
— Отложенная оценка аннотаций — улучшает производительность и совместимость.
— Subinterpreters в стандартной библиотеке — шаг к эффективному использованию многопоточности в Python.
— Free-threaded сборка теперь официально поддерживается: можно запускать Python без GIL.

👇 Обновления стандартной библиотеки:
— Новый модуль compression.zstd для поддержки Zstandard.
— Улучшенная introspection в asyncio.
— Подсветка синтаксиса прямо в REPL.
— Множество доработок, улучшений юзабилити и удалённых устаревших функций.

💡 С релизом Python 3.14 официально завершается поддержка Python 3.9 — теперь можно спокойно использовать возможности, начиная с 3.10 (включая pattern matching и оператор | в аннотациях типов).

Установить Python 3.14 можно с помощью uv:
uv self update
uv python upgrade 3.14
uvx python@3.14
# или версия без GIL:
uvx python@3.14t


🔗 Подробности в релизе

🐸 Библиотека питониста

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2041👏1
⚙️ Компиляция Python, которая запускается везде

Python любим за простоту. Но его слабое место известно всем — производительность.
Что, если можно было бы оставить язык таким, как он есть, и при этом запускать его код так же быстро, как C++, на любой платформе — без интерпретатора и без контейнеров?

Новый экспериментальный компилятор превращает обычный Python-код в самодостаточные бинарные файлы — программы, которые работают где угодно:
на сервере, в мобильном приложении, на десктопе и даже в браузере.
Без JIT.
Без переписывания.
Без Python под капотом.

История началась с банальной боли:
Как удобно распространять и запускать AI-модели?
Контейнеры казались очевидным решением — но оказались тупиком.
Они громоздкие, медленные и тянут за собой целую мини-ОС.


И тогда родилась идея:
«А что если не упаковывать систему в контейнер, а собрать исполняемый файл, который сам запускает модель — без ничего лишнего?»


Так появился подход, при котором Python-код компилируется полностью ahead-of-time, превращаясь в нативные программы без зависимостей и без интерпретатора.

🔍 Подробнее: https://clc.to/CBk8YA

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤔52🔥1
🛠 Тестируем Python-проекты с разными версиями с помощью `uv` и `uv-test`

Удобная комманда для запуска тестов проекта против нескольких версий Python. Ключевой приём:
uv run --with-editable .[test]


Например, для проекта с [test] extras:
cd /tmp
git clone https://github.com/simonw/datasette
cd datasette
uv run --python 3.14 --isolated --with-editable '.[test]' pytest -n auto


▶️ --isolated — чтобы окружение было чистым.
▶️ --with-editable '.[test]' — ставит проект в editable mode, чтобы изменения сразу отражались.
▶️ -n auto — pytest-xdist использует все CPU автоматически.

uv-test: скрипт для упрощения

Чтобы не вводить длинную команду каждый раз, можно использовать простой helper-скрипт:
uv-test -p 3.14 -k permissions -vv


▶️ По умолчанию использует Python 3.14.
▶️ Можно указать версию через -p.
▶️ Все дополнительные аргументы передаются в pytest.

Скрипт проверяет наличие uv и pyproject.toml/setup.py, чтобы не запускать тесты не из корня проекта.

💡 Результат: быстрое тестирование проекта на любых версиях Python без лишнего геморроя с окружениями и контейнерами.

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113
🔥 Python 3.14 стал заметно быстрее — и это не просто цифры на бумаге

Свежий релиз Python 3.14 снова подвинул границы производительности.
Проведённые бенчмарки показывают — прирост скорости чувствуется и в рекурсии, и в итерациях, и даже в многопоточности.

Что тестировали:
➡️ 6 версий CPython — от 3.9 до 3.14
➡️ Pypy 3.11, Node.js 24 и Rust 1.90 — для сравнения
➡️ 3 интерпретатора: стандартный, JIT, free-threading (без GIL)
➡️ 2 скрипта: fibo(40) (рекурсия) и bubble sort (10 000 элементов)
➡️ 2 режима: 1 поток и 4 потока
➡️ Linux (Intel) и macOS (M2)

Результаты:
📍 Fibonacci (1 поток)
— Python 3.14 в среднем на 27% быстрее, чем 3.13.
— С версии 3.11 Python вышел из категории «медленный язык» в «уже вполне быстрый».
— Pypy по-прежнему монстр — ≈ 5 раз быстрее CPython 3.14, Rust — в 70 раз.

📍 Bubble sort (1 поток)
— Прирост скромнее — около 10%, но 3.14 всё ещё самый производительный CPython.
— Pypy — в 18 раз быстрее, Node — в 6 раз, Rust — в 36 раз.

📍 JIT vs Free-Threading
— JIT почти не ускорил код — эффект минимальный.
—А вот free-threading (без GIL) реально раскрылся: в многопоточном режиме Python 3.14 FT работает в 3 раза быстрее, чем стандартный интерпретатор.

Ключевые инсайты:
— Python 3.14 — самый быстрый CPython на сегодня
— Версии 3.11+ — огромный шаг вперёд
— JIT ещё сырый, но потенциал есть
— Free-threading — игра меняет правила для многопоточных нагрузок
— Pypy по-прежнему король скорости

Интересно, как free-threading поведёт себя в реальных ML и backend-нагрузках.
Уже кто-то пробовал запускать свои пайплайны на 3.14 FT? Делитесь наблюдениями 👇

🔗 Подробная статья-сравнение: https://clc.to/Dx4_iA

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍166🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22👍74
📱 Python новости за последние 7 дней

🧩 Практика и обучение
С чего начать? 10 учебных проектов на Python для вашего GitHub — подборка идей для прокачки с примерами и репозиториями.
EDA в Python для новичков: что почитать и где попрактиковаться — вводное руководство по разведочному анализу данных и полезные ресурсы для старта.
Топ-5 библиотек Python, которые должен знать каждый новичок — подборка базовых инструментов, которые стоит освоить каждому начинающему разработчику.

⚙️ Инструменты и продвинутая практика
Настраиваем Docker для Django — как упаковать Django-проект в контейнер и избежать типичных ошибок.
12 фишек в административной панели Django, которые экономят мне 12 часов в неделю — скрытые возможности Django Admin, которые повышают продуктивность.
Регулярная катастрофа и как её избежать. Подход к регулярным выражениям — разбор ошибок и практические советы по безопасному использованию regex.

🧠 Новости и размышления
Релиз Python 3.14 — свежий релиз с улучшенной производительностью и новыми возможностями.
Вышел Python 3.14. Насколько он быстр? — анализ тестов производительности и сравнение с предыдущими версиями.
PEP 8 как религия: почему Python сам не соблюдает свои же правила — размышления о кодстайле и двойных стандартах в экосистеме Python.
Django 6.0: Ключевые функции, критические изменения — обзор нового мажорного релиза, на который стоит обратить внимание.

🐸 Библиотека питониста

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
This media is not supported in your browser
VIEW IN TELEGRAM
В proglib.academy — Глобальная распродажа знаний ‼️

💥 Весь октябрь –40% на те курсы, которые выбирают чаще всего.

Курсы с практикой, без воды и пафоса.
Просто берёшь и делаешь апгрейд.


👉 Успей забрать свой курс на proglib.academy
😁51👍1
😢 PyOCI — приватный PyPI без облаков и головной боли

Почему вообще нужен PyOCI? Потому что не хочется зависеть от очередного «облачного провайдера» только ради того, чтобы хранить приватные Python-пакеты.

PyOCI делает так, что любой OCI-registry (вроде ghcr.io или Azure Container Registry) начинает работать как обычный Python-index.
То есть можно использовать GitHub Packages как приватный PyPI — с уже встроенной системой доступа и без лишней настройки.

➡️ Как это работает

1⃣ PyOCI выступает прокси между pip и вашим OCI-registry.
2⃣ Он поддерживает любые регистры, реализующие [OCI distribution spec](https://github.com/opencontainers/distribution-spec).
3⃣ После публикации пакеты появляются прямо в интерфейсе OCI — как обычные контейнеры, просто с метаданными Python-пакетов.

Пример установки:
pip install --index-url="https://<user>:<token>@pyoci.com/<registry>/<namespace>/" <package>


Пример: установка пакета hello-world из организации allexveldman через ghcr.io:
pip install --index-url="https://$GITHUB_USER:$GITHUB_TOKEN@pyoci.com/ghcr.io/allexveldman/" hello-world


Идеально подходит, если хочется:
🔃 держать приватные Python-пакеты в GitHub Container Registry,
🔃 не возиться с доступами в PyPI,
🔃 использовать уже существующую инфраструктуру Docker-образов.

📱 Репозиторий

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41👏1
👀 Что нового в Python 3.14

7 самых мощных фич новой версии, которые стоит знать 👇

1️⃣ Template Strings (t-строки)

Новый синтаксис t"" (PEP 750) — как f-строки, но безопасные.
Они предотвращают SQL-инъекции и другие уязвимости, возвращая объект Template, а не str.

➡️ Теперь можно форматировать строки без риска.

2️⃣ Встроенный Zstandard

Meta-разработанный алгоритм компрессии zstd теперь в стандартной библиотеке.

➡️ Быстрее, чем zlib и gzip, при этом с отличным уровнем сжатия.

3️⃣ Отложенная оценка аннотаций

Больше никаких NameError при аннотациях внутри классов!
Теперь Python лениво вычисляет типы только при обращении.

➡️ Код становится чище, читаемее и без хаков.

4️⃣ Новый REPL с подсветкой и автодополнением

Терминал Python теперь ближе к IDE:
подсветка синтаксиса, умное автодополнение — даже без VSCode.

➡️ Идеально для быстрого дебага и работы на удалённых серверах.

5️⃣ Контроль в finally-блоках

Теперь Python предупреждает, если в finally встречаются return, break, continue.

➡️ Меньше неожиданных багов, больше логики.

6️⃣ Упрощённый синтаксис except

Теперь без лишних скобок:
except ZeroDivisionError, TypeError:


➡️ Минимализм, как он есть. Мелочь — но приятно.

7️⃣ Настоящий Multithreading без GIL

Самое ожидаемое: Free-threaded Python официально поддерживается!
Без глобального интерпретатора блокировки (GIL).

➡️ Результат:
— Обычный Python: 12.65 сек
— Free-threaded Python: 3.16 сек

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15👾43