Skip to main content

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)

Source distribution for zoo-kcl-check-cli 0.1.0
File Size Uploaded
zoo_kcl_check_cli-0.1.0.tar.gz 31.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zoo-kcl-check-cli 0.1.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

0.1.6

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page