axklib Documentation
axklib is Yamaha A3000/A4000/A5000 disk image and sampler object tooling. It provides a Python API and the axklib command-line interface for inspecting supported Yamaha containers, decoding sampler objects, validating relationships, and exporting waveform data.
Setup
Install the locked development environment from the repository root:
uv sync
Show the command-line help:
uv run axklib --help
CLI Quickstart
Summarize supported inputs:
uv run axklib info <image-or-directory>
Write an inventory report:
uv run axklib inventory -o build/reports/inventory <image-or-directory>
Decode object rows:
uv run axklib objects -o build/reports/objects <image-or-directory>
Build relationship reports:
uv run axklib relationships -o build/reports/relationships <image-or-directory>
Summarize relationship coverage:
uv run axklib coverage -o build/reports/coverage <image-or-directory>
Validate containers and decoded objects:
uv run axklib validate -o build/reports/validation <image-or-directory>
Export waveform data:
uv run axklib extract waves --exact --stereo auto -o build/exports/waves <image-or-directory>
Build the local documentation:
uv run --group docs axklib-docs build --strict
Use caller-supplied ISO menu labels when a project has a separate label map:
uv run axklib info --content-label-map labels.json <image-or-directory>
uv run axklib extract waves --content-label-map labels.json -o build/exports/waves <image-or-directory>
Label maps are JSON objects with synthetic source stems and raw ISO path labels:
{
"iso_group_labels": [
{"source": "example_disc", "raw_group": "GROUP_A", "label": "GROUP_ALPHA"}
],
"iso_volume_labels": [
{
"source": "example_disc",
"raw_group": "GROUP_A",
"raw_volume": "V001",
"label": "Mapped Volume"
}
]
}
Documentation Sections
- Typical Usage shows Python API examples.
- Public API documents the main model and service modules.
- Architecture explains the package boundaries and data flow.
Generated HTML is written to build/docs/site/ and is not versioned.
Local Documentation Commands
Serve the documentation:
uv run --group docs axklib-docs serve
Build the documentation strictly:
uv run --group docs axklib-docs build --strict