Skip to main content

Frontmatter schema, signing, and validation tools for .ds.md workflow files

Project description

dossier-tools

Validation, signing, and verification tools for .ds.md files.

A .ds.md file is a markdown document with structured YAML frontmatter containing metadata like title, version, checksum, and cryptographic signature. This package provides tools to validate the frontmatter schema, verify content integrity via SHA256 checksums, and sign/verify files using Ed25519.

---
schema_version: "1.0.0"
title: Deploy to Production
version: "1.0.0"
status: stable
objective: Deploy application to production with validation
authors:
  - name: Alice
checksum:
  algorithm: sha256
  hash: a3b5c8d9...
signature:
  algorithm: ed25519
  public_key: RWT...
  signed_by: alice@example.com
---

# Deploy to Production

Your markdown content here...

Installation

pip install dossier-tools

Or with uv:

uv add dossier-tools

Quick Start

# Initialize and generate keys
dossier init
dossier generate-keys

# Create a dossier from markdown
dossier create workflow.md --title "My Workflow" --objective "Do something" --author "you@example.com"

# Validate, sign, and verify
dossier validate workflow.ds.md
dossier sign workflow.ds.md --signed-by "you@example.com"
dossier verify workflow.ds.md

Registry

Browse and download dossiers from the public registry:

# List available dossiers
dossier list

# Get metadata for a dossier
dossier get myorg/deploy

# Download a dossier
dossier pull myorg/deploy

Publish your own dossiers (requires GitHub authentication):

dossier login
dossier publish workflow.ds.md

Environment Variables

Variable Description Default
DOSSIER_REGISTRY_URL Registry API URL https://dossier-registry-mvp.vercel.app
DOSSIER_SIGNING_KEY Default signing key name default
DOSSIER_LOG_LEVEL Log level (DEBUG, INFO, WARNING, ERROR) WARNING

Documentation

See docs/ for detailed documentation:

Development

# Clone and setup
git clone https://github.com/tal-liberio/dossier-tools.git
cd dossier-tools
make setup    # Install dependencies with uv

# Run tests
make test

# Format code
make format

# Check formatting and lint
make check

License

MIT

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

dossier_tools-0.1.2.tar.gz (101.1 kB view details)

Uploaded Source

Built Distribution

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

dossier_tools-0.1.2-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

Details for the file dossier_tools-0.1.2.tar.gz.

File metadata

  • Download URL: dossier_tools-0.1.2.tar.gz
  • Upload date:
  • Size: 101.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.15

File hashes

Hashes for dossier_tools-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d43de1a3bd4cbe06795afbc5707e736d95d84e5ccd68df987984b2368ffbfb32
MD5 4a3c93cddf0cc585384ed7bcd811844a
BLAKE2b-256 5628c0bef778cfc6c5bcd5afce8e26dd26284af11688ff08c526fb17009d25bc

See more details on using hashes here.

File details

Details for the file dossier_tools-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for dossier_tools-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e02177532d72aee8cfea8797ae878401f87b939567bd86f65e713ff4a0d72410
MD5 8556736281a1b35729e80c8f522bd274
BLAKE2b-256 ac778f16ab4554af8f46cabe9689ccb38249fa11f6707a6cf0dff1d5b6429cfe

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