Releases: DazzleLib/dazzlecmd-lib
Release list
v0.8.55 - Standalone Engine Library
dazzlecmd-lib v0.8.55
The aggregator/dispatch engine behind the dazzlecmd pattern: tool discovery, kit/FQCN dispatch, the runtime registry, and the DazzleEntity continuum object model. A standalone framework — it does not require dazzlecmd to be installed; dazzlecmd is just its first consumer.
This is the inaugural release as a standalone DazzleLib library, extracted from the dazzlecmd monorepo.
What's inside
Build your own dz-pattern CLI in ~10 lines:
from dazzlecmd_lib import AggregatorEngine
def main():
engine = AggregatorEngine(
name="my-tools", command="mt", tools_dir="tools",
manifest=".mt.json", version_info=("1.0", "1.0.0_main_1"),
)
return engine.run()That gives you mt list, mt info <tool>, mt kit, mt version, mt tree, and mt setup for free.
Public API:
AggregatorEngine— configurable CLI tool aggregator (discovery + dispatch)FQCNIndex— dual-index lookup for Fully-Qualified Collection Names (kit:tool,aggregator:kit:tool)RunnerRegistry— extensible runtime dispatch (Python, PowerShell, passthrough, …)MetaCommandRegistry— per-engine meta-command registry (override/extend the stock commands)default_meta_commands— stocklist/info/kit/version/tree/setupConfigManager— per-aggregator config reading/writing- the mode subsystem — embedded / submodule / symlink tool-source detection and the dev↔publish toggle
- the
DazzleEntityobject model and the kit/continuum machinery
The DazzleLib stack
dazzlecmd-lib builds on the dazzle-lib bedrock (Protocols, continuum/state primitives, the closed composition algebra), with dazzle-filekit for cross-platform metadata preservation and unctools for Windows volume routing. Consumers built on it include dazzlecmd, amdead, and wtf-windows.
Installation
pip install dazzlecmd-libTo develop against a local checkout alongside a consumer, install editable with --no-deps so the local copy wins over the PyPI copy:
pip install -e C:/code/dazzlecmd-lib --no-depsNotes
- Pre-1.0: the library reserves the right to make breaking changes during MINOR bumps until 1.0. Consumers should pin
dazzlecmd-lib>=0.X.Y,<1.0. - This release also carries the submodule mode-detection fix for aggregators that live in a repository subdirectory (
dz modereports submodule-backed tools correctly). - History through 0.8.55 lives in the dazzlecmd monorepo git log (under
packages/dazzlecmd-lib/), from which this repository was extracted. See the CHANGELOG.
Platform Support
| Platform | Status |
|---|---|
| Windows 10/11 | Tested (primary) |
| Linux | Tested (CI) |
| macOS | Tested (CI) |
| BSD | Expected to work |
Requirements
Python 3.9–3.13. Runtime deps: pydantic>=2.0, dazzle-lib>=0.6.0, dazzle-filekit>=0.2.2, unctools>=0.1.0 (Windows).