Библиотека питониста | Python, Django, Flask
37.5K subscribers
3.3K photos
105 videos
62 files
5.05K links
Все самое полезное для питониста в одном канале.

Учиться у нас: clc.to/6e5Csg

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36

#WXSSA
Download Telegram
Media is too big
VIEW IN TELEGRAM
The Hitchhiker's Guide to Python: классика которую стоит перечитать

Не официальная документация, а мнение опытных разработчиков о том как делать правильно: структура проекта, code style, тестирование, виртуальные окружения, деплой, выбор инструментов под конкретные задачи.

Особенно полезны разделы:
· Writing Great Python Code — структура, идиомы, common gotchas
· Scenario Guide — инструменты под конкретные задачи: веб, CLI, БД, ML, системное администрирование
· Shipping Great Python Code — как паковать и шипить код

🔗 Ссылка на ресурс

📍 Навигация: ВакансииЗадачиСобесы

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4
Хороший разбор для тех, кто уже использует Claude Code в команде или только собирается его внедрять 🛸
Please open Telegram to view this post
VIEW IN TELEGRAM
🤢 Чем больше разработчиков в команде начинают пользоваться Claude Code, тем заметнее одна проблема: кодовая база перестаёт выглядеть как работа одной команды.

Где-то есть тесты, где-то их забыли. Где-то агент следует архитектуре проекта, где-то предлагает решение, которое с ней не сочетается.

⚠️ И это не проблема Claude Code. Он просто следует тому контексту, который получает от каждого разработчика.

Сегодня покажем, как передать AI инженерный контекст команды и не превратить его внедрение в ещё один источник хаоса.

🗓 23 июля, 19:00 МСК
Бесплатно. 60 минут доклада + 30 минут вопросов.

🔗 Занять место на вебинаре и разобраться, почему так происходит

🏃‍♀️ Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
20 функций itertools: отсортированы по тому как часто реально нужны

itertools импортируют все, но используют 3-4 функции.

Вот полный список отсортированный по полезности — не как в документации.

🔥 Используешь постоянно

· chain(it1, it2) — склеить несколько итерируемых в одну
· chain.from_iterable(nested) — разгладить вложенный список лениво
· islice(it, start, stop) — срез итератора (без отрицательных индексов)
· compress('ABCDEF', [1,0,1,0,1,1]) — фильтр по булевой маске → A, C, E, F
· filterfalse(pred, it) — противоположность filter(), где предикат False


🙂 Используешь периодически

· starmap(pow, [(2,5),(3,2)]) — применить функцию с распаковкой кортежей
· pairwise([1,2,3]) — скользящие пары: (1,2),(2,3) — Python 3.10+
· batched(range(10), 3) — разбить на чанки фиксированного размера — Python 3.12+
· groupby(items, key=func) — группировка (данные должны быть отсортированы!)
· accumulate(nums, func) — накопительные суммы или любая бинарная функция
· takewhile(pred, it) — брать пока предикат True
· dropwhile(pred, it) — пропускать пока предикат True, потом всё остальное


🤔 Знаешь но редко тянешься

· tee(it, n=2) — разделить один итератор на n независимых
· zip_longest(a, b, fillvalue=None) — zip до самого длинного, заполняя пропуски
· combinations(items, r) — все комбинации без повторений
· combinations_with_replacement('AB', 2) — комбинации с повторениями: AA, AB, BB
· permutations(items, r) — все перестановки, порядок важен


😴 Скорее забыл что существует

· product(a, b) — декартово произведение = вложенные for-циклы
· count(start, step) — бесконечный счётчик, удобно с zip()
· cycle([1,2,3]) — бесконечно повторять итерируемое (хранит копию!)
· repeat(10, times=3) — повторить объект n раз


pairwise и batched — две которые большинство не знает, хотя именно они убирают кучу boilerplate кода.

Согласны?

📍 Навигация: ВакансииЗадачиСобесы

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

#буст
👍121
🎹 Хорошая документация теперь нужна не только команде. Ниже — почему без неё проект начинает жить своей жизнью 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
😳 Documentation Driven Development звучит как ещё один модный термин. Пока не попробуешь объяснить свой проект AI.

Агент работает только с тем контекстом, который ему дали. Если документация неполная или устарела, он начинает додумывать — отсюда появляется неверный код.

