Skip to main content

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 doctor now 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 (like git)

    • Local operations: run, promote, verify, anchor
    • Offline-first, deterministic execution
    • Receipt generation and cryptographic verification
  • vigil-client: Platform bridge and collaboration layer (like gh)

    • Platform integration: client login, client push, client pull
    • Authentication and synchronization
    • Artifact management and provenance linking

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 verification
  • vigil.core.pipeline - Pipeline execution and management
  • vigil.core.signer - Cryptographic signing (Ed25519)
  • vigil.core.policy - Policy enforcement and evaluation
  • vigil.core.env - Environment capture and analysis

Entry Points

  • CLI: vigil command (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 server
  • polars>=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 template
  • vigil 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 DAG
  • vigil build - Execute the pipeline without promotion
  • vigil run - Execute targets and optionally promote
  • vigil conformance - Check outputs against golden baselines (project-specific, not all templates include this)

Receipt Management

  • vigil promote - Generate Vigil receipts from artifacts
  • vigil anchor - Create Merkle anchors for receipts
  • vigil url - Print the vigil:// URL for the project
  • vigil 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.yaml
  • vigil spec --dry-run - Preview workspace spec changes
  • vigil version - Show installed version (alias for vigil --version)

Documentation & Collaboration

  • vigil card init - Create experiment or dataset cards
  • vigil card lint - Validate card format and required fields
  • vigil notes new - Create timestamped lab notebook entries
  • vigil notes index - Regenerate lab notebook index

Workbench & AI

  • vigil ui bootstrap - Generate Workbench configuration
  • vigil mcp serve - Start the MCP server for assistants
  • vigil ai propose - Generate auto-target suggestions
  • vigil ai apply - Execute auto-target proposal

Platform Commands (vigil-client)

Authentication

  • vigil client login - Authenticate with Vigil platform
  • vigil client logout - Log out and clear stored credentials
  • vigil client whoami - Show current user information

Synchronization

  • vigil client push - Upload receipts and artifacts to the platform
  • vigil client pull - Download an artifact from the platform
  • vigil client link - Create a provenance link between artifacts

Artifact Management

  • vigil client artifacts - List artifacts in the platform
  • vigil client artifacts-get <id> - Get detailed information about a specific artifact
  • vigil client artifacts-search <query> - Search for artifacts by name or description

Configuration

  • vigil client config - Show current configuration
  • vigil client config-set-project <id> - Set default project ID
  • vigil 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


Download files

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

Source Distribution

vigil_core-0.3.7.tar.gz (254.2 kB view details)

Uploaded Source

Built Distribution

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

vigil_core-0.3.7-py3-none-any.whl (271.5 kB view details)

Uploaded Python 3

File details

Details for the file vigil_core-0.3.7.tar.gz.

File metadata

  • Download URL: vigil_core-0.3.7.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

Hashes for vigil_core-0.3.7.tar.gz
Algorithm Hash digest
SHA256 8dda1a80badb55040c8a314866ebf0cc7594284d7cf82e9073c3a8fd848431aa
MD5 fc49dfc7528c80e9c59d6e59bf1b00bc
BLAKE2b-256 71ffa120dee8c6d4893f8fff62234e0a4be0d01542f7d0e6bbc56fa0c15c280c

See more details on using hashes here.

File details

Details for the file vigil_core-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: vigil_core-0.3.7-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

Hashes for vigil_core-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 eab8d88d6cf52c14fbe22d7110c77e6e679a0d95f234ec1ea6cfd01780fc5a43
MD5 4ef162c9d18d439dbbce8b09c7fe3687
BLAKE2b-256 61fcbd83b4ab072763b7af24fd758fcd741728e64998da301ed641490f14459c

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