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

uv sync --group dev
uv run ruff check .
uv run ruff format --check .
uv run python -m pyright iwp_lint iwp_build test
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

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.4.tar.gz (111.8 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.4-py3-none-any.whl (144.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: instructware_tools-0.1.4.tar.gz
  • Upload date:
  • Size: 111.8 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.4.tar.gz
Algorithm Hash digest
SHA256 f78e9fd37d0148c35a893d7aef8abdce3a623d9df3568d9bd597cec62ac16582
MD5 2370aab0d57e732817a59dbe70aa2cb3
BLAKE2b-256 3c83b0bf1800b516be86240d61aa2a148b6d0ede037b73e3cc0b3f20e80a3fae

See more details on using hashes here.

Provenance

The following attestation bundles were made for instructware_tools-0.1.4.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.4-py3-none-any.whl.

File metadata

File hashes

Hashes for instructware_tools-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 79357b007fdc4bc919647d0741ef6364f6da3954d1db443ea4820f301c497610
MD5 bc3274c2606cfcaf2a50da9615492910
BLAKE2b-256 b4552d5f63a5a89ffe621cbe6e75d2620c31cc6d5cd6b902f5c2e51dcd1b2a53

See more details on using hashes here.

Provenance

The following attestation bundles were made for instructware_tools-0.1.4-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