Skip to main content

CLI tools for InstructWare protocol linting and incremental build workflows.

Project description

iwp-tools

iwp-tools is the standalone toolkit repository for InstructWare protocol workflows.

It provides two CLI commands:

  • iwp-lint: schema/link/coverage quality checks
  • iwp-build: incremental build orchestration on top of iwp-lint

Quick command map:

  • iwp-lint check == iwp-lint full
  • iwp-build build --mode diff for implementation checkpoint
  • iwp-build verify for compiled + lint gate validation

If validation fails, prefer this quick recovery path:

uv run iwp-lint links normalize --config .iwp-lint.yaml --write
uv run iwp-build build --config .iwp-lint.yaml --mode diff
uv run iwp-build verify --config .iwp-lint.yaml

Install

Use whichever global tool manager your environment already standardizes on.

Option A: pipx (isolated global CLI)

pipx install instructware-tools
iwp-lint --help
iwp-build --help

Option B: uv tool (isolated global CLI)

uv tool install instructware-tools
iwp-lint --help
iwp-build --help

Option C: uvx (one-off execution, no persistent install)

uvx instructware-tools iwp-lint --help
uvx instructware-tools iwp-build --help

Local development

Run all quality commands from the tools directory.

uv sync --group dev
make quality
make typecheck
uv run python -m unittest iwp_lint.tests.test_regression
uv run python -m unittest iwp_build.tests.test_e2e_suite
uv run python -m unittest iwp_lint.tests.test_e2e_suite

If your current directory is repository root, use:

cd tools
uv sync --group dev --frozen
make quality
make typecheck

Build releases

uv build
uv run pyinstaller --onefile --name iwp-lint iwp_lint/__main__.py
uv run pyinstaller --onefile --name iwp-build iwp_build/__main__.py

License

This repository is licensed under MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

instructware_tools-0.1.7.tar.gz (128.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

instructware_tools-0.1.7-py3-none-any.whl (169.3 kB view details)

Uploaded Python 3

File details

Details for the file instructware_tools-0.1.7.tar.gz.

File metadata

  • Download URL: instructware_tools-0.1.7.tar.gz
  • Upload date:
  • Size: 128.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for instructware_tools-0.1.7.tar.gz
Algorithm Hash digest
SHA256 3575f070ab395a0e741eceb8f1d7128410d57573a7783f66185021e327936da9
MD5 479cce2773b065582d69a9dc1d8157cd
BLAKE2b-256 b09647f375afff4228d190f1fd39ecba980a74d0564be65a2b55b6728381047e

See more details on using hashes here.

Provenance

The following attestation bundles were made for instructware_tools-0.1.7.tar.gz:

Publisher: release.yml on InstructWare/iwp-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file instructware_tools-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for instructware_tools-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f2b432d97e2982eec0d56069a691215772b2d4d935cbe6d0e4450f3990b6d385
MD5 9c6e3173197be40972833acd02e064e0
BLAKE2b-256 29e1124d02da5636e4463fdb6a883a7d701ab94a2c2b26f3a597987422c170ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for instructware_tools-0.1.7-py3-none-any.whl:

Publisher: release.yml on InstructWare/iwp-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page