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.2

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.2
File Size Uploaded
runmark-0.2.2.tar.gz 80.8 kB Details

Built distribution (wheel)

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

Total release size: 196.8 kB

Release files / runmark-0.2.2.tar.gz

Download URL runmark-0.2.2.tar.gz
Size 80.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b43253ed93563be846233b590ab8be7720666d79cad1c059df31f2952cb692cf
BLAKE2b-256 checksum
How to use checksums
bdf2862b9b60040851fe782893a94ab11b641bdb7684a015a85dc660bf18cef6
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.2-py3-none-any.whl

Download URL runmark-0.2.2-py3-none-any.whl
Size 116.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2c28f6abc35d3e5280f57dd8bc25a0ac6f6a774ea1f6e5aab2c1f3f57f3354b8
BLAKE2b-256 checksum
How to use checksums
7105e4273bf4c21a342c90e505293b88695435f12a7fce258859a0d826c2033e
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

This release

0.2.2 This release

2 release files

0.2.1

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