YETI³ SDK / Публикация

От готового примера
к своему пакету.

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

1. Скачайте и запустите

  1. Выберите пакет в библиотеке и нажмите «Скачать бесплатно».
  2. Распакуйте ZIP в отдельную папку. Откройте терминал в этой папке.
  3. Установите Python 3.12 или новее. Создайте окружение и выполните команды ниже.
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python app.py
python -m unittest discover -s tests -v

В Windows: py -3 -m venv .venv, затем вместо python используйте .venv\Scripts\python.exe. Пакеты Python загружаются из индекса https://engine.yeti3.ru/sdk/simple/, указанного в requirements.txt.

app.py запускает ядро и регистрирует модуль. Рабочие вызовы расчёта заказа, записи, перевода или игровых правил находятся в tests/test_module.py. Скопируйте нужный вызов в своё приложение.

2. Выберите основу

ЗадачаПакеты
Бизнес-правилаРасчёт заказа; свободные слоты
ИнтерфейсБезопасный HTML-заголовок; компонент статуса
Прикладная логикаЗаказы магазина; запись в клинику с защитой от повторного бронирования и сохранением в SQLite
ЯзыкиРусский и английский — по восемь стартовых ключей
ОформлениеГрафитовый и лесной наборы CSS + SVG
ИгрыPython-правила «Пятнашек» и «Тетриса» на основе MillerRings

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

3. Подготовьте свой архив

  1. Измените код и тесты. В yeti3-module.toml и module.py укажите одинаковые собственные id и version. Не используйте id исходного примера для своей публикации.
  2. Опишите назначение и запуск в README.md, права использования — в LICENSE.
  3. Запустите тесты. Упакуйте файлы в ZIP: manifest и module.py должны лежать прямо в корне архива.

Не включайте .venv, .git, базы с данными, ключи, пароли и __pycache__. Размер ZIP — до 8 MiB. Первая версия проверки принимает только автономные пакеты без сетевого доступа, внешних зависимостей, миграций и фоновых задач. Установка зависимостей ограничена фиксированными core/platform 0.3.1 из SDK-индекса.

4. Отправьте на проверку

  1. Войдите в кабинет разработчика. Подайте заявку, указав своё имя. Оператор одобряет профиль.
  2. Выберите ZIP и подтвердите право распространять код и ресурсы. Нажмите «Отправить на проверку».
  3. Обновите страницу через несколько секунд. Состояния: «Ожидает проверки» → «Проверяется» → «Проверен» или «Отклонён».
  4. Откройте протокол. При отклонении исправьте причину и загрузите новый архив.
  5. После состояния «Проверен» нажмите «Опубликовать бесплатно». Пакет появится в общей библиотеке.

Сервер проверяет структуру ZIP, manifest, совместимость с SDK, запуск и остановку модуля, тесты и ограничения профиля. Код выполняется в отдельном контейнере без сети. Протокол указывает область проверки: он не является гарантией отсутствия любых ошибок или подтверждением юридического авторства.

5. Версии и доля автора

Опубликованный id закреплён за автором. Байты опубликованной версии не заменяются: для обновления поднимите version в manifest и коде, затем пройдите проверку заново.

Сейчас доступна бесплатная публикация. Доля автора настраивается оператором, по умолчанию — 15% в токенах. Платные публикации закрыты до завершения механизма начислений и возвратов. Как настроить процент и создать администратора — в инструкции администратора.