Библиотека питониста | Python, Django, Flask
39.5K subscribers
2.95K photos
81 videos
51 files
4.57K links
Все самое полезное для питониста в одном канале.

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»

Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!

🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
👍9
📱 Python новости за последние 7 дней

⚙️ Инструменты и фреймворки
Красивые CLI-приложения с Typer и Rich — как создавать удобные, цветные и дружелюбные консольные приложения с современным интерфейсом.
No-code инструмент для сокрытия Python-кода — новый open-source toolkit, позволяющий защитить Python-код без ручного шифрования и обфускации.
5 библиотек, которые выведут вас на новый уровень — подборка свежих и недооценённых библиотек, расширяющих возможности Python-разработчика.

🧠 Изучение и практика
Pytest для начинающих с домашним заданием — пошаговый туториал по базовым тестам, фикстурам и параметризации.
CPython простыми словами — объяснение того, как устроен интерпретатор Python под капотом — память, байткод, GIL и оптимизации.
Шаблоны и принципы деления кода на классы — как структурировать большие проекты и проектировать классы.

🌐 Веб и асинхронщина
Стриминг больших ответов в Django — как эффективно отправлять большие ответы через StreamingHttpResponse и async-генераторы.
Создаём MCP-сервер на практике — пошаговая инструкция по разработке MCP-сервера (Model Context Protocol) — новой инфраструктуры для взаимодействия с LLM.

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥1
📊 State of Django 2025 — итоги ежегодного опроса разработчиков

Опрос Django Developers Survey 2025 собрал ответы более 4600 разработчиков со всего мира и показал, что экосистема Django продолжает активно развиваться — даже спустя 20 лет с момента появления фреймворка:
🈁 Django остаётся стабильным и зрелым — крупные изменения в обратной совместимости крайне редки.
🈁 Новые релизы выходят каждые 8 месяцев (5.2, 6.0, 6.1 …).
🈁 Активность сообщества: десятки PR еженедельно, рост числа мейнтейнеров и ревьюеров.
🈁 Сила экосистемы — официальная поддержка Redis (с Django 4.0), выход django-mongodb-backend.

🔗 Ссылка на опрос

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62😁1
👉 CocoIndex — база знаний о вашем коде для AI и IDE

CocoIndex — это инструмент для построения и обновления индекса кода в реальном времени. Он использует Tree-sitter для точного разбора кода и поддерживает инкрементальную обработку — пересчитывает только изменённые части проекта.

Возможности и кейсы:
— Семантический контекст для AI-агентов (Claude, Codex, Gemini CLI)
— MCP-интеграции с IDE: Cursor, Windsurf, VSCode
— Semantic code search и поиск кода по естественному языку
— Автоматический AI code review, анализ и суммаризация PR
— Масштабные авторефакторинги и миграции кода
— SRE и DevOps сценарии: быстрое RCA, анализ влияния изменений, поиск по IaC и конфигам
— Автогенерация и обновление design-документации из кода

🔍 Реальное время, точность и масштабируемость — всё, что нужно для умных инструментов поверх кода.

📱 Github

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4
👏 Конфиги по-человечески: CueLang, Starlark и боль Python-разработчика

Когда проект растёт, обычные .toml, .yaml и .json превращаются в кошмар — без импортов, функций, комментариев и валидации.

CueLang решает почти всё: строгая типизация, DRY, схемы и экспорт в JSON/YAML. Но беда — только Go, без питонячих биндингов.

А вот Starlark неожиданно оказался достойной альтернативой:
— безопасен (песочница, без доступа к FS и сети);
— расширяем (можно подключать Python-функции);
— даёт контроль над импортами и окружением;
— похож на Python, но только внешне — внутри это совсем другой зверь.

Пример:
import starlark

with open("config.star") as f:
code = f.read()

module = starlark.Module()
stdlib = starlark.Globals.standard()
ast = starlark.parse("config.star", code)
starlark.eval(module, ast, stdlib, None)


Starlark — не замена CueLang, а отличный инструмент, если нужно встроить безопасный DSL в продукт.
Но для личных проектов — Python + Pydantic всё ещё проще и удобнее.

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
🔥 Официально утверждены два новых PEP: PEP 798 и PEP 810

1️⃣ PEP 798 — Unpacking in Comprehensions

Теперь в Python 3.15 можно будет использовать распаковку прямо в comprehensions (списковых, словарных и генераторных выражениях).
Python Steering Council внёс небольшое уточнение — и потребовал использовать явные циклы вместо yield from, чтобы сохранить простоту и симметрию между синхронными и асинхронными выражениями.

💡 Это сделает comprehensions более мощными и при этом предсказуемыми.

2️⃣ PEP 810 — Explicit Lazy Imports

Наконец-то появятся явные ленивые импорты через ключевое слово lazy.
Теперь можно будет писать:
lazy import numpy  
from pandas lazy import DataFrame


