🖥 Pydoll — это библиотека для автоматизации браузеров на основе Chromium без использования WebDriver, которая обеспечивает реалистичную имитацию поведения.
Она поддерживает асинхронные функции Python, что увеличивает производительность и позволяет обрабатывать различные события, а также выполнять веб-скрапинг одновременно.
Установить можно с помощью команды: pip install pydoll-python
📌 Github (https://github.com/autoscrape-labs/pydoll)
@Python_Community_ru
Она поддерживает асинхронные функции Python, что увеличивает производительность и позволяет обрабатывать различные события, а также выполнять веб-скрапинг одновременно.
Установить можно с помощью команды: pip install pydoll-python
📌 Github (https://github.com/autoscrape-labs/pydoll)
@Python_Community_ru
👍1
🖥 Validators (https://github.com/python-validators/validators?tab=readme-ov-file) — это библиотека на Python, предназначенная для простого и эффективного валидирования данных.
🌟 В отличие от других инструментов, которые требуют определения схем или форм, Validators позволяет проверять отдельные значения без сложной настройки. Она предлагает функции для проверки различных типов данных, таких как электронные почты, URL, IP-адреса, доменные имена и другие.
🔐 Лицензия: MIT
🖥 Github (https://github.com/python-validators/validators?tab=readme-ov-file)
@Python_Community_ru
🌟 В отличие от других инструментов, которые требуют определения схем или форм, Validators позволяет проверять отдельные значения без сложной настройки. Она предлагает функции для проверки различных типов данных, таких как электронные почты, URL, IP-адреса, доменные имена и другие.
🔐 Лицензия: MIT
🖥 Github (https://github.com/python-validators/validators?tab=readme-ov-file)
@Python_Community_ru
🖥 Django-Tastypie (https://github.com/django-tastypie/django-tastypie) — это библиотека для разработки REST API в Django, которая облегчает работу с данными, сериализацией и аутентификацией.
🌟 Она поддерживает различные форматы данных, такие как JSON, XML и YAML, позволяет работать как с SQL, так и с NoSQL базами и предоставляет встроенные инструменты для фильтрации, сортировки и пагинации запросов. Tastypie снижает необходимость в написании повторяющегося кода, что позволяет разработчикам быстро создавать мощные API.
🖥 Github (https://github.com/django-tastypie/django-tastypie)
@Python_Community_ru
🌟 Она поддерживает различные форматы данных, такие как JSON, XML и YAML, позволяет работать как с SQL, так и с NoSQL базами и предоставляет встроенные инструменты для фильтрации, сортировки и пагинации запросов. Tastypie снижает необходимость в написании повторяющегося кода, что позволяет разработчикам быстро создавать мощные API.
🖥 Github (https://github.com/django-tastypie/django-tastypie)
@Python_Community_ru
🖥 Robyn — это асинхронный веб-фреймворк для Python, который использует Rust для достижения высокой производительности!
🌟 Он позволяет создавать быстрые веб-приложения, объединяя удобный API на Python с низкоуровневыми оптимизациями Rust. Robyn поддерживает асинхронные обработчики запросов, масштабируемую обработку соединений и удобную маршрутизацию, что делает его отличным выбором для высоконагруженных сервисов.
🔐 Лицензия: BSD-2-Clause
🖥 Github
@Python_Community_ru
🌟 Он позволяет создавать быстрые веб-приложения, объединяя удобный API на Python с низкоуровневыми оптимизациями Rust. Robyn поддерживает асинхронные обработчики запросов, масштабируемую обработку соединений и удобную маршрутизацию, что делает его отличным выбором для высоконагруженных сервисов.
🔐 Лицензия: BSD-2-Clause
🖥 Github
@Python_Community_ru
👍1🔥1
🖥 PythonX – это новый инструмент для разработчиков на Python! 🚀
PythonX представляет собой мощный интерпретатор Python, который интегрирован с Livebook и предоставляет разработчикам удобный и интерактивный способ работы с кодом.
▪ Что это такое?
PythonX является расширением для Livebook, которое предлагает REPL-среду и интерактивные блокноты с поддержкой Python.
▪ Чем полезен разработчикам?
🔹 Позволяет работать с Python в Livebook так же удобно, как с Elixir.
🔹 Поддерживает визуализацию данных, машинное обучение и анализ данных.
🔹 Упрощает совместную работу над кодом.
▪ Какие преимущества перед другими инструментами?
✅ Глубокая интеграция с Livebook – быстрый запуск и удобство работы.
✅ Поддержка современного Python (совместимость с популярными библиотеками).
✅ Минимальная зависимость от внешних сервисов – больше контроля над средой.
🔗 Github (https://github.com/livebook-dev/pythonx)
@Python_Community_ru
PythonX представляет собой мощный интерпретатор Python, который интегрирован с Livebook и предоставляет разработчикам удобный и интерактивный способ работы с кодом.
▪ Что это такое?
PythonX является расширением для Livebook, которое предлагает REPL-среду и интерактивные блокноты с поддержкой Python.
▪ Чем полезен разработчикам?
🔹 Позволяет работать с Python в Livebook так же удобно, как с Elixir.
🔹 Поддерживает визуализацию данных, машинное обучение и анализ данных.
🔹 Упрощает совместную работу над кодом.
▪ Какие преимущества перед другими инструментами?
✅ Глубокая интеграция с Livebook – быстрый запуск и удобство работы.
✅ Поддержка современного Python (совместимость с популярными библиотеками).
✅ Минимальная зависимость от внешних сервисов – больше контроля над средой.
🔗 Github (https://github.com/livebook-dev/pythonx)
@Python_Community_ru
⚡️ OSGINT - это эффективный инструмент для открытых источников информации (OSINT), созданный для извлечения данных о пользователях GitHub.
Он позволяет искать имя пользователя по электронной почте и наоборот, предоставляя различные данные профиля, такие как дата регистрации аккаунта, количество публичных репозиториев и гистов, а также открытые ключи PGP и SSH.
✔️ Github (https://github.com/hippiiee/osgint)
@Python_Community_ru
Он позволяет искать имя пользователя по электронной почте и наоборот, предоставляя различные данные профиля, такие как дата регистрации аккаунта, количество публичных репозиториев и гистов, а также открытые ключи PGP и SSH.
✔️ Github (https://github.com/hippiiee/osgint)
@Python_Community_ru
🖥 "Think Python" - базовая книга от O'Reilly
Это одна из лучших книг для изучения Python.
❤️🔥 Как вам обложка?
❯ 3 издание (https://allendowney.github.io/ThinkPython/)
❯ 2 издание (https://greenteapress.com/thinkpython2/thinkpython2.pdf)
@Python_Community_ru
Это одна из лучших книг для изучения Python.
❤️🔥 Как вам обложка?
❯ 3 издание (https://allendowney.github.io/ThinkPython/)
❯ 2 издание (https://greenteapress.com/thinkpython2/thinkpython2.pdf)
@Python_Community_ru
🖥 Как отлаживать код на Python, не покидая редактора, с использованием встроенного модуля pdb.
🔍 Пример быстрой отладки с помощью pdb
Часто, когда код не работает должным образом, мы начинаем добавлять много print(). Это неудобно, медленно и засоряет код. Вместо этого вставь в нужное место следующую строку:
import pdb; pdb.set_trace()
Когда выполнение дойдет до этой строки, ты попадешь в интерактивную консоль отладчика прямо в терминале. Далее можно:
- n (next) — перейти к следующей строке;
- s (step) — зайти внутрь функции;
- c (continue) — продолжить выполнение;
- l (list) — показать текущий контекст;
- p var — вывести значение переменной var.
💡 Пример
def calc(a, b):
import pdb; pdb.set_trace()
result = a + b
return result
calc(2, 3)
На строке с pdb.set_trace() ты остановишься и сможешь изучить, что происходит внутри.
Зачем это нужно?
- Понять, почему что-то идет не так.
- Посмотреть, какие значения у переменных в момент ошибки.
- Быстро отладить без запуска IDE — удобно в Docker, SSH или при работе с cron.
Попробуй — один раз освоишь, и уже не захочешь возвращаться к print().
@Python_Community_ru
🔍 Пример быстрой отладки с помощью pdb
Часто, когда код не работает должным образом, мы начинаем добавлять много print(). Это неудобно, медленно и засоряет код. Вместо этого вставь в нужное место следующую строку:
import pdb; pdb.set_trace()
Когда выполнение дойдет до этой строки, ты попадешь в интерактивную консоль отладчика прямо в терминале. Далее можно:
- n (next) — перейти к следующей строке;
- s (step) — зайти внутрь функции;
- c (continue) — продолжить выполнение;
- l (list) — показать текущий контекст;
- p var — вывести значение переменной var.
💡 Пример
def calc(a, b):
import pdb; pdb.set_trace()
result = a + b
return result
calc(2, 3)
На строке с pdb.set_trace() ты остановишься и сможешь изучить, что происходит внутри.
Зачем это нужно?
- Понять, почему что-то идет не так.
- Посмотреть, какие значения у переменных в момент ошибки.
- Быстро отладить без запуска IDE — удобно в Docker, SSH или при работе с cron.
Попробуй — один раз освоишь, и уже не захочешь возвращаться к print().
@Python_Community_ru
🖥 Radon — это инструмент, который помогает разработчикам выявлять проблемы в коде с использованием метрик.
В отличие от других линтеров, Radon предоставляет количественную оценку: сколько тестов необходимо для функции и насколько она чрезмерно сложна.
Проект поддерживает версии Python от 2.7 до 3.12 и не требует внешних зависимостей. Результаты можно получить через командную строку или интегрировать в CI/CD-пайплайны.
📌 GitHub (https://github.com/rubik/radon)
@Python_Community_ru
В отличие от других линтеров, Radon предоставляет количественную оценку: сколько тестов необходимо для функции и насколько она чрезмерно сложна.
Проект поддерживает версии Python от 2.7 до 3.12 и не требует внешних зависимостей. Результаты можно получить через командную строку или интегрировать в CI/CD-пайплайны.
📌 GitHub (https://github.com/rubik/radon)
@Python_Community_ru
🔥2👍1
🔎 ClatScope (https://github.com/Clats97/ClatScope) — это эффективный инструмент для проведения разведки с применением открытых источников (OSINT), созданный для сбора различной информации об IP-адресах, доменах, электронных почтах, номерах телефонов и многом другом!
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/Clats97/ClatScope)
@Python_Community_ru
🔐 Лицензия: Apache-2.0
🖥 Github (https://github.com/Clats97/ClatScope)
@Python_Community_ru
⚡️ Asyncer — это небольшая библиотека, предназначенная для упрощения работы с асинхронным кодом, созданная автором FastAPI. Стоит отметить, что это не фреймворк, а набор вспомогательных инструментов, которые делают код более аккуратным и улучшают подсказки в IDE.
Библиотека ориентирована на удобство разработчиков: она улучшает автозаполнение, помогает избежать ошибок при проверке типов данных и облегчает смешение асинхронного и синхронного кода. В данный момент в Asyncer всего 4 функции, поэтому интеграция в проект займёт всего несколько минут.
🤖 GitHub (https://github.com/fastapi/asyncer)
@Python_Community_ru
Библиотека ориентирована на удобство разработчиков: она улучшает автозаполнение, помогает избежать ошибок при проверке типов данных и облегчает смешение асинхронного и синхронного кода. В данный момент в Asyncer всего 4 функции, поэтому интеграция в проект займёт всего несколько минут.
🤖 GitHub (https://github.com/fastapi/asyncer)
@Python_Community_ru
🔥3
🖥 Textcase — это библиотека на языке Python, созданная для преобразования строк в разные стили написания.
Библиотека поддерживает такие форматы, как snake_case, kebab-case, camelCase, PascalCase, CONSTANT_CASE, а также преобразование в нижний, верхний и титульный регистры.
Основные характеристики Textcase:
- Обработка акронимов: библиотека корректно распознает и форматирует акронимы в строках, например, HTTPRequest.
GitHub
- Поддержка символов вне ASCII: она правильно работает с символами, которые выходят за пределы ASCII. Однако библиотека не делает предположений о языке ввода; например, диграф 'ij' в голландском языке не будет капитализирован как единый символ.
- Высокая производительность: библиотека реализована эффективно, без использования регулярных выражений.
- Отсутствие внешних зависимостей: библиотека не требует внешних зависимостей, что делает ее легкой и простой для интеграции.
Установка:
pip install textcase
Пример использования:
from textcase import case, convert
print(convert("example string", case.SNAKE)) # example_string
print(convert("ExampleString", case.KEBAB)) # example-string
print(convert("example-string", case.CAMEL)) # exampleString
print(convert("Example String", case.PASCAL)) # ExampleString
🖥 Github (https://github.com/zobweyt/textcase)
📌 Документация (https://zobweyt.github.io/textcase/#features)
@Python_Community_ru
Библиотека поддерживает такие форматы, как snake_case, kebab-case, camelCase, PascalCase, CONSTANT_CASE, а также преобразование в нижний, верхний и титульный регистры.
Основные характеристики Textcase:
- Обработка акронимов: библиотека корректно распознает и форматирует акронимы в строках, например, HTTPRequest.
GitHub
- Поддержка символов вне ASCII: она правильно работает с символами, которые выходят за пределы ASCII. Однако библиотека не делает предположений о языке ввода; например, диграф 'ij' в голландском языке не будет капитализирован как единый символ.
- Высокая производительность: библиотека реализована эффективно, без использования регулярных выражений.
- Отсутствие внешних зависимостей: библиотека не требует внешних зависимостей, что делает ее легкой и простой для интеграции.
Установка:
pip install textcase
Пример использования:
from textcase import case, convert
print(convert("example string", case.SNAKE)) # example_string
print(convert("ExampleString", case.KEBAB)) # example-string
print(convert("example-string", case.CAMEL)) # exampleString
print(convert("Example String", case.PASCAL)) # ExampleString
🖥 Github (https://github.com/zobweyt/textcase)
📌 Документация (https://zobweyt.github.io/textcase/#features)
@Python_Community_ru
👍1
📚 "Космический Python: Создание Чистых Архитектур для Приветствия Неудач"
Это бесплатная книга, которая поможет читателю освоить процесс разработки сложного приложения на Python с применением современных архитектурных подходов.
Целевая аудитория: Python-разработчики, которые уже знают основы языка, но хотят научиться проектировать и создавать крупные приложения, избегая плохой структуры проектов и "спагетти-кода".
Ключевые темы и концепции, упомянутые в предисловии:
▪ Архитектурные паттерны: Особое внимание уделяется чистым архитектурам (Clean Architecture), таким как Порты и Адаптеры (Гексагональная Архитектура). Основная идея заключается в изоляции ядра бизнес-логики от внешних зависимостей, таких как базы данных, веб-фреймворки и внешние API.
▪ Предметно-ориентированное проектирование (Domain-Driven Design - DDD): Как моделировать сложную бизнес-логику, сосредоточившись на предметной области.
▪ Событийно-ориентированная архитектура (Event-Driven Architecture - EDA): Использование событий для взаимодействия компонентов системы, что способствует слабой связанности.
▪ Разделение ответственности запросов и команд (Command Query Responsibility Segregation - CQRS): Паттерн для разделения операций чтения и записи данных, что может повысить производительность и масштабируемость.
▪ Тестирование: Подчеркивается важность тестирования на разных уровнях (модульное, интеграционное, сквозное) как неотъемлемой части процесса разработки и поддержки архитектуры.
▪ Управление зависимостями (Dependency Injection): Техники для создания слабосвязанных компонентов.
🔗 Книга (https://www.cosmicpython.com/book/introduction.html)
@Python_Community_ru
Это бесплатная книга, которая поможет читателю освоить процесс разработки сложного приложения на Python с применением современных архитектурных подходов.
Целевая аудитория: Python-разработчики, которые уже знают основы языка, но хотят научиться проектировать и создавать крупные приложения, избегая плохой структуры проектов и "спагетти-кода".
Ключевые темы и концепции, упомянутые в предисловии:
▪ Архитектурные паттерны: Особое внимание уделяется чистым архитектурам (Clean Architecture), таким как Порты и Адаптеры (Гексагональная Архитектура). Основная идея заключается в изоляции ядра бизнес-логики от внешних зависимостей, таких как базы данных, веб-фреймворки и внешние API.
▪ Предметно-ориентированное проектирование (Domain-Driven Design - DDD): Как моделировать сложную бизнес-логику, сосредоточившись на предметной области.
▪ Событийно-ориентированная архитектура (Event-Driven Architecture - EDA): Использование событий для взаимодействия компонентов системы, что способствует слабой связанности.
▪ Разделение ответственности запросов и команд (Command Query Responsibility Segregation - CQRS): Паттерн для разделения операций чтения и записи данных, что может повысить производительность и масштабируемость.
▪ Тестирование: Подчеркивается важность тестирования на разных уровнях (модульное, интеграционное, сквозное) как неотъемлемой части процесса разработки и поддержки архитектуры.
▪ Управление зависимостями (Dependency Injection): Техники для создания слабосвязанных компонентов.
🔗 Книга (https://www.cosmicpython.com/book/introduction.html)
@Python_Community_ru
🗂️ Ballista — это распределённый движок для выполнения запросов, основанный на Apache DataFusion. Этот инструмент позволяет одновременно обрабатывать запросы на нескольких узлах, при этом сохраняя совместимость с существующими SQL-запросами, включая сложные операции объединения, подзапросы и общие табличные выражения.
Процесс развертывания упрощён благодаря использованию Docker-образов и поддержке Kubernetes, а встроенные бенчмарки показывают, что Ballista уже может соперничать со Spark по скорости обработки запросов, подобных TPC-H.
🤖 GitHub (https://github.com/apache/datafusion-ballista)
@Python_Community_ru
Процесс развертывания упрощён благодаря использованию Docker-образов и поддержке Kubernetes, а встроенные бенчмарки показывают, что Ballista уже может соперничать со Spark по скорости обработки запросов, подобных TPC-H.
🤖 GitHub (https://github.com/apache/datafusion-ballista)
@Python_Community_ru
👍1
🖥 Watchdog — это библиотека, которая предназначена для мониторинга изменений в файловой системе и имеет стильный дизайн.
Этот инструмент позволяет фиксировать различные операции с файлами и папками, такие как создание, удаление, модификация и перемещение, и работает в средах Linux, macOS и Windows.
Библиотека будет особенно полезна в следующих случаях:
▪ автоматический перезапуск серверов при обновлениях файлов
▪ обработка новых загружаемых файлов в указанную папку
▪ синхронизация содержимого папок
▪ создание механизмов резервного копирования, которые быстро реагируют на изменения
🔗 Watchdog (https://github.com/gorakhargosh/watchdog)
🔗 Документация (https://python-watchdog.readthedocs.io/en/stable/quickstart.html)
@Python_Community_ru
Этот инструмент позволяет фиксировать различные операции с файлами и папками, такие как создание, удаление, модификация и перемещение, и работает в средах Linux, macOS и Windows.
Библиотека будет особенно полезна в следующих случаях:
▪ автоматический перезапуск серверов при обновлениях файлов
▪ обработка новых загружаемых файлов в указанную папку
▪ синхронизация содержимого папок
▪ создание механизмов резервного копирования, которые быстро реагируют на изменения
🔗 Watchdog (https://github.com/gorakhargosh/watchdog)
🔗 Документация (https://python-watchdog.readthedocs.io/en/stable/quickstart.html)
@Python_Community_ru
🖥 DeepGit: Repo Discovery — это бесплатный инструмент на основе искусственного интеллекта, который помогает находить полезные репозитории на GitHub с помощью семантического поиска.
Он построен на системе LangGraph и использует анализ кода, документации и отзывы сообщества, чтобы выделять малоизвестные, но многообещающие проекты.
Ключевые возможности:
▪ Семантическая проверка: ищет не просто по ключевым словам, а «понимает» содержание.
▪ Многогранный анализ: учитывает не только код, но и документацию, активность и отзывы сообщества.
▪ Интеграция с GitHub: сосредоточен на этом экосистемном источнике, упрощая выбор качественных проектов.
🖥 GitHub (https://github.com/zamalali/DeepGit)
@Python_Community_ru
Он построен на системе LangGraph и использует анализ кода, документации и отзывы сообщества, чтобы выделять малоизвестные, но многообещающие проекты.
Ключевые возможности:
▪ Семантическая проверка: ищет не просто по ключевым словам, а «понимает» содержание.
▪ Многогранный анализ: учитывает не только код, но и документацию, активность и отзывы сообщества.
▪ Интеграция с GitHub: сосредоточен на этом экосистемном источнике, упрощая выбор качественных проектов.
🖥 GitHub (https://github.com/zamalali/DeepGit)
@Python_Community_ru
👍1
Ibis — это библиотека, которая сочетает в себе SQL и Python.
Устали постоянно переключаться между SQL и pandas?
С помощью Ibis вы можете использовать SQL-запросы и Python-пайплайны в одном коде.
Установка (с поддержкой DuckDB и примерами):
```
pip install 'ibis-framework[duckdb,examples]'
```
Пример:
```python
import ibis
penguins = ibis.examples.penguins.fetch()
# SQL внутри Python
res = penguins.sql("""
SELECT species, island, count(*) AS count
FROM penguins GROUP BY 1, 2
""")
# Фильтрация и сортировка в стиле Python
res.order_by("count")
```
Результат:
```
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━┓
┃ species ┃ island ┃ count ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━┩
│ string │ string │ int64 │
├───────────┼───────────┼───────┤
│ Adelie │ Biscoe │ 44 │
│ Adelie │ Torgersen │ 52 │
│ Adelie │ Dream │ 56 │
│ Chinstrap │ Dream │ 68 │
│ Gentoo │ Biscoe │ 124 │
└───────────┴───────────┴───────┘
```
Что может Ibis:
— SQL-прослойка для работы с датафреймами
— Один и тот же код работает с DuckDB, PostgreSQL, BigQuery, SQLite и другими
— Унифицированный синтаксис, не зависящий от движка
— Отлично подходит для пайплайнов в области data science
Где может пригодиться:
— Аналитика
— Дашборды
— EDA и быстрые прототипы
— Интеграция SQL в ноутбуках без особых усилий
Совместим с Jupyter, Airflow и всей экосистемой Python.
Подробнее [здесь](http://bis-project.org/)
На Github [здесь](https://github.com/ibis-project/ibis)
@Python_Community_ru
Устали постоянно переключаться между SQL и pandas?
С помощью Ibis вы можете использовать SQL-запросы и Python-пайплайны в одном коде.
Установка (с поддержкой DuckDB и примерами):
```
pip install 'ibis-framework[duckdb,examples]'
```
Пример:
```python
import ibis
penguins = ibis.examples.penguins.fetch()
# SQL внутри Python
res = penguins.sql("""
SELECT species, island, count(*) AS count
FROM penguins GROUP BY 1, 2
""")
# Фильтрация и сортировка в стиле Python
res.order_by("count")
```
Результат:
```
┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━┓
┃ species ┃ island ┃ count ┃
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━┩
│ string │ string │ int64 │
├───────────┼───────────┼───────┤
│ Adelie │ Biscoe │ 44 │
│ Adelie │ Torgersen │ 52 │
│ Adelie │ Dream │ 56 │
│ Chinstrap │ Dream │ 68 │
│ Gentoo │ Biscoe │ 124 │
└───────────┴───────────┴───────┘
```
Что может Ibis:
— SQL-прослойка для работы с датафреймами
— Один и тот же код работает с DuckDB, PostgreSQL, BigQuery, SQLite и другими
— Унифицированный синтаксис, не зависящий от движка
— Отлично подходит для пайплайнов в области data science
Где может пригодиться:
— Аналитика
— Дашборды
— EDA и быстрые прототипы
— Интеграция SQL в ноутбуках без особых усилий
Совместим с Jupyter, Airflow и всей экосистемой Python.
Подробнее [здесь](http://bis-project.org/)
На Github [здесь](https://github.com/ibis-project/ibis)
@Python_Community_ru
👍2