🖥 Transfunctions — библиотека транзакционных функций на Python
Transfunctions — это инструмент для создания чистых, переиспользуемых и управляемых пайплайнов из функций. Подходит для задач, где нужно чётко контролировать каждый шаг выполнения.
Что такое транзакционные функции?
Это функции, которые:
• имеют чёткое начало и откат (rollback) — как в базах данных
• могут быть объединены в цепочки, где каждая часть знает, как отменить свои действия
• обрабатывают ошибки и контекст централизованно
• позволяют писать бизнес-логику без дублирования и хаоса
Что умеет Transfunctions:
• Объединение функций в контролируемые пайплайны
• Поддержка отката и логирования
• Контекстное выполнение (например, сессии, транзакции, данные)
• Минимум шаблонного кода
Подходит для ETL, финансовых операций, инфраструктурных обработчиков и сценариев с проверками и откатами.
pip install transfunctions
🔗 GitHub: https://github.com/pomponchik/transfunctions
#python #pipeline #transactions #opensource #architecture
@Python_Community_ru
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
В серьезных проектах чистота и стиль кода — но ручные проверки отнимают кучу времени, которое лучше потратить на анализ данных.
💡 Решение: автоматизируй всё с помощью pre-commit хуков — и пусть код проверяется сам перед каждым коммитом.
😬 Без pre-commit:
Вы коммитите код — всё выглядит нормально.
Но потом на ревью находят кучу мелочей:
✖️ Нет type hints
✖️ Форматирование пляшет
✖️ Отсутствует docstring
✖️ Импорты в разнобой
🤖 С pre-commit всё иначе:
Перед коммитом автоматически запускается ruff format и ruff check:
✅ Код отформатирован
✅ Стиль и правила соблюдены
✅ Меньше замечаний на ревью
💡 Один раз настроил — и больше не паришься с форматированием вручную.
Идеально для любого Python-проекта.
@Python_Community_ru
🚀 Kreuzberg — мощный фреймворк Document Intelligence для Python!
🔹 Извлекает текст, метаданные и структурированные данные из PDF, Office-документов, изображений и др.
🔹 Основан на проверенных open-source решениях: Pandoc, PDFium, Tesseract
🔹 Поддержка 18 форматов (PDF, DOCX, PPTX, HTML, изображения, таблицы и пр.)
🔹 Высокая производительность: 30+ документов/с, лёгкий runtime (≈360 МБ), установка 71 МБ
🔹 Открытый исходный код под MIT-лицензией, 2 000⭐ на GitHub
GitHub
Пример:
from kreuzberg import extract_file
# In your async function
result = await extract_file("presentation.pptx")
print(result.content)
# Rich metadata extraction
print(f"Title: {result.metadata.title}")
print(f"Author: {result.metadata.author}")
print(f"Page count: {result.metadata.page_count}")
print(f"Created: {result.metadata.created_at}")
✨ Попробуйте: https://github.com/Goldziher/kreuzberg
#Python #OCR #DocumentIntelligence #OpenSource #Kreuzberg
@Python_Community_ru
🔹 Извлекает текст, метаданные и структурированные данные из PDF, Office-документов, изображений и др.
🔹 Основан на проверенных open-source решениях: Pandoc, PDFium, Tesseract
🔹 Поддержка 18 форматов (PDF, DOCX, PPTX, HTML, изображения, таблицы и пр.)
🔹 Высокая производительность: 30+ документов/с, лёгкий runtime (≈360 МБ), установка 71 МБ
🔹 Открытый исходный код под MIT-лицензией, 2 000⭐ на GitHub
GitHub
Пример:
from kreuzberg import extract_file
# In your async function
result = await extract_file("presentation.pptx")
print(result.content)
# Rich metadata extraction
print(f"Title: {result.metadata.title}")
print(f"Author: {result.metadata.author}")
print(f"Page count: {result.metadata.page_count}")
print(f"Created: {result.metadata.created_at}")
✨ Попробуйте: https://github.com/Goldziher/kreuzberg
#Python #OCR #DocumentIntelligence #OpenSource #Kreuzberg
@Python_Community_ru