Please open Telegram to view this post
VIEW IN TELEGRAM
😁40😢2
🛠 Servy: превращаем Python-приложение в нативный Windows-сервис
Вышел Servy 4.9 — обновление инструмента, который позволяет запускать любой Python-скрипт (или другой executable) как полноценный Windows service.
Это Windows-утилита, которая избавляет от боли с
Достаточно:
— указать путь к Python
— выбрать скрипт и аргументы
— задать тип старта, рабочую директорию и env-переменные
— нажать Install
📱 GitHub
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
Вышел Servy 4.9 — обновление инструмента, который позволяет запускать любой Python-скрипт (или другой executable) как полноценный Windows service.
Это Windows-утилита, которая избавляет от боли с
sc.exe, NSSM и кастомными костылями.Достаточно:
— указать путь к Python
— выбрать скрипт и аргументы
— задать тип старта, рабочую директорию и env-переменные
— нажать Install
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤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
Мы написали и собрали для вас в одну подборку все 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
👍13❤7
Визуализация на Python за 15 минут: Seaborn для начинающих
Быстрый вход в визуализацию без погружения в тонкости matplotlib.
Январский рефакторинг: 7 дней, чтобы почистить Python веб-проект
Практичный план по разгребанию технического долга без героизма.
Почему строки в if/else — плохая идея, и при чём тут Enum
Про один из самых незаметных источников багов. После таких статей начинаешь чуть болезненнее смотреть на 'ACTIVE' в коде.
FastAPI: 5 архитектурных решений, о которых жалеют постфактум
Опыт из серии «если бы я знал раньше». Особенно полезно тем, у кого FastAPI уже перерос один файл, но архитектуры ещё нет.
10 Python-библиотек для автоматизации рутины
Подборка маленьких, но цепких инструментов. Ничего революционного, зато много «о, это реально пригодится завтра».
Асинхронное лимитирование запросов в Python
Подробно про rate limiting, ошибки и грабли. Хорошее чтение для всех, кто однажды получил 429 и не понял — за что.
Погружение в typing: как сделать Python почти типизированным
Type hints, generics и аккуратная строгость без фанатизма. Отличный баланс между «мypy всё запретил» и «да и так сойдёт».
Docker-шаблон для Python с Poetry
Пошаговая сборка аккуратного Docker-окружения. Полезно, если устали каждый раз изобретать Dockerfile заново.
Python collections: когда списков и словарей уже мало
Обзор специализированных контейнеров из стандартной библиотеки. Напоминание, что Python «из коробки» умеет больше, чем кажется.
Почему `[]` в аргументах функции — это ловушка
Классика, которую всё равно кто-то ловит каждый год. Хорошая статья, чтобы один раз понять и больше никогда не объяснять это на код-ревью.
📍 Навигация: Вакансии • Задачи • Собесы
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1😁1
В Python до сих пор нет надёжного способа безопасно запускать недоверенный код. И это не потому, что никто не пытался — просто сам язык слишком интроспективный. Через traceback и object graph можно добраться до внутренностей интерпретатора, даже если вы «всё закрыли». Поэтому sandbox внутри Python не работает. Работает только одно — запускать Python в sandbox.
Python стал языком по умолчанию для AI и агентных систем. Агенты читают файлы, ходят в базы, парсят веб и исполняют код, сгенерированный моделью или пришедший извне. Недоверенный код перестал быть редкостью — он стал частью обычного флоу.
Добавьте к этому prompt injection. LLM не понимают, где system prompt, а где вредоносная инструкция. И это не лечится «лучшими промптами». Это архитектурная особенность, а значит — вопрос безопасности.
Дальше — подробнее про Firecracker, gVisor, WebAssembly и почему task-level isolation может оказаться ключевой.
👉 Продолжение в статье.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2😁1
Недавно в Python quietly появился апдейт, который уменьшает накладные расходы reference counting в горячих местах. Ключевая идея — заимствование ссылок без увеличения счётчика (`LOAD_FAST_BORROW`).
Вот минимальный пример на Python:
def advance(vx, vy, steps):
x, y = 1, 1
for _ in range(steps):
x *= vx
y *= vy
return x, y
На первый взгляд — обычный цикл. Но раньше CPython на каждой итерации увеличивал и уменьшал refcount для
vx и vy.Если посмотреть байткод:
Python 3.13
LOAD_FAST vx
LOAD_FAST x
BINARY_OP *=
Python 3.15
LOAD_FAST_BORROW vx
LOAD_FAST_BORROW x
BINARY_OP *=
Разница тонкая, но важная:
LOAD_FAST → увеличивает reference countLOAD_FAST_BORROW → берёт ссылку временно, без инкрементаЭто возможно только если интерпретатор доказывает, что объект:
По сути, CPython делает упрощённый lifetime-анализ — очень похоже на borrow-идею из Rust, только на уровне байткода.
Итог: меньше операций с памятью, меньше давления на CPU cache и ускорение циклов без изменения Python-кода.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥4❤2🤔1
Skill Tree для Python-разработчика: специализация AI Agents
Технологический маршрут:
— глубокое погружение в
— изучение архитектуры агентов:
— внедрение инструментов и интеграция с векторными БД для реализации
— оркестрация нескольких агентов через
На курсе «Разработка ИИ-агентов» мы учим создавать системы, которые способны самостоятельно планировать задачи и использовать инструменты.
Добавить ИИ-агентов в свой стек
Успейте купить курс до 19 января и получите ещё два курса в подарок по акции «3 в 1».
Срок действия предложения: 19 января.
Python — база для современного ИИ. Но чтобы строить по-настоящему автономные системы, нужно освоить специфический стек поверх языка.Технологический маршрут:
— глубокое погружение в
LangChain и асинхронную работу с API;— изучение архитектуры агентов:
ReAct, Plan-and-Solve и Self-Reflection;— внедрение инструментов и интеграция с векторными БД для реализации
RAG;— оркестрация нескольких агентов через
CrewAI.На курсе «Разработка ИИ-агентов» мы учим создавать системы, которые способны самостоятельно планировать задачи и использовать инструменты.
Добавить ИИ-агентов в свой стек
Успейте купить курс до 19 января и получите ещё два курса в подарок по акции «3 в 1».
Срок действия предложения: 19 января.
❤3
Anthropic инвестирует $1.5 млн в Python Software Foundation на ближайшие два года. Деньги пойдут не просто «на поддержку опенсорса», а конкретно на безопасность экосистемы Python.
Хороший пример того, как AI-бум начинает возвращать долги опенсорсу. Одобряем?
📍 Навигация: Вакансии • Задачи • Собесы
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍10👏4🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
😎 Ansible, но на Python и без боли
pyinfra позволяет писать инфраструктурный код на обычном Python, а под капотом он превращает его в shell-команды и выполняет на серверах. Можно запускать ad-hoc команды или описывать декларативные операции. Работает по SSH, локально и с Docker-контейнерами. Масштабируется от одного сервера до тысяч — и делает это быстро.
✔️ По ощущениям это «Ansible, каким он мог бы быть», если бы сразу проектировался под производительность и удобство разработчика. Выполнение предсказуемое и быстрое, вывод stdout/stderr видно в реальном времени (дебаг наконец-то не боль), операции идемпотентны — есть diff и dry-run до применения изменений.
✔️ Отдельный плюс — это всё ещё Python. Можно тянуть любые библиотеки из экосистемы, писать свою логику без костылей и расширять систему как обычный код. Никаких агентов на серверах — только shell-доступ. Есть интеграции с Docker, Terraform, Vagrant и другими инструментами.
📱 Github
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
pyinfra позволяет писать инфраструктурный код на обычном Python, а под капотом он превращает его в shell-команды и выполняет на серверах. Можно запускать ad-hoc команды или описывать декларативные операции. Работает по SSH, локально и с Docker-контейнерами. Масштабируется от одного сервера до тысяч — и делает это быстро.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Если коротко: библиотеку packaging, на которой держится pip и почти весь Python-экосистемный тулчейн, разогнали в 2–5 раз. Без переписывания на C, без магии — чистый Python, профилирование и много аккуратной инженерной работы.
Автор статьи вместе с мейнтейнерами pip разобрал самые горячие места: парсинг версий (PEP 440), SpecifierSet, маркеры, Requirement, canonicalize_name. Оказалось, что узкие места — не только regex, но и куча «мелочей»: лишние NamedTuple, повторное создание Version, singledispatch там, где нужен обычный if, генераторы вместо map, regex там, где хватит str.translate.
Результат:
– создание Version — до 2× быстрее
– SpecifierSet.contains — больше 2×
– SpecifierSet.filter — до 5×
– pip-резолвер создаёт в 10+ раз меньше объектов Version
– установка пакетов и резолв зависимостей ощутимо ускоряются «бесплатно» для всех
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4❤🔥1🔥1🤩1
«Этот манёвр будет стоить нам 51 год...»
— или потерю возможности войти в
До понедельника в Proglib Academy сохраняются старые цены на всё обучение:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Выбрать курс
⚠️ Стоимость вырастет 19 января
— или потерю возможности войти в
AI на выгодных условиях. Рынок Python-разработки смещается в сторону нейронок и агентов. Если вы всё ещё не разобрались в математике или архитектуре — пора начинать.До понедельника в Proglib Academy сохраняются старые цены на всё обучение:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Выбрать курс
⚠️ Стоимость вырастет 19 января
❤4😁3🥱2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10❤2💯1👾1
Вышла Python 3.15.0a5 — внеплановый, но важный релиз. Предыдущую альфу случайно собрали не из того снапшота репозитория, поэтому разработчики выпустили дополнительную сборку уже с корректной базой от 14 января 2026.
Что особенно интересно в ветке 3.15:
— +4–5% на x86-64 Linux
— +7–8% на macOS AArch64
Это уже не эксперимент ради галочки, а реальное ускорение интерпретатора.
📆 Следующая альфа (3.15.0a6) запланирована на 10 февраля.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤3🤩2
Python 3.15 уже здесь (alpha 5)
Вышла Python 3.15.0a5 — внепланово, но по уважительной причине: предыдущую альфу собрали не из того снапшота репозитория. Новый билд уже основан на корректной версии от 14 января 2026.
Anthropic инвестирует в безопасность Python
$1.5 млн в Python Software Foundation на два года — и не абстрактно «на развитие», а именно на безопасность экосистемы.
Парсинг сайтов на Python с BeautifulSoup
Классический стек, который до сих пор работает. Хороший вводный материал для тех, кто хочет понять, как аккуратно доставать данные, а не просто копировать чужой код.
Отладка Python-приложения в Docker из VS Code
Тот самый навык, который нужен сразу, а гуглится обычно в панике. Практичный гайд без лишней теории.
Python без Python: как запускать код где угодно
Про упаковку, окружения и способы избавиться от вечного «а у меня не запускается».
Что такое классы в Python на примере 3D-игры
Редкий случай, когда ООП объясняют не через «котиков и собачек», а через что-то реально интересное. Подойдёт и новичкам, и тем, кто хочет освежить базу.
Скрытая цена словарей Python и более безопасные альтернативы
dict — наше всё, но не всегда бесплатно. Хороший разбор, где словари начинают кусаться по памяти и поведению.
Pydantic vs Adaptix
Сравнение двух подходов к валидации и сериализации данных.
📍 Навигация: Вакансии • Задачи • Собесы
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2
Собрали все основные методы множеств в Python в одном компактном гайде.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔5❤2🤩1
raise PriceIncrease(«Jan 20»)Завтра стоимость всех программ Proglib.academy станет выше. Забирайте обучение сегодня по старому прайсу, пока конфиги не обновились.
Импортировать новые знания в бэкграунд
❤2🥱2
Декораторы — штука мощная, но для типизации долгое время были настоящим кошмаром. Кажется логичным сказать: «декоратор принимает функцию и возвращает такую же функцию». На практике mypy отвечает ошибками, потому что wrapper теряет исходную сигнатуру.
Вот как обычно пытаются сделать (и почему это ломается):
from functools import wraps
from typing import Any, Callable, TypeVar
F = TypeVar("F", bound=Callable[..., Any])
def info(func: F) -> F:
@wraps(func)
def wrapper(*args: Any, **kwargs: Any) -> Any:
print(func.__name__)
return func(*args, **kwargs)
return wrapper # mypy: incompatible return type
Типизатор видит, что
wrapper — это уже другая функция с Callable[..., Any], а не тот же F.Правильное современное решение —
ParamSpec, который сохраняет параметры исходной функции:
from functools import wraps
from typing import Callable, ParamSpec, TypeVar
P = ParamSpec("P")
R = TypeVar("R")
def info(func: Callable[P, R]) -> Callable[P, R]:
@wraps(func)
def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
print(func.__name__)
print(func.__doc__)
return func(*args, **kwargs)
return wrapper
Теперь сигнатура полностью «протаскивается» через декоратор и mypy счастлив.
А в Python 3.12+ это стало ещё красивее благодаря PEP 695:
from functools import wraps
from typing import Callable
def info[**P, R](func: Callable[P, R]) -> Callable[P, R]:
@wraps(func)
def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
print(func.__name__)
print(func.__doc__)
return func(*args, **kwargs)
return wrapper
Без лишних объявлений, всё читается почти как generics в статически типизированных языках.
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4🌚1
🪄 Самая крутая фича Python 3.14 — удалённый дебаг без подготовки
Отладка Python-приложений в Docker и Kubernetes — боль.
Новая фича Python 3.14 —
🔵 без перезапуска
🔵 с полным доступом к памяти, модулям и состоянию
🔵 прямо на лету
Идеально, чтобы вколоть debugpy в живое приложение.
И собственно, debugwand — zero-prep remote debugger для Python в контейнерах:
🔵 Находит нужный pod или контейнер
🔵 Выбирает правильный Python-процесс (учитывает `uvicorn --reload`)
🔵 Инжектит
🔵 Сам настраивает port-forwarding
🔵 Ты просто подключаешься из VS Code / nvim / любого DAP-клиента
Подключаешься к
📱 debugwand
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
Отладка Python-приложений в Docker и Kubernetes — боль.
Новая фича Python 3.14 —
sys.remote_exec() превращает всё это в почти магию.sys.remote_exec() позволяет выполнить Python-скрипт внутри уже запущенного процесса:Идеально, чтобы вколоть debugpy в живое приложение.
И собственно, debugwand — zero-prep remote debugger для Python в контейнерах:
debugpy через sys.remote_exec()Подключаешься к
localhost:5679 — и у тебя полноценный дебаг: breakpoints, step-by-step, inspect variables.📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3
This media is not supported in your browser
VIEW IN TELEGRAM
seapie: отладчик, где брейкпоинт — это просто `>>>`
seapie — это отладчик, который думает как человек, а не как учебник по gdb.
Без зависимостей, ставится одной командой и превращает отладку в обычный Python-REPL:
Идея радикально простая:
брейкпоинт — это не клик мышкой и не спец-синтаксис, а обычный интерактивный
✔️ В seapie много подсказок, понятные ошибки и встроенная помощь, до которой можно дотянуться в любой момент.
✔️ Во-вторых, отладка через намерение, а не шаги.
seapie позволяет сказать: «остановись, когда функция вернёт None и в стеке будет myhelper» — обычным Python-выражением:
✔️ В-третьих, REPL-first по-настоящему.
Посмотреть переменную — это
Поменять —
Команды отладчика живут рядом и не ломают мышление.
А состояние программы — это обычный словарь:
👉 Github
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
seapie — это отладчик, который думает как человек, а не как учебник по gdb.
Без зависимостей, ставится одной командой и превращает отладку в обычный Python-REPL:
pip install seapie
Идея радикально простая:
брейкпоинт — это не клик мышкой и не спец-синтаксис, а обычный интерактивный
>>>.✔️ В seapie много подсказок, понятные ошибки и встроенная помощь, до которой можно дотянуться в любой момент.
✔️ Во-вторых, отладка через намерение, а не шаги.
seapie позволяет сказать: «остановись, когда функция вернёт None и в стеке будет myhelper» — обычным Python-выражением:
>>> !walk (_event_ == "return") and (_return_ is None) and ("myhelper" in _callstack_)
✔️ В-третьих, REPL-first по-настоящему.
Посмотреть переменную — это
print(x) или просто x.Поменять —
x = None.Команды отладчика живут рядом и не ломают мышление.
А состояние программы — это обычный словарь:
>>> _magic_
{
'_line_': 8,
'_source_': ' return round(total_with_tax, 2)',
'_path_': '/home/hirsimak/seapie/test/demo.py',
'_return_': 35.64,
'_exception_': None,
'_event_': 'return',
'_callstack_': ['<module>', 'checkout']
}
👉 Github
📍 Навигация: Вакансии • Задачи • Собесы
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2