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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
🏐 Генерация PDF и изображений из HTML в Python

PlutoPrint — это библиотека на Python для преобразования HTML/XML в качественные PDF и изображения.

Отличный инструмент для отчётов, инвойсов, билетов или визуализаций.

Что умеет PlutoPrint:
— Экспорт в PDF или PNG напрямую из HTML/URL
— Поддержка частичного экспорта (диапазоны страниц, реверс)
— Масштабирование и настройка размеров
— Генерация графиков через Matplotlib
— Работа через CLI или API

Установка:
pip install plutoprint


Пример: PDF из HTML
import plutoprint

book = plutoprint.Book(plutoprint.PAGE_SIZE_A4)
book.load_url("hello.html")
book.write_to_pdf("hello.pdf")


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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥3🤔1
Мы сделаем вам предложение, от которого невозможно отказаться 🤌

Вы покупаете себе курс «Математика для Data Science» от преподавателей ВМК МГУ, а мы дарим второй такой же курс вашему другу.

Предложение действует только до 1 сентября. Ничего личного, просто математика.

👉 Принять предложение
😢2👍1
🚀 Новое предложение для Python: TypedDict с закрытыми ключами и поддержкой extra_items

TypedDict давно используется для строгой типизации словарей, где известны ключи и их типы. Но до сих пор у него было два ограничения:
➡️ Нельзя было запретить лишние ключи (любая TypedDict допускала дополнительные поля).
➡️ Нельзя было явно указать тип для дополнительных ключей (например, разрешить только строки).

Новый PEP предлагает решить эти проблемы с помощью двух параметров:
➡️ closed=True — создаёт «закрытый» TypedDict, в котором не может быть лишних полей.
➡️ extra_items=... — позволяет указать общий тип для дополнительных ключей.

Как это решение поможет:
— Закрытые TypedDict’ы делают возможным более точный вывод типов для .items() и .values().
— Теперь становится безопасным использовать in для type narrowing.
— API-интерфейсы и legacy-код можно описывать гибко: часть ключей фиксированы, остальные — строго заданного типа.

Пример:
class Movie(TypedDict, closed=True):
name: str
director: str

m: Movie = {"name": "Blade Runner", "director": "Ridley Scott"}
m2: Movie = {"name": "Blade Runner", "year": 1982} Ошибка


А вот пример с extra items:
class MovieBase(TypedDict, extra_items=int):
name: str

movie: MovieBase = {"name": "Blade Runner", "year": 1982}


В итоге разработчики смогут балансировать между строгой типизацией и гибкостью — без костылей вроде --disable-error-code=typeddict-unknown-key.

🔗 Подробнее можно почитать в PEP

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥2
📢 Какой сетап идеально подойдёт для разработки AI-агента?

Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.

❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9

Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.

👉 Научим, как строить агентов, которые кодят с тобой
🎉22😍1064👍4🔥4🤩2😁1
🚀 Redis + Python: быстрый старт для разработчиков

Redis (Remote Dictionary Server) — это in-memory хранилище данных, которое можно использовать как:
базу данных
кэш
брокер сообщений или очередь

Главное отличие — данные хранятся в RAM, а не на диске → операции чтения/записи работают за миллисекунды.

✔️ Redis + Python: как подключиться

1⃣ Установить библиотеку:
pip install redis


2⃣ Подключение и тест:
import redis

# подключение
r = redis.Redis(host='localhost', port=6379, db=0)

# запись и чтение
r.set("key", "hello redis")
print(r.get("key")) # b'hello redis'


3⃣ Дальше можно использовать Redis для:
🔘 кэширования результатов запросов
🔘 хранения сессий пользователей
🔘 обработки очередей задач
🔘 мониторинга

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

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥1