PLG-SHARED
PLG-SHARED - это общий инфраструктурный слой для всех проектов организации py-love-gmod.
Он предоставляет:
- Парсер Python с преобразованием в IR (промежуточное представление)
- Общие утилиты: бинарный дампер, CLI-обёртку, многопоточность
- Единый формат данных для обмена между компонентами экосистемы
Библиотека не выполняет код, который парсит. Она только анализирует и структурирует его.
Зачем нужен этот модуль?
В экосистеме py-love-gmod многие проекты используют общие механизмы:
- чтение и анализ Python-кода
- сериализацию данных
- построение CLI-интерфейсов
- параллельную обработку
Вместо того чтобы дублировать код в каждом репозитории, все эти механизмы вынесены в PLG-SHARED.
Поддерживаемые типы файлов
Парсер умеет читать:
| Расширение | Описание |
|---|---|
.py |
Обычный Python-код |
.pyi |
Файл-описатель (stub) |
На выходе - единое IR-дерево, с которым работают все остальные инструменты.
Бинарный дампер
Модуль BinaryRW позволяет безопасно сериализовать и десериализовать стандартные типы Python:
None,bool,int,float,str,byteslist,tuple,dict,set
Формат упаковки - бинарный.
CLI-утилита
В состав входит модифицированная версия clii - микро-обёртка над argparse.
Позволяет быстро создавать консольные команды с минимальным кодом. Используется во всех CLI-инструментах экосистемы.
В отличии от самого проекта который лицензирован под GNU Affero General Public License v3.0 (AGPL-3.0), clii лицензирован под MIT
Технический долг
- Выводить ошибки более человеческим языком
- Улучшить позиционирование ошибок (аналог Python-трейсбэков)
Установка
pip install plg-shared
Для разработки:
git clone https://github.com/py-love-gmod/plg-shared
cd plg-shared
pip install -e .
Лицензия
Этот проект распространяется под лицензией GNU Affero General Public License v3.0 (AGPL-3.0).
Metadata
Release files for pylovegmod-shared 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pylovegmod_shared-0.1.0.tar.gz | 82.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pylovegmod_shared-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 176.7 kB