🔘 На курсе «ИИ для разработчиков» эту тему разбирает Арсений Харланов. Он покажет, как подготовить документацию и контекст, чтобы агент понимал архитектуру проекта, ограничения и связи между компонентами.

Также разберём, как выбирать модель под задачу: Claude, DeepSeek, Qwen и другие ✏️

Впереди 7 недель работы со своим репозиторием. Вебинары проходят вживую и остаются в записи.


Стартуем 31 августа. До конца июля можно присоединиться по ранней цене, а доступ к материалам останется бессрочным 😀

🔗 Посмотреть, что будет на курсе

🏃‍♀️ Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
CPython ABI: что означают теги в именах wheel-файлов и почему это важно

Когда pip устанавливает пакет, он выбирает нужный wheel по имени файла. Разобраться в этих тегах — значит понять почему одни пакеты устанавливаются, а другие нет.

📦 Анатомия имени wheel-файла


cryptography-48.0.0-cp311-abi3-macosx_10_9_universal2.whl
↑ ↑ ↑ ↑
версия python abi платформа


· py3-none-any — чистый Python, работает везде
· cp314-cp314 — только CPython 3.14, версия-специфичный ABI
· cp311-abi3 — CPython 3.11+, стабильный ABI (работает на 3.11 и новее)

🔤 API vs ABI — в чём разница

API — что написано в заголовочном файле (`Python.h`): сигнатуры функций, макросы, типы.

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

🔑 Три уровня ABI в Python

· cp3XY — версия-специфичный ABI. Один wheel на каждый Python. Нужно выпускать новый каждый год.
· abi3 — стабильный ABI. Один wheel для Python 3.X и всех новых версий. Но не работает на free-threaded Python.
· cp3XYt — ABI free-threaded Python (без GIL). Отдельные теги: cp313t, cp314t.

Почему free-threaded Python сломал abi3

В GIL-версии структура PyObject выглядела так:

struct PyObject {
Py_ssize_t ob_refcnt; // байт 0
PyTypeObject *ob_type; // байт 8
};


В free-threaded версии (Python 3.14+):

struct PyObject {
uintptr_t ob_tid; // id потока-владельца
uint16_t ob_flags;
PyMutex ob_mutex; // per-object lock
uint8_t ob_gc_bits;
uint32_t ob_ref_local; // локальный счётчик ссылок
Py_ssize_t ob_ref_shared; // атомарный счётчик
PyTypeObject *ob_type; // теперь на другом смещении!
};


ob_type переехал — wheel скомпилированный под старую раскладку прочитает не те байты. Crash или тихая порча памяти.


🆕 Python 3.15: новый стабильный ABI abi3t

PyObject стал непрозрачным (opaque struct) — нельзя обращаться к полям напрямую, только через функции API. Это скрывает детали реализации и делает возможным один wheel для обеих сборок.

Стратегия для мейнтейнеров:

Python 3.12-3.13 → cp312-abi3 (один wheel)
Python 3.14 → + cp314t (free-threaded)
Python 3.15+ → cp315-abi3.abi3t (оба в одном)


Итого: тег в имени wheel = гарантия совместимости на уровне бинарного кода.

📍 Навигация: ВакансииЗадачиСобесы

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

#буст
👍31🤩1
📚Напоминаем про наш полный курс «Самоучитель по 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
🆕 pip 26.2: флаг --only-deps закрывает боль которая длилась 16 лет

Есть проект — Flask API, скрипт, бэкенд. Не пакет для PyPI, просто приложение. Как поставить его зависимости на сервер?

Раньше: pip install -r requirements.txt (надо вручную поддерживать), или pip install . (ставит сам проект как пакет что не нужно), или хаки вроде pip install $(python setup.py egg_info | ...).

Теперь — просто:


pip install --only-deps .


Читает зависимости из pyproject.toml и ставит их. Сам проект не трогает.

Выходит в конце июля вместе с pip 26.2.

📍 Навигация: ВакансииЗадачиСобесы

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Куда на самом деле уходят токены во время агентного кодинга? ⚡️
😱 Знакомо? Лимит уже закончился, а задача всё ещё не готова. Часть токенов могла уйти на повторное чтение файлов, лишний контекст и неудачные попытки.

