This media is not supported in your browser
VIEW IN TELEGRAM
Крутой и полезный инструмент: контроля вызова модулей и зависимостей для Python, напсианная на Rust.
С помощью Tach вы можете управлять тем, какие модули Python полагаются на какие другие. Чтобы избежать жесткой зависимости, модули также могут указывать общедоступный интерфейс.
В результате получается модульная, разделенная конструкция, которая упрощает разработку и обслуживание.
Любая попытка одного модуля импортировать другой, который явно не объявлен как зависимость, приведет к сообщению об ошибке от Tach. Когда для модуля установлен «строгий режим», Tach выдаст ошибку, если другой модуль попытается импортировать из него без использования его общедоступного интерфейса.
1. Он может показать что откуда кого вызывает и обращается в масштабе проекта, например (особенно, если он чужой)
2. Для CI процесса важно проверить перед деплоем, все ли ок, эта штука помогает это сделать
3. Контроль при коллективной разработке. Ставите ограничения на main например и фиг кто добавит в вызовы туда лишнее
pip install tach
▪ Github
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
—
brew install gitguardian/tap/ggshield
Также ggshield позволяет выявить нарушения безопасности и 70+ типов неправильно написанных конфигов в подходе IaaC.
Для сканирования репозитория достаточно просто выполнить:
ggshield secret scan repo /path/to/your/repo
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Crawlee-Python — это мощная библиотека, разработанная для выполнения задач веб-скрапинга. Она предоставляет пользователям набор инструментов и функциональности для эффективного извлечения данных из веб-страниц.
Преимущества Crawlee-Python:
- Легкость использования: Crawlee-Python разработан с акцентом на простоту и удобство использования, что позволяет даже начинающим разработчикам быстро освоить основные принципы веб-скрапинга и кроулинга.
- Поддержка современных технологий: Библиотека поддерживает работу с современными веб-технологиями, что позволяет ей эффективно справляться с динамическими веб-страницами, используя инструменты для работы с JavaScript, такие как Puppeteer и Playwright.
- Асинхронное выполнение задач: Crawlee-Python поддерживает асинхронное выполнение задач, что значительно ускоряет процесс скрапинга и позволяет одновременно обрабатывать множество запросов.
- Расширяемость: Библиотека легко расширяется благодаря модульной архитектуре, что позволяет пользователям добавлять и настраивать функциональность под свои специфические нужды.
- Управление сессиями и прокси: Crawlee-Python предоставляет встроенные инструменты для управления сессиями и прокси-серверами, что помогает обходить блокировки и ограничения, накладываемые веб-сайтами.
- Автоматическое управление очередями: Библиотека автоматизирует процесс управления очередями задач, что упрощает организацию большого количества запросов и их выполнение.
- Гибкость конфигурации: Пользователи могут гибко настраивать параметры скрапинга, такие как частота запросов, задержки между запросами, обработка ошибок и многое другое.
Примеры использования:
- Извлечение данных для анализа: С помощью Crawlee-Python можно автоматически собирать данные с различных веб-сайтов для последующего анализа и визуализации.
- Мониторинг изменений на веб-страницах: Библиотека позволяет отслеживать изменения на веб-страницах и уведомлять пользователей о важных обновлениях.
- Сбор данных для обучения моделей машинного обучения: Crawlee-Python может быть использован для сбора большого объема данных, необходимых для обучения и тестирования моделей машинного обучения.
Crawlee-Python представляет собой мощный инструмент для веб-скрапинга и кроулинга, предоставляющий множество возможностей для автоматизации процесса извлечения данных из интернета.
Crawlee-Python предлагает два основных типа краулеров: BeautifulSoupCrawler и PlaywrightCrawler.
BeautifulSoupCrawler отлично подходит для проектов, которые требуют эффективного извлечения данных из HTML-контента без необходимости выполнения JavaScript на стороне клиента. С другой стороны,
PlaywrightCrawler использует безголовый браузер для обработки веб-страниц, которые зависят от клиентского JavaScript или требуют взаимодействия с JavaScript-контентом.
pipx run crawlee create my-crawler
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 Библиотека для управления очередями сообщений
PGMQ - новая библиотека для облегченной обработки очереди сообщений для PostgreSQL в Python. Она отличается простотой и гибкостью системы очередей одновременно с надежностью и масштабируемостью баз данных.
Основные особенности:
- Гибкость. Поддержка различных конфигураций и расширений для индивидуальной настройки
- Надежность. Гарантированная единоразовая доставка сообщений в течении тайм-аута видимости
- Компактность. Только функции Postgres упакованные в расширение, никаких фоновых процессов или внешних зависимостей
- API-паритет с AWS SQS и RSMQ
Установка:
Самый легкий способ - запустить Tembo Docker, где PGMQ предустановлен в Postgres
▪ GitHub
#python #PostgreSQL #pgmq #MessageQueues
@pythonl
PGMQ - новая библиотека для облегченной обработки очереди сообщений для PostgreSQL в Python. Она отличается простотой и гибкостью системы очередей одновременно с надежностью и масштабируемостью баз данных.
Основные особенности:
- Гибкость. Поддержка различных конфигураций и расширений для индивидуальной настройки
- Надежность. Гарантированная единоразовая доставка сообщений в течении тайм-аута видимости
- Компактность. Только функции Postgres упакованные в расширение, никаких фоновых процессов или внешних зависимостей
- API-паритет с AWS SQS и RSMQ
Установка:
Самый легкий способ - запустить Tembo Docker, где PGMQ предустановлен в Postgres
docker run -d --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 quay.io/tembo/pg16-pgmq:latest
▪ GitHub
#python #PostgreSQL #pgmq #MessageQueues
@pythonl
pip install django-unfold
poetry add django-unfold
Unfold — это тема для админки Django, которая позволяет добавить удобные для администратора функции.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Kapitan — это не самый хайповый инструмент, но в некоторых ситуациях он очень полезен, и для кого-то будет удобнее, чем Helm
С технической точки зрения Kapitan очень прост и включает в себя такие компоненты:
— иерархическая коллекция значений в yaml-формате, которые подставляются в шаблоны
— шаблонизаторы: Jinja2, Jsonnet, Kadet; они берут значения и создают файлы (yaml, json или bash-скрипты).
— компонент для управления секретами
Быстрый старт с Docker:
docker run -t --rm -v $(pwd):/src:delegated kapicorp/kapitan -h
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
—
pip install logfire
Logfire — это платформа для мониторинга и observability.
Особенности Logfire:
— предоставляет простой дашборд, который легко использовать
— позволяет отображать объекты Python, профилировать код, визуализировать запросы к БД
— Logfire отдаёт собранные данные по обычным SQL-запросам, не нужно учить новый диалект
А также Logfire отлично интегрируется с OpenTelemetry и с Pydantic
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
ExVideo позволяет модели генерировать в 5 раз больше кадров, при этом требуется всего 1.5 тыс. часов обучения на GPU на датасете из 40 тыс. видео.
В частности при помощи ExVideo была улучшена модель Stable Video Diffusion, для генерации длинных видеороликов до 128 кадров.
Код, статья и модель — по ссылкам ниже.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Exo: Расширяем горизонты разработчиков
Exo – это мощный инструмент, помогающий разработчикам изучать и анализировать экзопланеты. Этот репозиторий включает инструменты для обработки данных, визуализации и моделирования экзопланетарных систем. Основные функции Exo включают:
- Анализ астрономических данных
- Визуализация орбит и траекторий
- Моделирование атмосферных условий
Exo предназначен для использования в научных исследованиях и образовательных проектах, облегчая доступ к сложным астрономическим данным и инструментам.
📚 GitHub
#python #github #astronomy
@pythonl
Exo – это мощный инструмент, помогающий разработчикам изучать и анализировать экзопланеты. Этот репозиторий включает инструменты для обработки данных, визуализации и моделирования экзопланетарных систем. Основные функции Exo включают:
- Анализ астрономических данных
- Визуализация орбит и траекторий
- Моделирование атмосферных условий
Exo предназначен для использования в научных исследованиях и образовательных проектах, облегчая доступ к сложным астрономическим данным и инструментам.
📚 GitHub
#python #github #astronomy
@pythonl
—
pip install bytewax
Bytewax объединяет возможности Flink, Spark и Kafka Streams по обработке потоков и событий.
Bytewax позволяет подключать источники данных, выполнять преобразования с учетом состояния и записывать данные в различные системы с помощью встроенных коннекторов или существующих библиотек Python.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM