Skip to content

v0.1.0 - The Bedrock: Protocols, Payload Schemas, Exception Root

Choose a tag to compare

@djdarcy djdarcy released this 11 Jun 20:28
v0.1.0
f5f92c1

dazzle-lib v0.1.0

The DazzleLib stack's bedrock: shared Protocols, TypedDict payload schemas, and the exception root. Types only -- by charter this package contains no I/O, no path handling, no platform probing, and no behavior, forever.

This is Phase F of the DazzleLib stack plan under the frozen architecture contract.

What's in v0.1.0

  • Protocols -- Viewable (summary()/__str__) and Serializable (to_dict/from_dict/to_json, SCHEMA_VERSION): structural, runtime_checkable, nothing is forced to subclass. "The dict is the interface; objects know how to become dicts."
  • Payload schemas -- FileMetadataDict, TimestampsDict, WindowsMetadataDict, UnixMetadataDict, LinkTargetDict, HashResultDict: the cross-layer TypedDict shapes, mirroring what dazzle-filekit actually produces.
  • Exception bedrock -- DazzleError root + PathIdentityError / FileOperationError / LinkError / PreserveError domain bases: one catchable root for the whole stack.
  • DazzleDataMixin -- derives to_json/summary/__str__ from your to_dict.
  • Day-one guards -- api-stability.md with the locked surface, an import-stability canary, and the charter test that fails on any behavior-bearing or non-stdlib import (red-green verified).

Installation

pip install dazzle-lib

Requirements

Python 3.9+ · zero dependencies · all platforms (platform support)

What adopts it next

dazzle-filekit 0.3.0 (#15) and dazzle-unctools 0.2.0 (UNCtools#3) in the stack's P1 "foundations refresh", then the dazzle-linklib and dazzle-preservelib extractions.