Структура
- 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