Skip to main content

Typed manifests and deterministic queries for coordinate-aware artifact atlases.

Project description

sheafatlas

sheafatlas is a small, dependency-free manifest format for coordinate-aware artifact catalogs. It is designed for systems that need to answer questions such as “which artifacts are valid for this coordinate?” without introducing a database or an ordering convention hidden in application code.

The package is deliberately manifest-first. AtlasItem stores an artifact's stable identifier, human label, coordinates, tags, source, and optional metadata. AtlasManifest provides immutable updates and deterministic lookup. The JSON codec makes manifests easy to commit, review, and exchange between tools.

Quick start

from sheafatlas import AtlasItem, AtlasManifest, dumps, loads

manifest = AtlasManifest(
    "vision-assets",
    (
        AtlasItem(
            "camera/front",
            "Front camera",
            ("image", "rgb"),
            frozenset({"sensor", "primary"}),
            source="capture-lab",
        ),
    ),
    version="2026-01",
)

matches = manifest.search(tags={"sensor"}, coordinate="rgb")
payload = dumps(manifest)
same_manifest = loads(payload)

IDs are unique within a manifest. Searches require every requested tag and return items sorted by ID, so output stays stable across runs. Calling with_item returns a new manifest instead of mutating an existing one.

Manifest shape

The serialized form is ordinary JSON and can be reviewed or generated by other languages:

{
  "items": [
    {
      "coordinates": ["image", "rgb"],
      "id": "camera/front",
      "label": "Front camera",
      "source": "capture-lab",
      "tags": ["primary", "sensor"]
    }
  ],
  "name": "vision-assets",
  "version": "2026-01"
}

CLI

Inspect a manifest file with:

python -m sheafatlas path/to/manifest.json

The library has no runtime dependencies and supports Python 3.10 and newer.

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

sheafatlas-0.1.0a1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

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

sheafatlas-0.1.0a1-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file sheafatlas-0.1.0a1.tar.gz.

File metadata

  • Download URL: sheafatlas-0.1.0a1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for sheafatlas-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 256c9580a2cf32edb400170615cca11404339c4763d83b22a3ab57a990921a83
MD5 cece6ee8aac2049c162d7a9b0ba30865
BLAKE2b-256 5aee24ae33d6887a52645558dc37c02163b065d69628b9bbc795965554e30fc5

See more details on using hashes here.

File details

Details for the file sheafatlas-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: sheafatlas-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for sheafatlas-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 408255eece97f7d545a59367cddb12469cb731bf90dda5734b48014c5411cadc
MD5 1b1d819f69ee384b0e10f282570c4cee
BLAKE2b-256 0b8820fd6c216a170f1a8a724f9eee0d7922d04713bd8599ec3e9be375e57ac3

See more details on using hashes here.

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