zoo-kcl-check-cli
Проверка файлов Zoo / KittyCAD KCL из терминала: форматирование, стиль, ошибки выполнения и ограничения эскизов. Это язык CAD-моделирования Zoo.
Проверки работают локально, бесплатно, без Zoo-аккаунта и токенов. Выполнение использует имитацию CAD-движка: успешная проверка кода не подтверждает валидность настоящей 3D-геометрии.
Установка
Понадобится uv — он установит инструмент и его зависимости. На macOS с Homebrew:
brew install uv
Склонируйте проект и установите команду:
git clone https://github.com/gavroman/zoo-kcl-check.git
cd zoo-kcl-check
uv tool install --python 3.13 .
uv tool update-shell
Точка . означает «установить проект из текущей папки».
Если репозиторий уже скачан, выполняйте только две команды uv из его папки.
Откройте новый терминал. Теперь команда доступна из любой папки:
kcl-check --help
Python 3.13 uv найдёт или скачает сам. Сеть нужна при установке; после неё проверки работают без сети.
Как пользоваться
Откройте папку своей CAD-модели и запустите нужную проверку:
kcl-check lint main.kcl
kcl-check execute main.kcl
kcl-check sketches main.kcl
| Команда | Что проверяет |
|---|---|
lint |
Синтаксис и стиль |
execute |
Имена, аргументы, типы, единицы измерения и assert |
sketches |
Полностью ли определены эскизы и нет ли конфликтов ограничений |
format |
Форматирует исходный текст |
Для форматирования с записью в файл:
kcl-check format main.kcl --write
Без --write команда печатает результат и сохраняет исходник.
Чтобы только проверить формат:
kcl-check format main.kcl --check
Можно передавать папку: kcl-check lint . проверит все .kcl внутри.
execute . и sketches . запускают main.kcl; если в project.toml указан
default_file, запускается он. Импорты соседних KCL-файлов поддерживаются.
Символические ссылки при обходе пропускаются.
Проверки строгие: предупреждение тоже означает неуспех. Недоопределённый или
конфликтующий эскиз делает команду sketches неуспешной. Прочитать параметры
конкретной команды можно через kcl-check sketches --help.
Для скриптов и coding-агентов
kcl-check execute main.kcl --json
--json возвращает один JSON-объект с результатом и диагностикой.
--timeout 30 задаёт лимит на всю команду в секундах; по умолчанию — 60.
| Код завершения | Значение |
|---|---|
0 |
Проверка прошла |
1 |
Есть замечания или отличается формат при --check |
2 |
Ошибка установки/входа, таймаут или сбой инструмента |
130 |
Прерывание пользователем |
Обновление и удаление
После скачивания новой версии репозитория выполните из его папки:
uv tool install --reinstall --python 3.13 .
Удаление:
uv tool uninstall zoo-kcl-check-cli
Совместимость и разработка
Проверено на macOS ARM64 с Python 3.13. Для Windows x64 и Linux glibc x64/ARM64 есть готовые версии зависимости Zoo KCL; сам CLI на них пока не проверен.
Ошибки и предложения — через GitHub Issues, изменения — через pull request. Настройка разработки, тесты и сборка.
Лицензия
MIT: можно бесплатно использовать, изменять и распространять код, включая коммерческие проекты. Сохраняйте текст лицензии и уведомление об авторстве.
Metadata
Release files for zoo-kcl-check-cli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zoo_kcl_check_cli-0.1.0.tar.gz | 31.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zoo_kcl_check_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.5 kB
Release files / zoo_kcl_check_cli-0.1.0.tar.gz
| Download URL | zoo_kcl_check_cli-0.1.0.tar.gz |
|---|---|
| Size | 31.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
113ea44d9cd6259c1f2a80c6a592014ca98a7d492c6cebac82b4f9de5cce80dc
|
|
BLAKE2b-256 checksum How to use checksums |
020264c1d907da8cdb46a3c6b406cb656e445557dee1ee1d3025880f9a7106e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / zoo_kcl_check_cli-0.1.0-py3-none-any.whl
| Download URL | zoo_kcl_check_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 16.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
12db1627455413753261ab49b31b350336f23ff81f6634934a8cd09f89223875
|
|
BLAKE2b-256 checksum How to use checksums |
a18104ce0b466ff3fd6d661538f7d9218af6d26156bfdfb3ae6797a4f6a7e7d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|