⚡️ Этому посвящён отдельный блок курса «ИИ для разработчиков». Вы разберёте расходы на собственных проектах, сравните подходы и найдёте места, где агент выполняет лишнюю работу.

В итоге станет понятнее, сколько ресурсов выделять на запуск, когда его останавливать и в какой момент лучше изменить подход 🔍


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

🔗 Узнать подробности о курсе

🏃‍♀️ Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
3
📱 330× быстрее: четыре способа ускорить Python-код

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

Вместо этого полезно думать в терминах практик — каждая из которых:
— Ускоряет код по-своему;
— Требует отдельных навыков;
— Работает как по отдельности, так и в сочетании.

В статье показан реальный пример, где применяются четыре практики:
Efficiency — устранение лишних и повторяющихся вычислений (+2×).
Compilation — использование компилируемого языка и обход его ограничений (+10×).
Parallelism — задействование нескольких ядер.
Process — рабочие процессы, приводящие к более быстрому коду.

📖 Читаем подробно

📍 Навигация: ВакансииЗадачиСобесы

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
🦆 Ducky: универсальный инструмент для сетей и безопасности

Открытое, кроссплатформенное desktop-приложение для сетевых инженеров, студентов и энтузиастов, которое объединяет ключевые сетевые утилиты в одном удобном интерфейсе.

Основные возможности:

♓️ Multi-Protocol Terminal — SSH, Telnet и Serial (COM) в современном таб-интерфейсе.
♓️ SNMP Topology Mapper — автоматическое обнаружение сети с пингом и SNMP-сканированием, интерактивная карта устройств.
♓️ Network Diagnostics — Subnet Calculator, Ping, Traceroute, многопоточный Port Scanner.
♓️ Security Toolkit — поиск CVE из NIST, проверка паролей, расчёт хэшей (MD5, SHA1, SHA256, SHA512).
♓️ Rich-Text Notepad — заметки с форматированием и авто-сохранением прямо в приложении.
♓️ Customizable UI — светлая/тёмная темы, настройка терминала, шрифтов и цветов.

📱 Ссылка на GitHub

📍 Навигация: ВакансииЗадачиСобесы

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1
One Day Offer для Python-разработчиков!💚

15 августа открываем двери в команду Agent Execution Framework ⚡️

Коллеги создают платформу для GenAI‑агентов в банке — делают так, чтобы ИИ реально работал в серьёзных финпроцессах: с безопасностью, нагрузкой и пользой.

Чем предстоит заниматься:

✔️ развивать backend на Python
✔️ подключать LLM, инструменты, базы знаний и RAG
✔️ строить пайплайны оценки качества агентов
✔️ участвовать в архитектуре и ревью кода

Встречаемся 15 августа онлайн.

Регистрируйся по ссылке
👍1
🐍 Если устали каждый раз искать синтаксис списков, словарей, try/except или вспоминать параметры встроенных функций — пригодится эта актуальная шпаргалка по Python.

🔜 Внутри собраны основные конструкции языка: типы данных, циклы, функции, ООП, работа с файлами, обработка исключений, type hints, стандартная библиотека и другие темы, к которым разработчики возвращаются почти каждый день.

Полезно как новичкам, так и тем, кто давно пишет на Python, но хочет держать все ключевые конструкции под рукой.

📍 Навигация: ВакансииЗадачиСобесы

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
Кажется, у онлайн-обучения появился формат, которого давно не хватало 👇
🤔 У большинства разработчиков уже есть подписки на IDE, GitHub Copilot, Claude, ChatGPT или облачные сервисы.

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


Такой формат недавно появился и в Proglib Academy. Вместо одного курса — доступ сразу ко всей библиотеке и новым материалам, которые появляются в подписке 😎

🔗 Подробнее

🏃‍♀️ Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
💻 Tiny8 — минималистичный набор Python инструментов для изучения основ компьютеров

Tiny8 — это лёгкий toolkit, который позволяет понять, как компьютер работает изнутри:

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

Что в нём классного:

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


💻 Если когда-то хотелось написать «свой компьютер в 200 строках» — это тот самый вход.

🔗 Github

📍 Навигация: ВакансииЗадачиСобесы

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62👍2
📚Напоминаем про наш полный курс «Самоучитель по 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
1🔥10👾1
📚Напоминаем про наш полный курс «Самоучитель по 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
1🔥41