Python Community
13K subscribers
1.24K photos
29 videos
15 files
724 links
Python Community RU - СНГ сообщество Python-разработчиков

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
🖥 orjson (https://github.com/ijl/orjson) — это библиотека для работы с JSON в Python, которая отличается высокой производительностью!

🌟 Она позволяет быстро сериализовать и десериализовать JSON, а также обрабатывать даты, таймстампы и numpy-массивы. Библиотека совместима с стандартным API Python и отлично подходит для высоконагруженных приложений, нуждающихся в эффективной обработке JSON-данных.

🖥 Github (https://github.com/ijl/orjson)
@Python_Community_ru
⭐️ Использование браузера

Создайте собственного оператора OpenAI с помощью инструментов с открытым исходным кодом!

Использование браузера - это платформа с открытым исходным кодом, которая позволяет агентам искусственного интеллекта работать с браузером всего лишь с несколькими строками кода на Python.

Ключевые функции:

🆓 100% Открытый исходный код
Интеграция с Gradio для создания веб-интерфейса
Совместимость с Claude, gpt-4o и Llama 3
Пользовательское управление в цикле для безопасной работы

Вы просто указываете компьютеру, что делать, и это выполняется при использовании браузера.

Github (https://github.com/browser-use/browser-use)
@Python_Community_ru
🖥 Hickle — это библиотека для Python, которая позволяет сериализовать объекты в формате HDF5. Это делает возможным эффективное хранение и обмен большими объемами данных.

💡 Hickle является альтернативой стандартным методам сериализации, таким как pickle, и демонстрирует лучшую производительность при работе с большими наборами данных. Она применяется в научных и аналитических задачах для сохранения сложных структур данных, например, массивов и матриц, в компактном и эффективном формате.

🔐 Лицензия: MIT

🖥 Github
@Python_Community_ru
🖥 pysimdjson (https://github.com/TkTech/pysimdjson?tab=readme-ov-file) — это библиотека для Python, которая является оберткой для C-библиотеки simdjson, предназначенной для быстрого разбора JSON-данных.

🌟 Эта библиотека использует технологии SIMD (Single Instruction, Multiple Data), которые позволяют значительно ускорить обработку JSON по сравнению с обычными методами, особенно при работе с большими объемами данных. pysimdjson обеспечивает высокую производительность, делая разбор JSON быстрее и эффективнее, чем стандартные решения в Python.

🔐 Лицензия: Apache-2.0

🖥 Github (https://github.com/TkTech/pysimdjson)
@Python_Community_ru
⭐️ Pandera — это библиотека на Python, которая облегчает валидацию датафреймов pandas.

Она также совместима с быстрой и легкой библиотекой Polars.

Используя Pandera, вы можете быть уверены, что ваши датафреймы Polars имеют правильную структуру и будут работать корректно.

Установить можно с помощью команды: pip install pandera

Github (https://github.com/unionai-oss/pandera)
Документация (https://pandera.readthedocs.io/)

#Pandera #python #opensource #Polars
@Python_Community_ru
🔥 IronCalc (https://github.com/ironcalc/IronCalc) — это движок для работы с электронными таблицами!

🌟 Он предлагает инструменты для чтения и записи файлов в формате .xlsx и может интегрироваться с различными языками программирования, такими как Python и JavaScript. Проект ориентирован на создание более открытой и функциональной инфраструктуры для работы с таблицами, предоставляя разработчикам гибкость в использовании как для веб-приложений, так и для десктопных приложений.

🔐 Лицензия: Apache-2.0

🖥 Github (https://github.com/ironcalc/IronCalc)
@Python_Community_ru
🖥 Authentik (https://github.com/goauthentik/authentik) — это система управления удостоверениями с открытым исходным кодом, предназначенная для аутентификации и авторизации пользователей в различных приложениях.

🌟 Она поддерживает единый вход, многофакторную аутентификацию и интеграцию с популярными протоколами, такими как OAuth2, SAML и LDAP. Authentik используется для защиты веб-приложений и управления доступом на основе ролей.

🔐 Лицензия: CC BY-SA 4.0

🖥 Github (https://github.com/goauthentik/authentik?tab=readme-ov-file)
@Python_Community_ru
🖥 Flask-Moment (https://github.com/miguelgrinberg/Flask-Moment) — это расширение для Flask, которое добавляет возможность использовать Moment.js для форматирования дат и времени в шаблонах Jinja2.

🌟 С помощью этого инструмента можно легко отображать даты и время в удобном формате, включая поддержку локализации, временных зон и обновлений времени в реальном времени.

🌟 Основное применение заключается в улучшении отображения временных данных в веб-приложениях Flask. Flask-Moment позволяет использовать Moment.js прямо в шаблонах, избавляя разработчиков от необходимости самостоятельно писать сложный код JavaScript для обработки времени.

🔐 Лицензия: MIT

🖥 Github (https://github.com/miguelgrinberg/Flask-Moment?tab=readme-ov-file)
@Python_Community_ru
🖥 Метод, как создать изображение бабочки в консоли, используя Python!
@Python_Community_ru
📞 bpytop (https://github.com/aristocratos/bpytop) — это современный инструмент для мониторинга ресурсов, который работает на Linux, macOS и FreeBSD.

💡 Он показывает информацию о загрузке процессора, использовании памяти, дисках, сетевых подключениях и запущенных процессах в удобном и привлекательном интерфейсе. Написанный на Python, bpytop предлагает гибкие возможности настройки и простоту использования, включая полную поддержку управления с помощью мыши.

🌟 Этот инструмент отличается быстрым откликом, интуитивно понятным управлением и визуализацией системных данных в реальном времени. Пользователи могут настраивать интерфейс, выбирая цветовые схемы, управлять процессами прямо из меню, отслеживать сетевые подключения и даже работать с несколькими устройствами одновременно.

🔐 Лицензия: Apache-2.0

🖥 Github (https://github.com/aristocratos/bpytop)
@Python_Community_ru
🌟 Model2Vec: разработка компактных и быстрых моделей на основе Sentence Transformer.

Model2Vec - это библиотека, позволяющая создавать компактные и быстрые модели на основе предобученных моделей Sentence Transformer.

С помощью Model2Vec можно создавать эмбединг-модели для слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными моделями Sentence Transformer.

Вот некоторые ключевые особенности:

🟢 Быстрая дистилляция, процесс создания модели занимает всего несколько минут.

🟢 Быстрый инференс, который в 500 раз быстрее на CPU по сравнению с оригинальной моделью.

🟢 Возможность использования любой модели Sentence Transformer с любым словарем (BYOM и BYOV).

🟢 Мультиязычность, требуется лишь мультиязычная модель в качестве источника.

🟢 Интеграция с Huggingface, поддержка загрузки и выгрузки моделей с использованием привычных методов from_pretrained и push_to_hub.

Пайплайн Model2Vec состоит из трех этапов. На первом этапе словарь проходит через модель Sentence Transformer для получения векторов эмбеддингов для каждого слова.

Затем размерность полученных эмбеддингов уменьшается с помощью метода главных компонент (PCA). В завершение применяется zipf-взвешивание для учета частоты слов в словаре.

Model2Vec работает в двух режимах:

🟠 Output, где модель функционирует как Sentence Transformer с использованием subword токенизации.

🟠 Vocab, где создается набор статических эмбеддингов слов, аналогично GloVe или Word2Vec.

Оценка производительности Model2Vec проводилась на наборе данных MTEB по задачам PEARL (оценка качества представления фраз) и WordSim (оценка семантической близости слов).

Результаты показывают, что Model2Vec превосходит GloVe и модели на основе WordLlama по всем задачам оценки.

▶️ Пример дистилляции:

from model2vec.distill import distill

# Выбор модели Sentence Transformer
model_name = "BAAI/bge-base-en-v1.5"

# Дистилляция модели
m2v_model = distill(model_name=model_name, pca_dims=256)

# Сохранение модели
m2v_model.save_pretrained("m2v_model")

▶️ Пример инференса:

from model2vec import StaticModel

# Загрузка модели из HuggingFace hub или локальной.
model_name = "minishlab/M2V_base_output"
# Можно передать токен, если загружаете приватную модель
model = StaticModel.from_pretrained(model_name, token=None)

# Создание эмбеддингов
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])

📌 Лицензирование: MIT License.

Набор моделей (https://huggingface.co/minishlab)
GitHub (https://github.com/MinishLab/model2vec)

(https://t.iss.one/pythonl)

#AI #ML #LLM #Embedding #Model2Vec #python
@Python_Community_ru
🖥 MicroPie (https://github.com/patx/micropie) — это очень маленький веб-фреймворк на Python, созданный для разработки веб-приложений с минимальными усилиями.

🌟 Он поддерживает асинхронные веб-приложения благодаря реализации спецификации ASGI и обеспечивает высокую производительность и гибкость. Среди основных возможностей MicroPie — автоматическое сопоставление URL с функциями, управление сессиями с помощью cookies, поддержка шаблонов через Jinja2 (при установленной библиотеке), а также минимальные зависимости, что упрощает процесс разработки и развертывания приложений.

🔐 Лицензия: BSD-3-Clause

🖥 Github (https://github.com/patx/micropie)
@Python_Community_ru
⭐️ Python 1.0.0 был представлен 31 год назад.
@Python_Community_ru
⚡️ Surprise

Создание эффективной рекомендательной системы с нуля может потребовать значительного времени и объема программного кода.

Surprise облегчает этот процесс, позволяя разрабатывать рекомендательные системы с минимальным количеством кода, предоставляя встроенные алгоритмы, готовые наборы данных и средства для оценки модели.

Github (https://github.com/NicolasHug/Surprise)
Пример (https://codecut.ai/how-to-build-a-recommendation-engine-using-surprise-in-python/)
@Python_Community_ru
🖥 httpdbg (https://github.com/cle-b/httpdbg) — это инструмент с открытым исходным кодом, который предназначен для отладки HTTP(S)-запросов в Python-программах.

🌟 Он дает возможность разработчикам перехватывать и анализировать HTTP(S)-запросы, которые их приложения отправляют, без необходимости изменять исходный код. Для использования инструмента достаточно запустить программу с помощью команды pyhttpdbg вместо стандартного python, после чего перехваченные запросы можно просматривать через веб-интерфейс по адресу https://localhost:4909.

🔐 Лицензия: Apache-2.0

🖥 Github (https://github.com/cle-b/httpdbg)
@Python_Community_ru
🖥 Fastcore (https://github.com/AnswerDotAI/fastcore) — это библиотека на Python, которая расширяет возможности языка для работы с библиотекой fastai.

💡 Она предлагает функции для тестирования, многократной диспетчеризации, композиции объектов и функционального программирования. Fastcore внедряет возможности из других языков, таких как множественная диспетчеризация из Julia и миксины из Ruby, а также улучшает стандартные функции Python, включая параллельную обработку.

🔐 Лицензия: Apache-2.0

🖥 Github (https://github.com/AnswerDotAI/fastcore)
@Python_Community_ru
🖥 Ollama Python (https://github.com/ollama/ollama-python) — это библиотека, созданная для соединения проектов на Python версии 3.8 и выше с платформой Ollama.

🌟 Она предлагает удобный интерфейс для работы с языковыми моделями, такими как Llama 3.2, что позволяет разработчикам легко добавлять функции обработки естественного языка в свои приложения.

🔐 Лицензия: MIT

🖥 Github (https://github.com/ollama/ollama-python)
@Python_Community_ru