У многих из нас есть свои опенсорс/пет-проекты и желание получить обратную связь, помощь в их развитии, или просто немного звёзд на гитхабе. Администрация @ru_python хочет поспособствовать этому, и собирается провести небольшой эксперимент. Мы ждём ссылки на ваши проекты, отбираем из них несколько на наш вкус, а затем по очереди публикуем их раз в день в канале @rupython_channel и в закреплённом сообщении здесь. Конструктивные обсуждения и критика в разумных пределах приветствуются.
Критерии участия простые:
- Проект написан на Python
- Исходный код доступен на Github, Gitlab, Bitbucket или другом подобном сервисе
- В репозитории есть README с описанием проекта и минимальной документацией
- Для опенсорс проектов требуется наличие свободной лицензии
Для библиотек будет плюсом выложенный на PyPI пакет.
Для подачи заявки нужно написать администрации @ru_python. В сообщении укажите:
- Ссылку на проект
- Его краткое описание
- По желанию можете рассказать о себе
Критерии участия простые:
- Проект написан на Python
- Исходный код доступен на Github, Gitlab, Bitbucket или другом подобном сервисе
- В репозитории есть README с описанием проекта и минимальной документацией
- Для опенсорс проектов требуется наличие свободной лицензии
Для библиотек будет плюсом выложенный на PyPI пакет.
Для подачи заявки нужно написать администрации @ru_python. В сообщении укажите:
- Ссылку на проект
- Его краткое описание
- По желанию можете рассказать о себе
Google Docs
Рупитон рекомендует
У вас есть хороший пет-проект? Хотели бы привлечь внимание к своему опенсорс приложению? Заполните форму ниже и по результатам отбора мы запостим краткое описание вашего приложения в @rupython_channel
Первый проект, который мы хотим представить - Bitcart от @MrNaif_bel
Это платформа для разработчиков и продавцов, целью которого стоит облегчение внедерения криптовалют в ваши проекты. Есть веб-GUI и SDK. Заявленные системные требованя значительно ниже чем у bitcoin core, при том, что так же возможно добавление других криптовалют. Проект использует SPV(simple wallet verification) кошелек electrum для всего.
Пока проект находится на уровне альфа-версии.
Проект написан с помощью Django
Для работы требуется postgresql и redis
Лицензия: MIT
Подробнее: https://bitcart.readthedocs.io/ru/latest/overview.html#main-features
Это платформа для разработчиков и продавцов, целью которого стоит облегчение внедерения криптовалют в ваши проекты. Есть веб-GUI и SDK. Заявленные системные требованя значительно ниже чем у bitcoin core, при том, что так же возможно добавление других криптовалют. Проект использует SPV(simple wallet verification) кошелек electrum для всего.
Пока проект находится на уровне альфа-версии.
Проект написан с помощью Django
Для работы требуется postgresql и redis
Лицензия: MIT
Подробнее: https://bitcart.readthedocs.io/ru/latest/overview.html#main-features
Наш следующий гость - wemake-python-styleguide (от @sobolev_nikita) представляет собой набор плагинов для flake8.
Он позиционируется как самый строгий линтер. Он правда заставит вас страдать. И, кажется, это имеет смысл для получения идеального кода.
Лицензия: MIT
Статья на хабре: https://habr.com/ru/company/oleg-bunin/blog/433480/
Документация: https://wemake-python-stylegui.de/en/latest/
Он позиционируется как самый строгий линтер. Он правда заставит вас страдать. И, кажется, это имеет смысл для получения идеального кода.
Лицензия: MIT
Статья на хабре: https://habr.com/ru/company/oleg-bunin/blog/433480/
Документация: https://wemake-python-stylegui.de/en/latest/
Интересный проект - geopuzzle от @TyVik
Это открытая версия игры для изучения географии https://geopuzzle.org/
Игроку предлагается собирать карту мира или отдельных стран из кусочков
Для работы требуется postgres с postgis и redis. Написана с использованием django и node.js
Лицензия: GPLv3
Статья на Хабре: https://habr.com/ru/post/427209/.
Исходники: https://github.com/TyVik/geopuzzle
Это открытая версия игры для изучения географии https://geopuzzle.org/
Игроку предлагается собирать карту мира или отдельных стран из кусочков
Для работы требуется postgres с postgis и redis. Написана с использованием django и node.js
Лицензия: GPLv3
Статья на Хабре: https://habr.com/ru/post/427209/.
Исходники: https://github.com/TyVik/geopuzzle
dry-python от @proofit404 - это набор библиотек для построения высокоуровневой архитектуры приложения.
Тут есть свой DI-фрйемворк, свой DSL для описания пользовательской истории, модули для реализации более безопасных функций, линтеры и другое.
Лицензия: BSD 2-clause
Официальный сайт: https://dry-python.org
Тут есть свой DI-фрйемворк, свой DSL для описания пользовательской истории, модули для реализации более безопасных функций, линтеры и другое.
Лицензия: BSD 2-clause
Официальный сайт: https://dry-python.org
dataclass_factory от @Tishka17 — быстрая и простая в использовании библиотека для сериализации и десериализации объектов. Не требует конфигурирования при работе с датаклассами, а для более сложных случаев есть гибко настраиваемые схемы и пользовательские хуки на разных этапах обработки данных.
Лицензия: Apache License 2.0
Репозиторий: https://github.com/tishka17/dataclass_factory
PyPI:
Лицензия: Apache License 2.0
Репозиторий: https://github.com/tishka17/dataclass_factory
PyPI:
pip install dataclass-factoryсhannels от @aragaer
Обертка над пайпами и сокетами, позволяющая работать с ними одинаково.
Так же включает в себя обертку над poll, с помощью которой можно сделать простейший сервер.
Лицензия: MIT
Исходники: https://github.com/aragaer/channels
Обертка над пайпами и сокетами, позволяющая работать с ними одинаково.
Так же включает в себя обертку над poll, с помощью которой можно сделать простейший сервер.
Лицензия: MIT
Исходники: https://github.com/aragaer/channels
reparsec от @synrst
Библиотека для написания синтаксических анализаторов рекурсивного спуска, вдохновлённая parsec и funcparserlib.
Главная фича — режим работы с исправлением ошибок во входных данных, позволяющий за один запуск парсера определить потенциальные ошибки, способ их исправления, и результат, получаемый после исправления.
Лицензия: MIT
Репозиторий: https://github.com/ethframe/reparsec
PyPI:
Библиотека для написания синтаксических анализаторов рекурсивного спуска, вдохновлённая parsec и funcparserlib.
Главная фича — режим работы с исправлением ошибок во входных данных, позволяющий за один запуск парсера определить потенциальные ошибки, способ их исправления, и результат, получаемый после исправления.
Лицензия: MIT
Репозиторий: https://github.com/ethframe/reparsec
PyPI:
pip install reparsec❤🔥1
aiogram-dialog от @Tishka17 — это фреймворк для разработки интерактивных сообщений и меню в вашем телеграмм-боте, подобно обычному приложению с графическим интерфейсом.
Позволяет избавиться от копипасты и сделать код более структурированным:
* разделение извлечения данных, рендеринга и обработки действий. Вам ничего не нужно делать для повторного отображения одного и того же контента после разных действий, переходы между состояниями отделены от логики отображения.
* многоразовые виджеты. Вы можете создать календарь или выбор из нескольких вариантов в любой точке вашего приложения без копирования и вставки его внутренней логики
* ограниченный контекст. Любой диалог хранит данные до его закрытия, несколько открытых диалогов обрабатывают свои данные независимо
Лицензия: Apache-2.0
Репозиторий: https://github.com/Tishka17/aiogram_dialog/
Pypi:
Позволяет избавиться от копипасты и сделать код более структурированным:
* разделение извлечения данных, рендеринга и обработки действий. Вам ничего не нужно делать для повторного отображения одного и того же контента после разных действий, переходы между состояниями отделены от логики отображения.
* многоразовые виджеты. Вы можете создать календарь или выбор из нескольких вариантов в любой точке вашего приложения без копирования и вставки его внутренней логики
* ограниченный контекст. Любой диалог хранит данные до его закрытия, несколько открытых диалогов обрабатывают свои данные независимо
Лицензия: Apache-2.0
Репозиторий: https://github.com/Tishka17/aiogram_dialog/
Pypi:
pip install aiogram_dialog
Обсуждение проекта - @aiogram_dialog❤🔥10👍5🤔2💩2🔥1🕊1
PyHeap от @ivanyu - утилита для дампинга и анализа кучи (heap) CPython-процессов.
Использует GDB для подключения к целевому процессу. Имеет графический браузерный UI для визуализации и исследования дампов. Поддерживает Docker (и вообще Linux namespaces).
По общей идее утилита похожа на связку jmap + Eclipse Memory Analyzer из мира Java.
Лицензия: Apache License 2.0
Репозиторий: https://github.com/ivanyu/pyheap
Использует GDB для подключения к целевому процессу. Имеет графический браузерный UI для визуализации и исследования дампов. Поддерживает Docker (и вообще Linux namespaces).
По общей идее утилита похожа на связку jmap + Eclipse Memory Analyzer из мира Java.
Лицензия: Apache License 2.0
Репозиторий: https://github.com/ivanyu/pyheap
🔥4👍2
adaptix от @Tishka17 и @pvlzhr — это библиотека для сериализации и десериализации объектов, которая гибко подстраивается под ваши нужды.
Основные преимущества:
1. Высокая производительность — до двух раз быстрее, чем pydantic v2 (бенчмарки)
2. Группировка настроек конвертации, позволяющая следовать принципу DRY.
3. Различные правила сериализации и десериализации для одних и тех же моделей.
4. Работа с любыми моделями (dataclass, NamedTuple, TypedDict, attrs) без необходимости менять что-либо в самих классах.
◾️ Репозиторий
◾️ Документация
◾️ Группа
Основные преимущества:
1. Высокая производительность — до двух раз быстрее, чем pydantic v2 (бенчмарки)
2. Группировка настроек конвертации, позволяющая следовать принципу DRY.
3. Различные правила сериализации и десериализации для одних и тех же моделей.
4. Работа с любыми моделями (dataclass, NamedTuple, TypedDict, attrs) без необходимости менять что-либо в самих классах.
◾️ Репозиторий
◾️ Документация
◾️ Группа
👍4🔥3❤🔥1
GitHub
GitHub - Codwizer/mhjson: mhjson is a simple, elegant Python package to Query over any type of JSON Data. It'll make your life…
mhjson is a simple, elegant Python package to Query over any type of JSON Data. It'll make your life easier by giving the flavour of an ORM-like query on your JSON. - Codwizer/mhjson
mhjson от @dev_kitten — это простой и элегантный Python-пакет для запросов к любым типам JSON-данных.
Он облегчит вам жизнь, предоставив вкус ORM-подобных запросов к вашему JSON.
Он облегчит вам жизнь, предоставив вкус ORM-подобных запросов к вашему JSON.
❤🔥6❤2👎1🥰1🤔1
Dishka от @Tishka17 — это удобный и мощный IoC-контейнер.
Если вы следуете принципу Dependency Injection, то благодаря этой библиотеке удобнее управлять созданием и жизнью различных объектов
Основные возможности:
1. Не привязан к другим фреймворкам
2. Поддерживает финализацию зависимостей и asyncio
3. Зависимости кэшируются, поэтому один и тот же объект может быть переиспользован пока он жив.
4. Зависимости имеют ограниченное время жизни (скоуп) и вы сами управляете им
5. Фабрики зависимостей можно группировать в классы и компоненты, что позволяет делать контейнер модульным
6. Можно декорировать объекты, использовать один объект для нескольких типов
7. При старте проверяется корректность конфигурации контейнера, что позволяет исключить многие ошибки
💻 Репозиторий
📚 Документация
🚀 Группа
Если вы следуете принципу Dependency Injection, то благодаря этой библиотеке удобнее управлять созданием и жизнью различных объектов
Основные возможности:
1. Не привязан к другим фреймворкам
2. Поддерживает финализацию зависимостей и asyncio
3. Зависимости кэшируются, поэтому один и тот же объект может быть переиспользован пока он жив.
4. Зависимости имеют ограниченное время жизни (скоуп) и вы сами управляете им
5. Фабрики зависимостей можно группировать в классы и компоненты, что позволяет делать контейнер модульным
6. Можно декорировать объекты, использовать один объект для нескольких типов
7. При старте проверяется корректность конфигурации контейнера, что позволяет исключить многие ошибки
📚 Документация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍2❤1👎1
FastStream от @diementros и компании Airt - современный фреймворк для разработки асинхронных сервисов.
Если вы работаете с RabbitMQ/Kafka/NATS/[другой брокер] - вам определенно стоит взглянуть на FastStream. Его основные преимущества:
1) Простой и интуитивный API. Описывайте бизнес-логику, а не инфраструктуру
2) In-memory эмуляция брокеров. Тестируйте ваши сервисы без внешних зависимостей в CI
3) Готовая AsyncAPI документация, автоматически сгенерированная прямо из кода проекта
4) Отличная интеграция с телеметрией: удобное логирование, нативная поддержка OpenTelemetry
5) Сериализация входящих сообщений через Pydantic на основе аннотаций типов
6) Собственная минималистичная DI система (для эстетов есть интеграция с dishka)
Также проект отчаяно нуждается в контрибуторах и амбасадорах. Если вы ищете интересный проект для участия в Open Source - это ваш шанс получить галочку в портфолио и сделать мир чуточку лучше. PR Review, участие в discussions, большие и маленькие фичи, правки в документацию - мы будем рады любому участию!
Также в telegram группе мы часто обсуждаем планируемые фичи, так что это ваш шанс напрямую повлиять на развитие проекта.
📱 Репозиторий проекта
📚 Документация
📱 RU Telegram
📱 EN Discord
Если вы работаете с RabbitMQ/Kafka/NATS/[другой брокер] - вам определенно стоит взглянуть на FastStream. Его основные преимущества:
1) Простой и интуитивный API. Описывайте бизнес-логику, а не инфраструктуру
2) In-memory эмуляция брокеров. Тестируйте ваши сервисы без внешних зависимостей в CI
3) Готовая AsyncAPI документация, автоматически сгенерированная прямо из кода проекта
4) Отличная интеграция с телеметрией: удобное логирование, нативная поддержка OpenTelemetry
5) Сериализация входящих сообщений через Pydantic на основе аннотаций типов
6) Собственная минималистичная DI система (для эстетов есть интеграция с dishka)
Также проект отчаяно нуждается в контрибуторах и амбасадорах. Если вы ищете интересный проект для участия в Open Source - это ваш шанс получить галочку в портфолио и сделать мир чуточку лучше. PR Review, участие в discussions, большие и маленькие фичи, правки в документацию - мы будем рады любому участию!
Также в telegram группе мы часто обсуждаем планируемые фичи, так что это ваш шанс напрямую повлиять на развитие проекта.
📚 Документация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤1🥰1