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.5.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.5-py3-none-any.whl (144.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: instructware_tools-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 71eb3bc1a9608b3c8e6c8230fa3afd009db5c62ea03188302c1f0e6aac8c6d54
MD5 fcb9266b654c0dd1b696ef0de4a32f4e
BLAKE2b-256 2f0728672d0c3cbe200b6864443f9accbe8875e14635c582b1e81615e15869e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for instructware_tools-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e7ca8484a4ad5c3582d04bcc77fb3ee82ef76a06a589f050cd8b10f46c34ec54
MD5 a90bcd023b807d50ec02dce0cf34ab04
BLAKE2b-256 6570079e6b1baf8c2ada25880005abec37ec8df961ab54190c75084018559e52

See more details on using hashes here.

Provenance

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