MGost
Библиотека позволяет пользоваться преимуществами MGost конвертера локально
Установка
Для начала необходимо получить API токен на официальном сайте конвертера
После создания ключа можно запустить библиотеку напрямую через uv (Рекомендуется):
uvx -p 3.13 mgost version
Или через pip:
python3.13 -m pip install mgost
python3.13 -m mgost version
Запуск
Для инициализации папки для проекта используйте mgost init. Первый запуск запросит API токен:
$ uvx -p 3.13 mgost init
API ключ не найден ни в переменных среды, ни в .env.
Введите код вручную или внесите его в вышеперечисленные источники
ARTICHAAPI_TOKEN=
После ввода токена, нужно выбрать проект:
ARTICHAAPI_TOKEN= ...
Текущий проект недействительный в облаке. Воспользуйтесь mgost init для инициализации проекта
Создать новый проект или синхронизировать существующий?
0. Создать новый проект
1. "Проект1"
2. "Проект2"
Действие:
В зависимости от выбора, могут быть другие вопросы инициализации
Синхронизация
После инициализации проект можно синхронизировать и выполнять рендер. Команда mgost render синхронизирует проект с облаком и выполнит рендер.
$ mgost render
Текущий проект: Проект1
Синхронизация ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3/3
Начинаю рендер
Рендер успешно завершён
↓ output.docx ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
В случае проблем с выполнением рендера, лог будет отображаться в консоли:
$ mgost render
Текущий проект: Проект1
Синхронизация ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3/3
Начинаю рендер
Рендер успешно завершён
ИНФО: grafana-logo-3.png не существует. Изображение (рисунок) пропущен
↓ output.docx ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Структура проекта
src/mgost/
├── __main__.py # Точка входа для `python -m mgost`
├── console.py # Обёртка над typer/click для консольного вывода (прогресс, цвета, промпты)
├── api/
│ ├── api.py # Класс ArtichaAPI — HTTP-клиент для работы с облаком (проекты, файлы, токены)
│ ├── actions.py # Датаклассы действий синхронизации (загрузка/скачивание/перемещение файлов)
│ ├── caller.py # Низкоуровневая функция выполнения HTTP-запроса с повторами
│ ├── exceptions.py # Исключения API (WrongToken, ClientClosed, APIRequestError)
│ ├── remote_version.py # Получение актуальной версии пакета с PyPI
│ ├── request.py # Датакласс APIRequestInfo — описание одного запроса
│ └── schemas/
│ ├── general.py # Общие Pydantic-схемы (TokenInfo)
│ └── mgost.py # Pydantic-схемы предметной области (Project, ProjectFile, BuildResult и т.д.)
├── cli/
│ ├── app.py # Создание typer.Typer приложения и обёртка main() с перехватом Ctrl+C
│ ├── callback.py # Глобальный callback CLI (флаг -v, инициализация логирования)
│ ├── commands.py # Определения команд CLI (version, token, init, sync, render)
│ └── async_commands.py # Асинхронные реализации команд CLI
├── mgost/
│ ├── mgost.py # Класс MGost — основной фасад: инициализация, синхронизация, рендер проекта
│ ├── sync.py # Логика синхронизации файлов проекта с облаком
│ ├── progress_utils.py # Кастомные колонки rich.progress (например, отображение байт/штук)
│ └── utils.py # Вспомогательные функции (валидация токена и проекта)
└── settings/
├── settings.py # Класс Settings — чтение токена/конфига из env, .env, команды
└── logging.py # Настройка логирования
tests/ # Тесты (pytest), структура повторяет src/mgost
Release files for MGost 1.0.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 | |
|---|---|---|---|
| mgost-1.0.0.tar.gz | 38.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mgost-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.5 kB
Release files / mgost-1.0.0.tar.gz
| Download URL | mgost-1.0.0.tar.gz |
|---|---|
| Size | 38.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfb992662f38472d2fca86678f46b6f662b53dabbc97835b6a35081435118169
|
|
BLAKE2b-256 checksum How to use checksums |
94b57c26b2046f59dc122acbd78a50a23d3e66a85dbaae2e7550fc128e3281fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / mgost-1.0.0-py3-none-any.whl
| Download URL | mgost-1.0.0-py3-none-any.whl |
|---|---|
| Size | 30.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5c54ce040ca1bd6cc04da8e73cd96ac1f42f2c4f889f1ea3db519ec161cd251d
|
|
BLAKE2b-256 checksum How to use checksums |
d430bbb191ad0b64db2ef9b2e048d4cf3d3ffc2c7b830853d44723e91b03e76e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|