v0.1.0 - The Bedrock: Protocols, Payload Schemas, Exception Root
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__) andSerializable(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 --
DazzleErrorroot +PathIdentityError/FileOperationError/LinkError/PreserveErrordomain bases: one catchable root for the whole stack. DazzleDataMixin-- derivesto_json/summary/__str__from yourto_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-libRequirements
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.