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:
- CLI Reference — All commands and options
- Python API — Using dossier-tools as a library
- Schema Reference — Frontmatter field reference
- Signing Guide — Signing and verification workflow
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
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 dossier_tools-0.1.3.tar.gz.
File metadata
- Download URL: dossier_tools-0.1.3.tar.gz
- Upload date:
- Size: 103.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30dbb1a8b4730067f80e103b0ef39cd6bb0a44ee3cf563848958f17cc96f4a7a
|
|
| MD5 |
121976f7821225d223e63aa00acc5595
|
|
| BLAKE2b-256 |
a9e787fd82ac791e0580f5e8efb62c4242341430384237b54b47b26ad2853dac
|
File details
Details for the file dossier_tools-0.1.3-py3-none-any.whl.
File metadata
- Download URL: dossier_tools-0.1.3-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
096f49c56dde7161d14c5ead0c57cc3844b4930236666a9206d8910a7b7664de
|
|
| MD5 |
eb5ffeec993f6a15ba034c1457ce6d25
|
|
| BLAKE2b-256 |
1b6140532f85ad891892adf1f6c2c4e3cd8f110f4a0dfb9d4f86e941e662854f
|