Vigil Core: Cryptographic kernel for reproducible science
Project description
Vigil CLI
Observable, collaborative, reproducible science platform.
✨ What's New in v0.2.0
Major update with genomics support, interactive setup, and cloud execution!
🎯 Interactive Project Setup (P3)
vigil new genomics-starter my-project --interactive
- Smart prompts with email validation
- Automatic placeholder replacement
- 97% faster (30+ min → <1 min)
🧬 Genomics Template (P0)
- Complete variant analysis workflow (filter → annotate → metrics)
- 40 synthetic variants across 10 cancer genes
- Ti/Tv ratio, depth stats, quality metrics
- Parquet format (5-10x compression)
☁️ Cloud & HPC Support (P1 + P3)
- HPC: SLURM, PBS, SGE profiles (400+ line guide)
- Cloud: AWS Batch, Google Cloud Life Sciences, Azure Batch, Kubernetes (600+ line guide)
- Cost optimization: 70-80% savings with spot instances
🗄️ Database Integration (P1)
- Ensembl, ClinVar, gnomAD clients
- Local caching for offline work
- Rate limiting and error handling
📊 Genomics Metrics Library (P2)
- Ti/Tv ratio calculation
- Het/Hom ratio
- Depth and quality statistics
- Scientifically validated
🔍 Version Management (P0)
vigil doctornow detects version mismatches- Automatic upgrade recommendations
Upgrade now: uv tool upgrade vigil-core or pipx upgrade vigil-core
Full details: See CHANGELOG.md
Installation
Core Installation
# Install vigil-core (cryptographic kernel)
pip install vigil-core
# Or install vigil-client (includes vigil-core + platform integration)
pip install vigil-client
Package Structure
-
vigil-core: Cryptographic kernel for reproducible science (likegit)- Local operations:
run,promote,verify,anchor - Offline-first, deterministic execution
- Receipt generation and cryptographic verification
- Local operations:
-
vigil-client: Platform bridge and collaboration layer (likegh)- Platform integration:
client login,client push,client pull - Authentication and synchronization
- Artifact management and provenance linking
- Platform integration:
Unified CLI
Both packages provide a unified vigil command:
# Core commands (available with vigil-core)
vigil run
vigil promote
vigil verify
# Platform commands (available with vigil-client)
vigil client login
vigil client push
vigil client pull
Hybrid Architecture
vigil-core provides both a CLI tool and an importable library:
CLI Usage (Command Line)
# Create a new project
vigil new imaging-starter my-project
cd my-project
# Run pipeline
vigil run --cores 4
# Generate receipt
vigil promote
# Verify receipt
vigil verify receipt.json
Library Usage (Python API)
from vigil.core import run_pipeline, generate_receipt, ReceiptManager
# Run pipeline programmatically
result = run_pipeline("python train.py", dry_run=False)
# Generate receipt
artifacts = [{"uri": "model.pkl", "checksum": "abc123", "kind": "model"}]
receipt = generate_receipt(artifacts, pipeline_cmd="python train.py")
# Manage receipts
manager = ReceiptManager()
manager.save_receipt(receipt)
Core API Modules
vigil.core.receipts- Receipt generation and verificationvigil.core.pipeline- Pipeline execution and managementvigil.core.signer- Cryptographic signing (Ed25519)vigil.core.policy- Policy enforcement and evaluationvigil.core.env- Environment capture and analysis
Entry Points
- CLI:
vigilcommand (installed globally) - Module:
python -m vigil(runs CLI) - Library:
from vigil.core import ...(programmatic access)
MCP Server Installation
To use the MCP server (vigil mcp serve), install with the mcp extras:
# Install with MCP server support
pip install "vigil-core[mcp]"
# Or with vigil-client
pip install "vigil-client[mcp]"
The mcp extras include:
mcp>=1.1.0- MCP protocol serverpolars>=0.20.0- Fast data frame library for data previews
Quick Start
Local Development (vigil-core)
# Create a new project from a template (with interactive setup)
vigil new genomics-starter my-project --interactive
cd my-project
# Install dependencies
uv sync
# Sync workspace spec
vigil spec --sync
# Preview the pipeline (dry-run)
vigil dev
# Execute the pipeline
vigil run --cores 4
# Promote artifacts to receipts
vigil promote
# Verify receipts
vigil verify app/code/receipts/*.json
Platform Integration (vigil-client)
# Install vigil-client for platform integration
pip install vigil-client
# Authenticate with the platform
vigil client login
# Upload receipts and artifacts
vigil client push
# Search for artifacts
vigil client artifacts-search "genomics"
# Download an artifact
vigil client pull artifact-id
# Create provenance links
vigil client link artifact-1 artifact-2 --relation INPUT_OF
Commands
Core Commands (vigil-core)
Project Management
vigil new <template> [path]- Create a new project from a templatevigil new <template> [path] --interactive- Interactive setup with smart prompts (NEW in v0.2.0)vigil new --list- List available templates (now includes genomics-starter)
Development
vigil dev- Dry-run the pipeline and preview the DAGvigil build- Execute the pipeline without promotionvigil run- Execute targets and optionally promotevigil conformance- Check outputs against golden baselines (project-specific, not all templates include this)
Receipt Management
vigil promote- Generate Vigil receipts from artifactsvigil anchor- Create Merkle anchors for receiptsvigil url- Print the vigil:// URL for the projectvigil verify- Verify receipt checksums and attestations
Health & Maintenance
vigil doctor- Run repository health checks (includes version mismatch detection)vigil spec --sync- Sync workspace.spec.json with vigil.yamlvigil spec --dry-run- Preview workspace spec changesvigil version- Show installed version (alias forvigil --version)
Documentation & Collaboration
vigil card init- Create experiment or dataset cardsvigil card lint- Validate card format and required fieldsvigil notes new- Create timestamped lab notebook entriesvigil notes index- Regenerate lab notebook index
Workbench & AI
vigil ui bootstrap- Generate Workbench configurationvigil mcp serve- Start the MCP server for assistantsvigil ai propose- Generate auto-target suggestionsvigil ai apply- Execute auto-target proposal
Platform Commands (vigil-client)
Authentication
vigil client login- Authenticate with Vigil platformvigil client logout- Log out and clear stored credentialsvigil client whoami- Show current user information
Synchronization
vigil client push- Upload receipts and artifacts to the platformvigil client pull- Download an artifact from the platformvigil client link- Create a provenance link between artifacts
Artifact Management
vigil client artifacts- List artifacts in the platformvigil client artifacts-get <id>- Get detailed information about a specific artifactvigil client artifacts-search <query>- Search for artifacts by name or description
Configuration
vigil client config- Show current configurationvigil client config-set-project <id>- Set default project IDvigil client config-set-remote <url>- Set remote platform URL
Version Management: The vigil doctor command now checks for version mismatches between local and global installations, helping prevent issues from outdated CLI versions.
Templates
Available starter templates:
- imaging-starter: Full-featured imaging pipeline with sciencecast timeline
- genomics-starter: Comprehensive genomics workflow with variant filtering, annotation, and QC metrics (includes large file handling strategies)
- minimal-starter: Smallest viable template for getting started
Genomics Template Features
The genomics-starter template demonstrates:
- Variant quality filtering (PHRED scores, depth, allele frequency)
- Functional annotation with gene and pathway information
- Comprehensive QC metrics (Ti/Tv ratio, depth distribution, pathogenicity)
- Large file handling strategies for NGS data (BAM, VCF, CRAM)
- Data handles with offline fallbacks for disconnected development
- Parquet format for efficient variant storage
Documentation
License
Apache-2.0
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 vigil_core-0.3.8.tar.gz.
File metadata
- Download URL: vigil_core-0.3.8.tar.gz
- Upload date:
- Size: 254.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbc1d5498705a5cc66b3f85a4118a8667332fe130f84e866e38826a7764d9461
|
|
| MD5 |
07aaa7aa3af92710b727dd5a80d2caf8
|
|
| BLAKE2b-256 |
378f18a603831871a2f016e642d710156c4df2ef273f9e704c19aabf316bfaf7
|
File details
Details for the file vigil_core-0.3.8-py3-none-any.whl.
File metadata
- Download URL: vigil_core-0.3.8-py3-none-any.whl
- Upload date:
- Size: 271.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b86ddc30bbd49c65f5ec981839dcdc1b12071dee1b349a588a66ec97f26bcea0
|
|
| MD5 |
0e50e7cbef18ecf6ad4e1e562a1ec71d
|
|
| BLAKE2b-256 |
4074f64e30b916b4232b48a2938342d348102be36335d7aa633c141cef32a0aa
|