Local-first verifier for content-addressed documents
Project description
gnos
gnos is a local-first tool for managing document chunks as manifests. Add files, attest reproducibility, and materialize documents back to disk.
Quick start
gnos init
gnos add README.md
gnos materialize doc <doc_id> --output README.out.md
What you can do
- Add files and store their chunks locally.
- Generate doc-manifests that describe how to reconstruct the original bytes.
- Attest that a manifest can reproduce the original document.
- Materialize documents back to disk when you need them.
- Bring your own chunkers for custom strategies.
Why use gnos?
- Verifiable manifests. A stable schema that actually reconstructs the original bytes.
- Local chunk store. Chunks are content-addressed and live on your machine.
- Rebuild anytime. Materialize documents back to disk from manifests + chunks.
- Derive safely. Create alternate chunk views without changing identity.
Compared to typical chunking tools, gnos gives you a concrete manifest format and a local store you can trust.
Common workflows
Add a file
gnos add notes.md
Add a directory as a collection
gnos add --collection docs/
Verify a manifest directly
gnos attest manifest <manifest_hash>
Shallow integrity check (hash-only)
gnos attest manifest <manifest_hash> --shallow
Derive a non-identity manifest
gnos derive <doc_manifest_hash> --chunking <method>
Materialize a collection
gnos materialize collection <collection_id> --dir ./out
Commands (v1)
gnos initgnos add <path>gnos add --collection <path>gnos attest manifest <manifest_hash> [--doc-id H] [--shallow]gnos attest file <path> --doc-id Hgnos attest doc <doc_id>gnos derive <manifest_hash> --chunking <method>gnos materialize doc <doc_id> --output <path>gnos materialize collection <collection_id> --dir <path>gnos status [--doc <doc_id>]gnos chunker list [--verbose]gnos inspect <hash>gnos list --objects|--documents|--document-manifests|--collection-manifests|--derived-manifestsgnos --version
How it works (short)
- Documents are raw bytes. The document hash is the identity.
- Chunks are stored by hash. Manifests describe how to reconstruct bytes.
- Attestation verifies integrity and, when applicable, reconstruction.
Learn more
docs/index.md(overview of all docs)docs/spec.md(v1 spec)docs/cli.md(CLI behavior)docs/manifest.md(manifest schemas)docs/chunking.md(chunker rules)docs/plugins.md(custom chunkers)
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 gnos-0.0.1.tar.gz.
File metadata
- Download URL: gnos-0.0.1.tar.gz
- Upload date:
- Size: 34.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c2cb22b10a187a970cdf9a4cd14b62d8488a7f30116f5171bc655ca6c5614f9
|
|
| MD5 |
c5234c22db48618645d1a53c40f27643
|
|
| BLAKE2b-256 |
fd1f641f17cb630a0a502b1864592e3c94a47f0c1e03b4169d0d531f515a47a6
|
Provenance
The following attestation bundles were made for gnos-0.0.1.tar.gz:
Publisher:
publish.yml on janthmueller/gnos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gnos-0.0.1.tar.gz -
Subject digest:
7c2cb22b10a187a970cdf9a4cd14b62d8488a7f30116f5171bc655ca6c5614f9 - Sigstore transparency entry: 896269904
- Sigstore integration time:
-
Permalink:
janthmueller/gnos@ece31e67dd054628e43a58d2bbd08bc1c516ba0c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/janthmueller
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ece31e67dd054628e43a58d2bbd08bc1c516ba0c -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file gnos-0.0.1-py3-none-any.whl.
File metadata
- Download URL: gnos-0.0.1-py3-none-any.whl
- Upload date:
- Size: 26.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b7ec35af95850c34badc9e8f2fd9d4cc910705e4533fced40acabc1778570ac
|
|
| MD5 |
7cb429c6cfd22a3596001fdd8b98a743
|
|
| BLAKE2b-256 |
380ed4246da01fd86bb1ece9d860b2157a3919d25d54f25ea1bc5838562bb206
|
Provenance
The following attestation bundles were made for gnos-0.0.1-py3-none-any.whl:
Publisher:
publish.yml on janthmueller/gnos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gnos-0.0.1-py3-none-any.whl -
Subject digest:
7b7ec35af95850c34badc9e8f2fd9d4cc910705e4533fced40acabc1778570ac - Sigstore transparency entry: 896269962
- Sigstore integration time:
-
Permalink:
janthmueller/gnos@ece31e67dd054628e43a58d2bbd08bc1c516ba0c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/janthmueller
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ece31e67dd054628e43a58d2bbd08bc1c516ba0c -
Trigger Event:
workflow_run
-
Statement type: