Библиотека питониста | Python, Django, Flask
39.9K subscribers
2.87K photos
79 videos
51 files
4.47K links
Все самое полезное для питониста в одном канале.

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Как назывался первый в истории Python веб-фреймворк?
Anonymous Quiz
23%
Django
19%
TurboGears
34%
Zope
24%
Flask
4
This media is not supported in your browser
VIEW IN TELEGRAM
🔰 Тесты за секунды: как Keploy меняет правила игры

В эпоху AI-Gen нам нужны инструменты, которые ускоряют разработку и тестирование.

И вот он — Keploy X, must-have для разработчиков:
➡️ Конвертирует API-вызовы в тесты вместе с моками.
➡️ Записывает не только API, но и базу данных, воспроизводя её при тестировании.
➡️ Работает быстрее unit-тестов и масштабируется под сложные сценарии.

💡 И да, Keploy тестирует сам себя (и у них даже есть coverage badge).

Новинка: ut-gen — первый в мире генератор unit-тестов:
➡️ Автоматическая генерация unit-тестов.
➡️ Поддержка edge-case сценариев, которые часто пропускают вручную.
➡️ Серьёзный буст в тестовом покрытии.

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1
📪 AgentScope: новый уровень разработки LLM-приложений

AgentScope — это фреймворк для Agent-Oriented Programming, который упрощает создание приложений на базе больших языковых моделей.

Почему стоит обратить внимание:
🔛 Прозрачность для разработчиков — все шаги: промпт-инжиниринг, вызовы API, создание агентов и оркестрация процессов видны и контролируются вами.
🔛 Realtime Steering — нативная поддержка прерываний и кастомного поведения в реальном времени.
🔛 Больше агентности — управление инструментами, долговременная память агентов, agentic RAG и многое другое.
🔛 LEGO-подход — все компоненты модульные и независимые.
🔛 Model Agnostic — один раз запрограммировал, работает со всеми моделями.
🔛 Multi-Agent Oriented — поддержка многозадачных агентов, явный обмен сообщениями и оркестрация рабочих процессов.
🔛 Гибкость — настройка инструментов, промптов, агентов, workflow, сторонних библиотек и визуализаций.

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105
📌 Скрытые возможности Python: практические советы по работе с IP, сетями и подсетями

Управление IP-адресами и сетями часто превращается в головную боль: нужно проверять корректность, учитывать подсети, генерировать диапазоны и не допускать ошибок.

Python облегчает жизнь благодаря встроенному модулю ipaddress — инструменту, который стоит освоить каждому, кто работает с сетями.

Вот несколько ценных советов:

1️⃣ Работайте с IP как с объектами, а не строками
Используйте IPv4Address для IP-адресов — это позволяет сравнивать адреса, выполнять арифметические операции (например, ip + 1) и конвертировать в целые числа. Это помогает избежать классических ошибок при обработке диапазонов IP.

2️⃣ Проверяйте принадлежность к сети через `in`
Вместо ручных вычислений используйте:
   ip = ipaddress.IPv4Address("192.168.1.10")
net = ipaddress.IPv4Network("192.168.1.0/24")
print(ip in net) # True


Так легко фильтровать адреса и определять, к какой подсети они относятся.

3️⃣ Автоматическое создание подсетей
Метод .subnets(new_prefix=…) позволяет делить сеть на равные части без ручного подсчёта. Это удобно для тестирования, генерации конфигураций firewall или разделения сети для разных отделов.

4️⃣ Комбинируйте IP и сеть через `IPv4Interface`
Если нужно одновременно работать с адресом и его сетью, интерфейс связывает их в один объект. Экономит время и снижает риск ошибок при манипуляциях с сетевой информацией.

5️⃣ Используйте встроенные свойства для быстрого анализа
.is_private, .is_global, .is_reserved позволяют быстро отфильтровывать адреса, например, отделять публичные и приватные IP при мониторинге или логировании.

6️⃣ Перебор больших сетей и множественных диапазонов
Для массовых операций удобно итерировать хосты и сети с помощью hosts() и циклов. При работе с десятками или сотнями подсетей это экономит время и уменьшает риск ошибок.

7️⃣ Расширьте возможности с `netaddr` для агрегации
Для объединения пересекающихся или соседних сетей используйте cidr_merge(). Это особенно полезно при работе с большим количеством диапазонов, например, в корпоративных инфраструктурах.

💡 Даже если вы работали с ipaddress раньше, эти приёмы помогают писать более надёжный, читаемый и безопасный код. От автоматизации настройки firewall до генерации конфигураций — правильное использование стандартной библиотеки экономит часы работы и снижает риск ошибок.

🔗 Подробная статья с примерами

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍3❤‍🔥1
🚀 87 идей для первых Python-проектов (с готовыми реализациями)

Устали от однотипных списков проектов «1000 идей для новичков», где всё сводится к «сделай калькулятор» или «напиши свою ОС»?

Вот свежий и реально полезный ресурс: список из 87 проектов для начинающих, отобранный вручную и снабжённый примерами на Python.

Примеры:
— Текстовые игры (угадай число, крестики-нолики).
— Алгоритмические задачи (сортировки, шифрование).
— Мини-утилиты (будильник, генератор паролей).
— Маленькие симуляции и эксперименты.

🔗 Полный список: https://clc.to/CU42ZQ

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5🔥2🤔1
🖼 Diagrams: архитектура облаков прямо в Python-коде

Diagrams — это библиотека, которая позволяет рисовать архитектуру систем в виде Python-кода.

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

Поддержка:
— AWS, Azure, GCP, Kubernetes, Alibaba Cloud, Oracle Cloud
— On-Premises, SaaS, популярные фреймворки и языки.

👉 Diagrams не управляет реальными облачными ресурсами и не генерирует Terraform или CloudFormation — это инструмент именно для рисования архитектуры.

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42
📱 Python: как захватывать stdout и stderr в unit test

Когда вы тестируете функции, которые что-то печатают в терминал (stdout/stderr), полезно уметь перехватывать этот вывод и проверять его. В Python это можно сделать с помощью contextlib.redirect_stdout() и redirect_stderr().

Простой пример:
from contextlib import redirect_stdout
from io import StringIO
from unittest import TestCase

from example import print_silly


class PrintSillyTests(TestCase):
def test_print_silly(self):
with redirect_stdout(StringIO()) as buffer:
print_silly("What a lovely day!")

self.assertEqual(buffer.getvalue(), "WhAt a lOvElY DaY!\n")


📌 Если нужно одновременно захватывать stdout и stderr, удобно вынести это в отдельный контекстный менеджер:
from contextlib import contextmanager, redirect_stdout, redirect_stderr
from io import StringIO
from typing import Generator, TextIO


@contextmanager
def capture_output() -> Generator[tuple[TextIO, TextIO]]:
with (
redirect_stdout(StringIO()) as out,
redirect_stderr(StringIO()) as err,
):
yield out, err


И использовать в тестах:
class PrintSillyTests(TestCase):
def test_print_silly(self):
with capture_output() as (out, err):
print_silly("What a lovely day!")

self.assertEqual(out.getvalue(), "WhAt a lOvElY DaY!\n")
self.assertEqual(err.getvalue(), "")


Советы:
— Для логов используйте self.assertLogs() вместо перехвата stdout.
— В pytest ещё проще: есть встроенный capsys для захвата вывода (captured = capsys.readouterr()).
— Не используйте test.support.captured_stdout() — это внутренняя утилита Python, нестабильная и не гарантирована к доступу во всех сборках.

📖 Источник: https://clc.to/DNjodQ

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94👏1
🌈 Just for fun: анимация из гифов 90-х прямо в браузере

Делимся классным туториалом: как сделать мозаику из гифов 90-х с анимацией, полностью рендерящуюся в браузере.

