Skip to main content

zoo-kcl-check-cli

Локальные проверки Zoo / KittyCAD KCL: форматирование, синтаксис, стиль, ошибки выполнения и ограничения эскизов. Работает без сети, Zoo-аккаунта и API-токенов.

Выполнение использует mock CAD-движок. Успешная проверка не подтверждает корректность 3D-геометрии — её нужно проверять в Zoo.

Установка

pipx install zoo-kcl-check-cli

Также доступны pip install zoo-kcl-check-cli и uv tool install zoo-kcl-check-cli. Требуется Python 3.11–3.14. Пакет в PyPI.

Использование

kcl-check lint main.kcl
kcl-check execute main.kcl
kcl-check sketches main.kcl
kcl-check format main.kcl --write
Команда Назначение
lint Проверка синтаксиса и стиля без выполнения
execute Локальное выполнение: имена, аргументы, типы, единицы измерения и assert
sketches Проверка определённости и конфликтов ограничений эскизов
format Форматирование: вывод кода по умолчанию, запись с --write, проверка с --check

Вместо файла можно передать папку:

kcl-check lint .
kcl-check execute .
kcl-check sketches .
kcl-check format . --check

lint и format обрабатывают .kcl рекурсивно, пропуская символические ссылки. execute и sketches запускают default_file из project.toml или main.kcl. Импорты соседних KCL-файлов поддерживаются.

Предупреждения тоже считаются неуспехом. Команда sketches завершается неуспешно при недоопределённых или конфликтующих эскизах и неполном отчёте.

Параметры каждой команды доступны через kcl-check COMMAND --help.

Вывод

По умолчанию вывод текстовый. Диагностика идёт в stderr, результаты и отчёты — в stdout. Ошибки движка включают фрагмент кода и указатель на проблемное место, если эта информация доступна.

Для скриптов, CI и coding-агентов:

kcl-check execute main.kcl --json

--json возвращает один объект в stdout, в том числе при ошибках. Основные поля: ok, exit_code, diagnostics, sketches, formatting. Полный формат описан в контракте результата.

Все команды поддерживают --timeout SECONDS; по умолчанию — 60 секунд на всю команду.

Код завершения Значение
0 Проверка прошла
1 Диагностика KCL, проблема ограничений или отличие формата при --check
2 Некорректный ввод, таймаут или сбой инструмента
130 Прерывание пользователем

Разработка

Окружение, тесты и сборка. Ошибки и предложения — в GitHub Issues.

Лицензия

MIT.

Metadata

Release files for zoo-kcl-check-cli 0.1.1

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.1
File Size Uploaded
zoo_kcl_check_cli-0.1.1.tar.gz 29.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zoo-kcl-check-cli 0.1.1
File Interpreter ABI Platform
zoo_kcl_check_cli-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 45.5 kB

Release files / zoo_kcl_check_cli-0.1.1.tar.gz

Download URL zoo_kcl_check_cli-0.1.1.tar.gz
Size 29.6 kB
Tags Source
SHA-256 checksum
How to use checksums
946acff45199a522db049fc7b11f63bc9b582ead8bf6e33000fb44f592ea5cbc
BLAKE2b-256 checksum
How to use checksums
c52a150fbdcd7c748f450305702412362865f527662eb434769a409fd8cdc70f
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.1-py3-none-any.whl

Download URL zoo_kcl_check_cli-0.1.1-py3-none-any.whl
Size 15.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
efcbaaeb4c36678fe864ab6e9d737db6a914249fc4a8bbbb944c0adee0eb4662
BLAKE2b-256 checksum
How to use checksums
3bce29e2c14369d08adef1d03c960b2a8323f5b48d29c244c4bec60ed9acb8e0
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

This release

0.1.1 This release

2 release files

0.1.0

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