Skip to main content

dazzlecmd-lib

PyPI Release Date Python 3.9+ License: GPL-3.0 Platform

The aggregator/dispatch engine behind the dazzlecmd pattern: tool discovery, kit/FQCN dispatch, the runtime registry, and the DazzleEntity continuum object model. It is a standalone framework — it does not require dazzlecmd to be installed; dazzlecmd is just its first consumer.

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. Customize via the meta-command registry:

engine.meta_registry.register("mycmd", parser_factory, handler)
engine.meta_registry.override("list", handler=my_custom_list)
engine.meta_registry.unregister("tree")

What's inside

  • AggregatorEngine — a 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 — stock list / info / kit / version / tree / setup.
  • ConfigManager — per-aggregator config reading/writing.
  • The mode subsystem — embedded / submodule / symlink tool-source detection and the dev↔publish toggle.
  • The DazzleEntity object model and the kit/continuum machinery (built on the dazzle-lib bedrock).

The DazzleLib stack

dazzlecmd-lib is an upper-layer member of the DazzleLib library stack. It builds on the bedrock and file-ops layers:

  • dazzle-lib — Protocols, TypedDict schemas, the continuum/state primitives.
  • dazzle-filekit — cross-platform file operations + metadata preservation.
  • unctools — UNC / drive-type path tools (Windows volume routing).

Consumers built on dazzlecmd-lib include dazzlecmd, amdead, and wtf-windows.

Install

pip install dazzlecmd-lib

Developing alongside a consumer (editable, shadow-proof)

When a consumer (e.g. dazzlecmd) is installed from PyPI, its dazzlecmd-lib dependency comes from PyPI too. To develop against a local checkout, install it editable with --no-deps so the local copy wins over any PyPI copy:

pip install -e C:/code/dazzlecmd-lib --no-deps

Versioning

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.

History through 0.8.55 lives in the dazzlecmd monorepo git log (under packages/dazzlecmd-lib/), from which this repository was extracted on 2026-06-24. See CHANGELOG.md.

Contributing

See CONTRIBUTING.md. Issues and roadmap: Issue #1 (Roadmap).

License

GPL-3.0-or-later. See LICENSE.

Download files

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

Source Distribution

dazzlecmd_lib-0.8.55.tar.gz (246.5 kB view details)

Uploaded Source

Built Distribution

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

dazzlecmd_lib-0.8.55-py3-none-any.whl (254.7 kB view details)

Uploaded Python 3

File details

Details for the file dazzlecmd_lib-0.8.55.tar.gz.

File metadata

  • Download URL: dazzlecmd_lib-0.8.55.tar.gz
  • Upload date:
  • Size: 246.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dazzlecmd_lib-0.8.55.tar.gz
Algorithm Hash digest
SHA256 e7bc8e04725e8cadcb20285de8cf5cf5acc1d17670da492e69dd80febafb57fe
MD5 ef25f7d649bb12a83a35f01dfd2ce16d
BLAKE2b-256 1179864d418158cc5c924db13519433a7434fa2ef62873f9744f164bb7d19f46

See more details on using hashes here.

Provenance

The following attestation bundles were made for dazzlecmd_lib-0.8.55.tar.gz:

Publisher: release.yml on DazzleLib/dazzlecmd-lib

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

File details

Details for the file dazzlecmd_lib-0.8.55-py3-none-any.whl.

File metadata

  • Download URL: dazzlecmd_lib-0.8.55-py3-none-any.whl
  • Upload date:
  • Size: 254.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dazzlecmd_lib-0.8.55-py3-none-any.whl
Algorithm Hash digest
SHA256 8cd077bad7a799ce82e07d8c0cdc536ccb65decd05f0dafd2d202fff74f5f003
MD5 310ae42fec5bc87cd207720611968df2
BLAKE2b-256 1f9843a70bdb43936a00f787200bb2184e2d2b044bef7318f99958aa13d1802e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dazzlecmd_lib-0.8.55-py3-none-any.whl:

Publisher: release.yml on DazzleLib/dazzlecmd-lib

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

Release history Release notifications | RSS feed

This release

0.8.55 This release

2 files

Supported by

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