Skip to main content

Local-first tool that stores documents as chunks and manages them with manifests

Project description

gnos

gnos is a local-first tool that stores documents as chunks and manages them with 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

  • gnos init
  • gnos add <path>
  • gnos add --collection <path>
  • gnos attest manifest <manifest_hash> [--doc-id H] [--shallow]
  • gnos attest file <path> --doc-id H
  • gnos 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-manifests
  • gnos --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


Download files

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

Source Distribution

gnos-0.0.3.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

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

gnos-0.0.3-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file gnos-0.0.3.tar.gz.

File metadata

  • Download URL: gnos-0.0.3.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gnos-0.0.3.tar.gz
Algorithm Hash digest
SHA256 1564ff1be0eb2a55df46807b0a5ee90f76509af7a745d94112c615f890fdf956
MD5 3368171abba1f631eeaac3bcb4847a54
BLAKE2b-256 bb7014663110a381db6b078638692c705dbd1e94cc2f1fd399d31c31b20bfa55

See more details on using hashes here.

Provenance

The following attestation bundles were made for gnos-0.0.3.tar.gz:

Publisher: publish.yml on janthmueller/gnos

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

File details

Details for the file gnos-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: gnos-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gnos-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 df346b420b60ad76f9f62d98185c424dce8f9919bd9d4548d228eb9a0d485cc3
MD5 b3cf558b55051b6b12b0876ccc710fdc
BLAKE2b-256 0b68a06a6bb6573a05b4bfbcbcc0367b2ec5783804e595691ee39a88d8343c99

See more details on using hashes here.

Provenance

The following attestation bundles were made for gnos-0.0.3-py3-none-any.whl:

Publisher: publish.yml on janthmueller/gnos

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

Supported by

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