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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
🐍 Python 3.14: три маленькие, но очень полезные фичи

Все говорят про free-threading, мульти-интерпретаторы и новый REPL в Python 3.14. Но как всегда, в релизе есть и «мелочи», которые могут реально облегчить жизнь.

Вот три из них:

1️⃣ `contextvars.Token` теперь контекстный менеджер

Больше не нужно вручную ресетить ContextVar через токены. Теперь всё лаконично:
from contextvars import ContextVar

A = ContextVar("A")

with A.set("val"):
...


2️⃣ `functools.Placeholder` для `partial`

Теперь можно легко фиксировать позиционные аргументы без костылей:
from functools import partial, Placeholder

def div(a, b, /): ...
div_by_2 = partial(div, Placeholder, 2)

div_by_2(10) # 5


Больше не нужны лямбды или лишние функции.

3️⃣ Поддержка UUID v6, v7 и v8

Особенно интересен UUID v7: он сочетает случайность с возможностью сортировки по времени:
from uuid import uuid7
uuid7() < uuid7() # сортируется хронологически


Это упрощает работу с ключами в БД: и уникальность, и порядок в одном флаконе.

Python 3.14 снова доказывает: полезные фичи бывают не только «громкими», но и тихими, но именно они делают повседневный код проще.

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍175
Django 6.0 уже на горизонте

Фичер-фриз и альфа ожидаются 17 сентября, а значит — самое время заглянуть в ключевые новшества:
🔘 Python 3.12+ — минимальная версия для Django 6.x.
🔘 CSP в ядре — встроенная защита от XSS и других атак.
🔘 django.tasks — первый шаг к нативным бэкграунд-таскам.
🔘 Template Partials — удобные фрагменты для повторного использования шаблонов (и да, это реально меняет подход к работе с ними).
🔘 Google Summer of Code — благодаря GSoC в ядро попали новые возможности, включая partials.
🔘 Admin Keyboard Shortcuts — горячие клавиши для django-admin (пока отдельный пакет, но must-try).

👉 Django становится не только мощнее, но и удобнее для разработчиков.

🔗 Подробнее

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1751👏1
🥇10 скрытых сокровищ стандартной библиотеки Python

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

В новом видео — разбор 10 мощных (и часто недооценённых) модулей, которые:
сокращают бойлерплейт,
упрощают работу с файлами, конфигами и текстом,
ускоряют код без сторонних зависимостей.

Среди них:
🟠 dataclasses — меньше кода, больше ясности,
🟠 pathlib — работа с путями по-человечески,
🟠 functools — мемоизация и функции высшего порядка,
🟠 graphlib, heapq, itertools и другие.

🗂 Ссылка на видео: https://clc.to/pWBCbA
📱 Репозиторий: https://clc.to/SQzyzg

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4
🔎 Как законно и этично определять местоположение IP

Интересует, откуда приходит трафик? Для безопасников и исследователей полезно уметь определять гео-локацию IP — например, чтобы анализировать аномалии, расследовать инциденты или фильтровать трафик.

👍 Один из надёжных инструментов для этого — база GeoIP от MaxMind (есть бесплатная developer-версия).

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

🔗 Детальная статья для старта

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🥱2
🔥 Последняя неделя перед стартом курса по AI-агентам

Старт курса уже 15го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место

На курсе:
разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах

📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями

И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»

Промокод на 5.000₽: LASTCALL

👉 Курс здесь
3😁1
Как назывался первый в истории 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
9👍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👍1
📱 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%. А дальше я покажу, как эта тема ложится в наш курс по ИИ-агентам, который разработан под руководством Никиты Зелинского.

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