/basic_sdk

Шаблон для создания SDK + CLI на typer

Primary LanguagePython

Базовый код для разработки своего SDK + CLI

Структура

  • apps -- Хранилище классов, в котором лежит код с основной логикой
  • cli -- Логика обработки CLI команд
  • core -- Настройки, подключения и все остальное общее
  • packages -- Тут я храню объекты для собственной реализации каких-то протоколов, удобных декораторов
  • services -- Классы для работы с какими-то внешними сервисами. Тут возможно нужна пагинация, хитрая авторизация и тому подобное
  • __main__ -- Тут выполняется код, когда приложение вызывается как cli
  • __init__ -- Тут хранится список объектов, которые доступны для импорта из корня from basic_sdk import some и бывает иногда здесь нужно импортировать что-то, чтобы объекты определились при старте

Для пуша в pypi нужно прописать POETRY_PYPI_TOKEN_PYPI в .env и выполнить make push

  • Пройдут тесты
  • Сделается poetry lock
  • И пройдет линтеры

Можно собрать CLI в докер и использовать без установки на комп. Я использую это в CI/CD