Content-addressable link-record library -- the DazzleLib stack's L2 serialization layer (typed locators, content_id, export/import/rebase/scan).
Project description
dazzle-linklib
Content-addressable link-record library -- the L2 serialization layer of the DazzleLib stack.
A link record maps an identity to a typed list of locators plus metadata, and knows how to serialize, find, and resolve itself. One model serves three consumers:
- the dazzlelink filesystem CLI (the
.dazzlelinkfile format), - preserve's content-hash manifest (L3), and
- Relinker -- a hash-addressed, decentralized anti-link-rot resolver
(
rln.kr/{hash}-> a multi-protocol location set).
What this owns (and what it doesn't)
dazzle-linklib owns the link record: its schema, JSON I/O, the locator
list, content_id, relation edges, and the injectable target resolver. It
delegates the rest down the stack:
| Concern | Layer |
|---|---|
Link record, locators, content_id, relations, resolve |
dazzle-linklib (L2, this lib) |
| File/link mechanics (create/detect/read, copy, hash, metadata) | dazzle-filekit (L1) |
| UNC <-> drive identity, path origin classification | unctools (L0) |
| Shared Protocols / TypedDicts / exception root | dazzle-lib (B) |
| Graph traversal (walking the records' relation edges) | dazzletreelib (perpendicular) |
"Records that point at each other" live here; "walking and interpreting those pointers" do not. (See the L2 design rationale, decision D6.)
Status
0.1.0 is a name-reservation placeholder (pre-alpha). It is published to
PyPI to claim the name, but exposes only its version -- there is no functional
content yet. The extraction of DazzleLinkData and the resolver from the
dazzlelink tool is stack phase P2 and lands in a later release -- see the
Roadmap.
Installation
pip install dazzle-linklib
From source
git clone https://github.com/DazzleLib/dazzle-linklib.git
cd dazzle-linklib
pip install -e ".[dev]"
Development
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -e ".[dev]"
# Run tests
python -m pytest tests/ -v
# Install git hooks
bash scripts/install-hooks.sh
License
MIT. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dazzle_linklib-0.1.0.tar.gz.
File metadata
- Download URL: dazzle_linklib-0.1.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef38f7ac54f71ec4786ab7c746870ba59481b003fe4e5d04e8a191181bb694fb
|
|
| MD5 |
7fd79fc6786741729614eed0d798db10
|
|
| BLAKE2b-256 |
960d5af50fef512995df22d30e5d03984777368ca48b94062068768ae479bf54
|
Provenance
The following attestation bundles were made for dazzle_linklib-0.1.0.tar.gz:
Publisher:
release.yml on DazzleLib/dazzle-linklib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dazzle_linklib-0.1.0.tar.gz -
Subject digest:
ef38f7ac54f71ec4786ab7c746870ba59481b003fe4e5d04e8a191181bb694fb - Sigstore transparency entry: 1875131082
- Sigstore integration time:
-
Permalink:
DazzleLib/dazzle-linklib@b0b05ed83157742121afacc522beb3a4f543ca2e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/DazzleLib
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b0b05ed83157742121afacc522beb3a4f543ca2e -
Trigger Event:
release
-
Statement type:
File details
Details for the file dazzle_linklib-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dazzle_linklib-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d638831f512536fbce7a390f7713bfd1b3bbe6b2d5ccec775201f6a2f9c78e7e
|
|
| MD5 |
e1abcebd82ea012a8ff0ff0b8ffec9ce
|
|
| BLAKE2b-256 |
3a504fae4cd05bf8c0079163ce566a5142b835f6849f425ab821b922821050d4
|
Provenance
The following attestation bundles were made for dazzle_linklib-0.1.0-py3-none-any.whl:
Publisher:
release.yml on DazzleLib/dazzle-linklib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dazzle_linklib-0.1.0-py3-none-any.whl -
Subject digest:
d638831f512536fbce7a390f7713bfd1b3bbe6b2d5ccec775201f6a2f9c78e7e - Sigstore transparency entry: 1875131313
- Sigstore integration time:
-
Permalink:
DazzleLib/dazzle-linklib@b0b05ed83157742121afacc522beb3a4f543ca2e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/DazzleLib
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b0b05ed83157742121afacc522beb3a4f543ca2e -
Trigger Event:
release
-
Statement type: