Библиотека питониста | Python, Django, Flask
40.4K subscribers
2.79K photos
75 videos
51 files
4.37K links
Все самое полезное для питониста в одном канале.

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
🆕 Django 5.2.5 и Python 3.13.6 — свежие релизы

6 августа 2025 вышли новые версии сразу двух ключевых инструментов для Python-разработчиков.

✔️ Django 5.2.5

Обновление исправляет несколько ошибок из прошлых версий:
— Исправлен баг с использованием стратегии UNNEST в QuerySet.bulk_create() с внешними ключами (регрессия из 5.2.1).
— Исправлено падение при фильтрации по составному первичному ключу с кортежем, содержащим выражения.
— Исправлено падение при валидации моделей с GeneratedField или сложными constraints из Q и Case.
— Добавлена совместимость с docutils 0.22.
— Исправлено падение при работе с ManyToManyField в моделях с составным PK.

📄 Читать релиз-ноутсы Django 5.2.5

✔️ Python 3.13.6

Это шестой maintenance-релиз Python 3.13, включающий:
— ~200 багфиксов и улучшений сборки
— Обновления документации
— Мелкие оптимизации

📄 Полный список изменений

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75
🔥 Успей поднять квалификацию по выгодной цене!

Только до 17 августа у вас есть последняя возможность купить наши курсы по старым ценам.

🔹 Математика для Data Science:

— Базовый: (сейчас) 26 399₽(будет) 33 900₽
— Ультра: 35 199₽44 900₽
— VIP: 59 829₽75 900₽ (выгода больше 16 000₽!)

🔹 Программирование на Python: 24 990₽32 900₽
🔹 Алгоритмы и структуры данных: 31 669₽39 900₽
🔹 Архитектуры и шаблоны проектирования: 24 890₽32 900₽
🔹 AI-агенты для DS специалистов: 54 000₽59 000₽
🔹 Основы IT для непрограммистов: 14 994₽19 900₽
🔹 Базовые модели ML: 6 990₽9 900₽

Важно: Курсы из линейки Frontend Basic полностью снимаются с продажи. 17 августа — буквально последний день, когда их можно будет приобрести.

Успей купить до повышения — осталось 4 дня!

👉 Зафиксировать цену и начать учиться
2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁24❤‍🔥61🤔1
📌 Промпт дня: для реализации конкретного алгоритма

Иногда нужно быстро вспомнить или протестировать алгоритм.

С таким промптом код получится чистым, а структура — понятной:
Implement a [name of algorithm] in [programming language]. 
Please include:
1. The main function with clear parameter and return types
2. Helper functions if necessary
3. Time and space complexity analysis
4. Example usage


Зачем использовать:
— Чёткая структура запроса повышает шанс получить корректную и читаемую реализацию.
— Анализ сложности помогает оценить эффективность алгоритма.
— Пример использования облегчает интеграцию кода в проект.

Пример:
Implement a Dijkstra’s algorithm in Python. 
Please include:
1. The main function with clear parameter and return types
2. Helper functions if necessary
3. Time and space complexity analysis
4. Example usage


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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2😁2
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда

Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.

Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».

Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.

👉 Начните правильно

Берёте курс «ML для старта» до конца недели — Python в подарок.

А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.

А какой самый сложный проект вы брались делать в самом начале? 🫢
3😁1
🤝 Истории подписчиков: знакомство с Python

Наши подписчики вспомнили, как у них началось знакомство с Python.
Иногда — это лёгкий старт, но чаще — забавные (и немного болезненные) истории.

Вот три из них ⬇️

1️⃣ Первое свидание с Python:
Я учил Python… прямо во время написания C++ модуля.
Задача — сделать часть C++ кода вызываемой из Python. До того, как я вообще знал Python.
SWIG помог, но ощущения были как при операции на открытом сердце человеку, с которым ты только что пошёл на первое свидание.


2️⃣ Название решает:
Мой первый Python-скрипт назывался python.py. Он не работал, и я несколько часов ломал голову, пока не написал свой первый вопрос на Stack Overflow.
Там спросили: «А вы точно не назвали его python?» — и помогли.
Теперь понимаю, насколько это было глупо… но для новичка это казалось отличным названием.


3️⃣ После R — культурный шок:
Я пришёл из R и был в бешенстве, что скобки и фигурные, и квадратные в Python значат совсем разные вещи.
А ещё меня бесило, что нет функции grep.


💬 А как у вас началось знакомство с Python?

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁41
✔️ 2 минималистичные библиотеки, которые делают асинхронность в Python проще

В Python всё чаще приходится выбирать между sync и async реализациями (а иногда ещё и писать обе).

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

🙂 transfunctions — одна функция → три разных поведения

С помощью шаблона вы пишете *один* фрагмент кода, а библиотека генерирует:
— обычную функцию (func())
— async-версию (await func())
— генератор (for _ in func():)

Пример:
@transfunction
def template():
print('so, ', end='')
with sync_context:
print("it's just usual function!")
with async_context:
print("it's an async function!")
with generator_context:
print("it's a generator function!")
yield


Хотите всё автоматически — используйте @superfunction, и функция сама поймёт, как её вызвали:
~my_superfunction()         # обычный вызов
await my_superfunction() # async-исполнение
for x in my_superfunction(): # генератор


🙂 tinyio — tiny event loop (≈300 строк) вместо asyncio

Если вы когда-нибудь думали «asyncio слишком сложный для такой простой задачи» — эта библиотека для вас.

tinyio — микроскопический event loop с безопасной обработкой ошибок и простейшим API:
def slow_add_one(x):
yield tinyio.sleep(1)
return x + 1

def foo():
a, b = yield [slow_add_one(3), slow_add_one(4)]
return a, b

loop = tinyio.Loop()
print(loop.run(foo())) # → (4, 5)


— вместо await используется yield
— если ошибка случается в одной корутине — автоматически отменяются все, чтобы не было скрытого «зомби»-кода
— нет Task, Future, TaskGroup — только Loop, sleep, run_in_thread

🙂 Установка

pip install transfunctions
pip install tinyio


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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4🌚1