CLI endo
Всё для скаффолдинга, запуска, инспекции и миграций проекта. CLI ставится
вместе с пакетом (pip install endocore).
endo --help
endo --version
Почему команда — endo, а не end
end — зарезервированное слово PowerShell (блоки begin/process/end),
поэтому голый end dev там был бы ошибкой парсера. endo работает
одинаково в любой оболочке (PowerShell, bash, cmd, zsh) — это
единственная точка входа, которую поставляет пакет, специально чтобы не
было отдельного обходного пути под конкретную оболочку.
Проект и endpoint'ы
| Команда |
Делает |
endo new <Name> |
создать каркас нового проекта |
endo create <path> [method] |
создать endpoint, например endo create user/role post |
endo create v2/user/[id] get |
создать в конкретной версии, с динамическим сегментом |
Запуск
| Команда |
Делает |
endo dev |
запустить dev-сервер (перезагрузка в процессе) |
endo dev --host 0.0.0.0 --port 8080 |
задать host/port |
endo dev --no-reload |
отключить вотчер |
endo dev --default-version latest |
резолвить пути без версии в самую свежую |
Инспекция
| Команда |
Делает |
endo routes |
вывести каждый метод + URL + файл, на который он указывает |
endo check |
дубли маршрутов, битые обработчики, пропущенные файлы |
endo doctor |
версия Python, опциональные зависимости, проверки структуры |
endo openapi [--out openapi.json] |
напечатать или записать OpenAPI-схему |
Версии
| Команда |
Делает |
endo version create 2 |
скопировать последнюю версию → v2 |
endo version create 2 --from 1 |
ответвиться от конкретной версии |
endo version create 2 --empty |
каркас без тел обработчиков |
endo version list |
вывести существующие версии |
Миграции
| Команда |
Делает |
endo makemigrations [name] |
сгенерировать миграцию из изменений моделей |
endo makemigrations --rename table.old=new |
включить явное переименование колонки |
endo makemigrations <name> --python |
создать пустую миграцию данных forward()/reverse() |
endo migrate [target] |
применить ожидающие миграции (до target) |
endo rollback [--steps N] |
отменить последние N миграций |
endo showmigrations |
[x] применена / [ ] ожидает |
endo sqlmigrate <name> |
напечатать forward-SQL миграции |
Тесты
| Команда |
Делает |
endo test |
запустить тесты проекта через pytest |
endo test -q -k name |
флаги pytest передаются напрямую |
Можно запускать и как модуль
python -m endocore <command> эквивалентно endo <command> — удобно на
Windows, где может не быть shim'ов python/endo (py -3 -m endocore …).