Skip to main content

Runmark

Know what makes your code run. Git tracks your code. Runmark tracks what makes your code run.

License: MIT Python 3.10+ Coverage Type Checked: mypy strict Code Style: ruff


The Problem

Software frequently fails because the development environment differs between machines:

  • Developer A has Python 3.12, Node 22, PostgreSQL 16, Redis 7, Docker 28, and valid .env variables.
  • Developer B has Python 3.11, Node 20, PostgreSQL 17, Redis stopped, and a missing environment variable.

Both developers have the exact same Git repository commit, yet the application breaks.

Git tracks source code. Package managers lock application dependencies. Containers reproduce environments. Runmark is the missing observation, fingerprinting, comparison, verification, and diagnosis layer.


What Runmark Is NOT

To keep expectations clear, Runmark is deliberately focused:

  • Runmark is NOT a package manager. It does not replace pip, uv, npm, pnpm, or cargo.
  • Runmark is NOT a container manager. It does not replace docker, podman, or k8s.
  • Runmark is NOT an AI coding assistant. It relies on deterministic facts and structural verification.
  • Runmark is NOT a cloud platform. It is 100% local-first, offline, and zero-telemetry.
  • Runmark is NOT an environment installer. It never automatically installs packages or mutates system state.
  • Runmark is NOT a replacement for Git or Docker. It observes and diagnoses what makes your code run alongside them.

Key Features

  • 🏗️ Contract Bootstrap (runmark contract init): Automatically synthesize canonical runmark.json contracts from project evidence manifests (pyproject.toml, package.json, Dockerfile, compose.yaml, .env.example).
  • 🔄 Semantic Contract Diffing (runmark contract diff): Compare contract requirement changes against Git baseline (HEAD:runmark.json) or previous versions before committing.
  • 📜 Environment Contracts (runmark.json): Declare project runtime, service, dependency, environment, network, and container requirements directly alongside source code.
  • ⚡ Contract Proof & Evaluation (runmark check): Prove deterministically whether the host machine satisfies project requirements before running builds or tests.
  • 🔍 Detailed Diagnostic Explanations (runmark check --explain): Deeply diagnose failed or unknown requirements with explicit evidence citations, causal explanations, and actionable remediation steps.
  • 🛠️ Contract Tooling (runmark contract): Validate syntax, JSON schema, domain semantics, and security (runmark contract validate), inspect normalized specifications (runmark contract show), or initialize contracts (runmark contract init).
  • 📤 Share & Diagnose: Generate clean, sanitized, portable Markdown or JSON diagnostic reports (runmark share) ready to attach directly to GitHub Issues, Slack, or teammate chats.
  • 🛡️ Zero-Secret Guarantee & Security Boundaries: Multi-pass secret scanning prevents credentials, API keys, passwords in URIs, or tokens from escaping in shared reports or being stored in contract files (exit code 4).
  • 🔍 Safe Scanning: Inspects project signals, runtimes (Python, Node, Docker, Git), dependencies, local services (PostgreSQL, Redis), ports, and environment variable requirements.
  • 🏷️ Deterministic Fingerprinting: Computes a canonical SHA-256 environment fingerprint decoupled from source code commits and timestamps.
  • ⚡ Semantic Diffing: Categorizes drift as ADDED, REMOVED, CHANGED, and UNCHANGED with rule-driven severity (INFO, WARNING, CRITICAL).
  • 🛡️ Environment Verification: Verifies your current machine against a baseline snapshot with CI-ready exit codes (0, 1, 2, 3, 4).
  • 🩺 Doctor Mode: Explains environment discrepancies with distinct observed evidence, inferred reasoning, and read-only remediation advice.
  • 💻 Local-First & Cross-Platform: 100% offline, cross-platform (Windows, Linux, macOS), atomic filesystem storage, and zero telemetry.

Quick Start

Installation

pip install runmark

Basic Workflow

# 1. Bootstrap an environment contract from project evidence
runmark contract init --dry-run
runmark contract init --yes

# 2. Check current machine against project environment contract
runmark check
runmark check --explain

# 3. Compare contract requirement changes against Git HEAD
runmark contract diff

# 4. Inspect your current development environment
runmark scan

# 5. Save a known-good baseline snapshot
runmark snapshot -m "Initial working dev environment"

# 6. Compare current machine state against the snapshot
runmark diff

# 7. Verify compliance in CI or on coworker machines
runmark verify --strict

# 8. Diagnose and fix discrepancies
runmark doctor

# 9. Safely share a sanitized diagnostic report with teammates
runmark share --output report.md

# 10. Inspect and validate environment contracts
runmark contract validate
runmark contract show

Documentation


License

MIT © Runmark Maintainers

Metadata

Release files for runmark 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for runmark 0.2.1
File Size Uploaded
runmark-0.2.1.tar.gz 78.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for runmark 0.2.1
File Interpreter ABI Platform
runmark-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 191.8 kB

Release files / runmark-0.2.1.tar.gz

Download URL runmark-0.2.1.tar.gz
Size 78.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7f9d399df3f43747196bcd727774e776dab5bb618aaecba72e8b0dd2386f0ca6
BLAKE2b-256 checksum
How to use checksums
dd27a72afd2a6cfa3d88346da33dceddc5b0ef78a03b87583fb85eb8c0f93308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / runmark-0.2.1-py3-none-any.whl

Download URL runmark-0.2.1-py3-none-any.whl
Size 113.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f58d43ba92f778666a2dc4c01b22b939184e6b3770130916a1fa1cf14b351282
BLAKE2b-256 checksum
How to use checksums
aeea9c90993679f55ccbfe2c1659dffa92a7b9c629f35c90a4e4688d9cacac13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.2

2 release files

This release

0.2.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page