Python Community
12.8K subscribers
1.25K photos
38 videos
15 files
740 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Хочешь узнать, какие библиотеки в твоём Python‑проекте реально используются?

Многие проекты тянут за собой ненужные зависимости, особенно после десятков итераций.

С помощью vulture ты можешь найти неиспользуемый код и импорты — и легко вычистить проект от мусора.



Установка vulture
pip install vulture

Поиск неиспользуемого кода и импортов
vulture your_project/ > unused.txt

Пример: посмотреть, что не используется
cat unused.txt




@Python_Community_ru
🔥4
🔥 WaterCrawl — продвинутая платформа для веб-краулинга и подготовки данных под LLM

Если нужно собрать и структурировать контент с сайтов для ИИ — это мощный инструмент.

🧠 В основе:
— Django + Scrapy + Celery
— Асинхронный краулинг, API и UI
— Скриншоты, PDF, JS-рендер, SSE

🚀 Возможности:
— Быстрый запуск через Docker (`docker compose up`)
— Интеграции с Dify, n8n, Langflow
— Пакетная отправка запросов через REST API
— SDK для Python, Go, Node, PHP

⚙️ Репозитории (https://github.com/watercrawl/WaterCrawl)



@Python_Community_ru
🆕 В pyfonts — мощное обновление!

Теперь можно задать глобальный шрифт по умолчанию — и он применится ко всем текстам автоматически.
Больше не нужно вручную проставлять font в каждом элементе 🎯

Идеально для проектов с единой визуальной стилистикой — экономит кучу времени и кода.

🔥 Фичу реализовал John Gardner — спасибо!

Ждём фидбек, звёзды и предложения

📦 GitHub: http://github.com/JosephBARBIERDARNAL/pyfonts



@Python_Community_ru
Чтобы получить все уникальные пары элементов из списка, вовсе не обязательно писать громоздкие вложенные циклы. Python предоставляет модуль itertools, который содержит готовые инструменты для таких задач.

Например, для списка features = ['price', 'size', 'rating'] можно написать так:


from itertools import combinations

pairs = list(combinations(features, 2))
print(pairs) # [('price', 'size'), ('price', 'rating'), ('size', 'rating')]

Функция combinations берёт на вход итерируемый объект и размер комбинации.

В нашем случае размер равен 2, поэтому мы получаем все возможные неупорядоченные пары без повторов.

Это решение не только короче, но и легче читается. Пользуйтесь библиотекой itertools, чтобы избавляться от рутины и писать более чистый код!



@Python_Community_ru
👍4
🖥 Transfunctions — библиотека транзакционных функций на Python

Transfunctions — это инструмент для создания чистых, переиспользуемых и управляемых пайплайнов из функций. Подходит для задач, где нужно чётко контролировать каждый шаг выполнения.

Что такое транзакционные функции?

Это функции, которые:
• имеют чёткое начало и откат (rollback) — как в базах данных
• могут быть объединены в цепочки, где каждая часть знает, как отменить свои действия
• обрабатывают ошибки и контекст централизованно
• позволяют писать бизнес-логику без дублирования и хаоса

Что умеет Transfunctions:
• Объединение функций в контролируемые пайплайны
• Поддержка отката и логирования
• Контекстное выполнение (например, сессии, транзакции, данные)
• Минимум шаблонного кода

Подходит для ETL, финансовых операций, инфраструктурных обработчиков и сценариев с проверками и откатами.

pip install transfunctions

🔗 GitHub: https://github.com/pomponchik/transfunctions

#python #pipeline #transactions #opensource #architecture



@Python_Community_ru
⚡️ Ускорь проверку качества кода в 10 раз с помощью pre-commit!

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

💡 Решение: автоматизируй всё с помощью pre-commit хуков — и пусть код проверяется сам перед каждым коммитом.

😬 Без pre-commit:

Вы коммитите код — всё выглядит нормально.
Но потом на ревью находят кучу мелочей:
✖️ Нет type hints
✖️ Форматирование пляшет
✖️ Отсутствует docstring
✖️ Импорты в разнобой

🤖 С pre-commit всё иначе:

Перед коммитом автоматически запускается ruff format и ruff check:
Код отформатирован
Стиль и правила соблюдены
Меньше замечаний на ревью

💡 Один раз настроил — и больше не паришься с форматированием вручную.
Идеально для любого Python-проекта.



@Python_Community_ru