Skip to main content

MGost

Библиотека позволяет пользоваться преимуществами MGost конвертера локально

Для ИИ-агентов / For AI agents: справочник по синтаксису Markdown, макросам и CLI MGost — https://articha.ru/static/mgost_conv/llms.md

Установка

Для начала необходимо получить 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

Быстрая конвертация

mgost convert конвертирует один markdown в .docx без проекта, синхронизации и mgost init. Локальные файлы (изображения и т.д.) при этом не загружаются. Результат занимает то же место, что и быстрая конвертация на сайте.

$ mgost convert                    # main.md → main.docx
$ mgost convert notes.md           # notes.md → notes.docx
$ mgost convert notes.md -o out/report.docx
$ cat notes.md | mgost convert - -o - > notes.docx

Токен берётся из ARTICHAAPI_TOKEN или .mgost/.env, иначе запрашивается. Введённый токен можно сохранить в .mgost/.env текущей папки. При чтении из stdin токен не запрашивается.

Структура проекта

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, convert)
│   └── async_commands.py     # Асинхронные реализации команд CLI
├── mgost/
│   ├── mgost.py              # Класс MGost — основной фасад: инициализация, синхронизация, рендер проекта
│   ├── fast_convert.py       # Быстрая конвертация одного markdown без проекта (`mgost convert`)
│   ├── sync.py               # Логика синхронизации файлов проекта с облаком
│   ├── progress_utils.py     # Кастомные колонки rich.progress (например, отображение байт/штук)
│   └── utils.py              # Вспомогательные функции (валидация токена и проекта, вывод логов рендера)
└── settings/
    ├── settings.py           # Класс Settings — чтение токена/конфига из env, .env, команды
    └── logging.py            # Настройка логирования
tests/                        # Тесты (pytest), структура повторяет src/mgost

Metadata

Release files for MGost 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for MGost 1.2.2
File Size Uploaded
mgost-1.2.2.tar.gz 69.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for MGost 1.2.2
File Interpreter ABI Platform
mgost-1.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 107.2 kB

Release files / mgost-1.2.2.tar.gz

Download URL mgost-1.2.2.tar.gz
Size 69.8 kB
Tags Source
SHA-256 checksum
How to use checksums
658839d4afadd0b5caba7fc585dec9432feea941745a85b821e7f98ed79b9484
BLAKE2b-256 checksum
How to use checksums
cd10e41f001ea2ce99292087a1c3be7202fa726cd81ed6c462d6d83cb343d2bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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.2.2-py3-none-any.whl

Download URL mgost-1.2.2-py3-none-any.whl
Size 37.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d0c8ca88687407862281c8b77523d4b2947a3e8ce14a47383889c6b0946cd38d
BLAKE2b-256 checksum
How to use checksums
78039a1cad8898e95ee48caf90f1ac1162a54b0888686350f9c914dc0af4ba85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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 history Release notifications | RSS feed

This release

1.2.2 This release

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.0.0

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.11

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.3

2 release files

0.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page