Импорт произойдёт только при первом обращении к модулю, что ускорит запуск и сократит время старта больших проектов.
Также добавят sys.get_lazy_imports() и уточнят приоритет между флагами среды (PYTHON_LAZY_IMPORTS, -X, sys.set_lazy_imports()).

👍 Оба улучшения появятся в Python 3.15 — релиз, который явно принесёт много приятных сюрпризов разработчикам.

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍106🔥2
Ты уже настроил своих AI-агентов? 🤖

Приглашаем на бесплатный вебинар от OTUS «Обзор AI-технологий для разработчиков: от идей до рабочих решений»: https://clc.to/aKgtYg

Что будет, когда отладка — не ад, а код пишется в разы быстрее?

Мы покажем:
• Как встроить AI в ваш CI/CD и автоматизировать рутину
• Инструменты для генерации кода, тестов и даже документации
• Реальные кейсы использования LLM в продакшне

Спикер — Алексей Романовский, разработчик с 15-летним опытом. Он не теоретик, а практик, который уже прошел путь интеграции AI в рабочие процессы.

Важно: это открытый урок полного курса «AI для разработчиков». Места в группе тают быстрее, чем кэш при неправильной инвалидации — успевайте в группу ноября по скидке!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
This media is not supported in your browser
VIEW IN TELEGRAM
➡️ PyTogether — Google Docs для Python

Онлайн-IDE, созданная специально для обучения и совместного кодинга. Простая, быстрая и дружелюбная к новичкам.

Основные фишки:
— Совместное редактирование кода в реальном времени (на Y.js)
— Безопасная авторизация — вручную или через Google
— Группы и проекты — удобно организуйте командную работу
— Рисование прямо в IDE — идеально для преподавателей
— Подсветка и линтинг — помогает писать чистый код
— Чат и голосовые комнаты — как в Discord, прямо внутри проекта
— Умное автосохранение — ничего не потеряется

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

🔗 Github

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3
💡 Как часто Python делает аллокации

Короткий ответ — очень часто.

🐁 Каждое число — объект

В CPython каждое целое число — это объект PyLongObject*, хранящийся в куче. Даже операция i + 1 создаёт новый объект.

Если бы каждое число выделялось через malloc/free, арифметика была бы в сотни раз медленнее, чем машинная инструкция ADD.

Но Python применяет несколько хитрых оптимизаций.

Добавим вывод в функцию аллокации чисел и запустим код:
for i in range(0, 100_000):
print(i + 1)


Результат:
Allocating number object 100904 times


Кажется, создаётся новый объект на каждой итерации.
Но без print():
for i in range(0, 100_000):
a = i + 1


Теперь:
Allocating number object 905 times


То есть новые объекты создаются редко — большинство просто переиспользуются.

🐁 Как это работает

Функция сложения в CPython выглядит примерно так:
static PyLongObject *
long_add(PyLongObject *a, PyLongObject *b)
{
stwodigits z = medium_value(a) + medium_value(b);
return _PyLong_FromSTwoDigits(z);
}


_PyLong_FromSTwoDigits решает, брать ли объект из freelist (списка свободных объектов) или выделять новый:
PyLongObject *v = _Py_FREELIST_POP(PyLongObject, ints);
if (v == NULL) v = PyObject_Malloc(sizeof(PyLongObject));


После освобождения объект возвращается обратно во freelist, а не в систему.

Результат эксперимента:
102 ALLOCATING
99193 REUSING


99% чисел просто переиспользуются!

🐁 Малые числа предсозданы

Для диапазона -5..1024 объекты создаются заранее:
PyLongObject small_ints[_PY_NSMALLNEGINTS + _PY_NSMALLPOSINTS];


Такие числа никогда не аллоцируются — просто возвращаются из таблицы. Это ещё одна оптимизация CPython.

🐁 Как Python управляет памятью

CPython использует собственный пуловый аллокатор (pymalloc). Память разбита на пулы фиксированного размера (по 256 КБ).
Выделение из пула выполняется почти мгновенно, без системных вызовов malloc() или mmap().
Физическая память подгружается лениво — по мере использования.

🐁 На практике это значит: Python «аллoцирует» очень часто, но реальных системных аллокаций почти нет.

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65💯1
🎁 И мозг прокачать, и макбук утащить!

Proglib.academy разыгрывает MacBook Pro 14 (M3 Pro, 36 GB, 1 TB SSD) 💻

Условия:

1️⃣ Покупаешь любой курс Proglib до 15 ноября.
2️⃣ Проходишь минимум 2 учебные недели (можно осилить за два вечера).
3️⃣ Пишешь куратору в чат своего курса: #розыгрыш.

Что за курсы?

Математика для Data Science (6 месяцев боли и просветления).
Основы Python, ML, алгоритмы, AI-агенты и даже курс для тех, кто в IT, но не кодит.

👉 Участвовать в розыгрыше