В статье показано:
➡️ как собрать мозаику из множества гифов,
➡️ как анимировать её без стороннего софта,
➡️ и как добиться олдскульного вайба 90-х в чистом вебе.

Немного ностальгии и техно-магии.

➡️ Ссылка на туториал: https://clc.to/NE7Lbw

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71😁1
⚡️ Бесплатный вебинар — ИИ-агенты: новая фаза развития AI

24 сентября в 19:00 МСК состоится бесплатный вебинар с Максимом Шаланкиным — Data Science Team Lead в финтех-команде MWS, а познакомиться с ним ближе можно в его тг-канале.

Тема:
«ИИ-агенты: новая фаза развития искусственного интеллекта».


На вебинаре разберёмся, почему агенты — это следующий шаг после ChatGPT, чем они отличаются от обычных моделей и как уже приносят бизнесу ROI до 80%. А дальше я покажу, как эта тема ложится в наш курс по ИИ-агентам, который разработан под руководством Никиты Зелинского.

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

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

Что умеет:
моделировать сценарии с учётом RTT, джиттера, лимитов ресурсов, фейлов
показывать реальное влияние: рост очередей, давление на сокеты/память, распределение задержек
тестировать стратегии масштабирования и сетевые предположения на уровне архитектуры

Как работает:
система задаётся как граф компонентов (клиенты, балансировщики, серверы), соединённых сетевыми рёбрами с настраиваемой латентностью
каждый сервер осознаёт event loop:
• CPU блокирует цикл,
• RAM остаётся занята до освобождения,
• I/O освобождает цикл — как в реальных async-фреймворках
топологии описываются через YAML или Python DSL

С новым движком событий можно воспроизводить: пики трафика, падения серверов, деградацию линков — и смотреть, что реально произойдёт.

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

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65
Starplot — библиотека Python для построения карт звёздного неба

Если вы когда-нибудь хотели построить собственную карту неба или визуализировать астрономические объекты, теперь это можно сделать прямо в Python.

Что умеет Starplot:
⭐️ Zenith Plots — показывает всё небо в конкретное время и месте
⭐️ Map Plots — разные картографические проекции
⭐️ Horizon Plots — визуализация горизонта в выбранный момент
⭐️ Optic Plots — эмуляция того, что вы увидите через телескоп
⭐️ Планеты и объекты глубокого космоса — встроено более 14 000
⭐️ Кастомные стили для объектов

От простой карты горизонта до сложных проекций с планетами и галактиками — всё доступно из кода.

🔗 Репозиторий и документация

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2😍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
👍5
📱 Python новости за последние 7 дней

🐍 Python 3.14.0rc3 — финальный релиз-кандидат
— Выпуск: Python 3.14.0rc3 — последний релиз-кандидат перед финальной 3.14.0.
— Важно: исправлена ещё одна ошибка, из-за чего «magic number» в .pyc изменён — .pyc, сгенерированные для rc2, не подойдут для rc3 и будут перекомпилированы.
— Режим релиз-кандидата: теперь допускаются только проверенные правки-фиксы; цель — минимизировать дальнейшие изменения.
— Дата финального релиза: Python 3.14.0 — запланирован на 7 октября 2025.

🧩 Django 6.0 alpha 1 — превью для тестирования
— Доступна Django 6.0 alpha 1 (preview/testing) — если вы поддерживаете Django-проекты или плагины, самое время протестировать совместимость.

🛠 Практические статьи
Строим полный граф импортов Python на основе статического анализа — полезно для анализа зависимостей и ускорения стартапа проектов.
Как написать свой TCP-порт-сканер на Python: опыт, код и примеры — от идеи до рабочего инструмента.
Дженерики в Python, простыми словами — объяснение generics и примеры использования.
Меньше магии, больше кода: мой способ писать Django views — практические паттерны для читаемости и тестируемости.

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71