Skip to main content

WorkTrust for Python tool runners

This package launches the same JavaScript measurement engine shipped in the WorkTrust npm package. It does not implement another measurement engine or a Python instrumentation SDK. Python 3.10+ is required. Supported platform wheels include Node.js 22.23.3; no separate Node or npm installation is needed. The launcher uses that bundled runtime, never downloads a runtime when invoked, and does not silently switch to another CLI version.

Wheels target macOS 11+ (Intel and Apple Silicon), Linux with glibc 2.28+ (x64 and arm64), and Windows 10+ (x64 and arm64). Linux also requires the Node-supported system C++ runtime (GLIBCXX_3.4.25 or newer). Alpine/musl, 32-bit systems and other platforms are not supported. A source distribution cannot fetch Node automatically: a source build requires the explicit maintainer preparation step below. Supported users should install the matching wheel.

After publication under a verified WorkTrust-owned PyPI project, the intended commands are:

uvx worktrust preserve
pipx run worktrust preserve

These public commands are not a claim that this package has already been published. Test a reviewed local wheel first:

uvx --from /absolute/path/worktrust-VERSION-py3-none-PLATFORM.whl worktrust --help
pipx run --spec /absolute/path/worktrust-VERSION-py3-none-PLATFORM.whl worktrust --help

Use your package manager to choose and update the installed version. The package contains the CLI modules and Node runtime, so preserve itself needs no network after installation. It reads supported local session files and can change retention settings or create local metadata archives; only the person runs it. Existing WorkTrust agent safeguards and consent prompts remain. Other commands can contact WorkTrust. Package installation itself can contact registries.

After PyPI publication, explicitly request the latest published package when needed:

uvx worktrust@latest preserve
pipx run --no-cache worktrust preserve

For persistent installations, use uv tool upgrade worktrust or pipx upgrade worktrust. An existing cache or version constraint can otherwise keep an older release. worktrust update refreshes the computer coupling using the selected package; it does not upgrade the Python package.

Runtime bundle hashes detect missing or changed files; they are not hardware attestation or independent proof of authenticity. Request and archive signatures retain the existing CLI's software-key threat model. See the npm package SECURITY.md and README.md for the data contract.

Maintainers

Running node tools/worktrust-cli/sync.mjs from the monorepo also regenerates the Python JavaScript bundle and version. node scripts/build-python-cli.mjs --check refuses drift. The native runtime is a separate build artifact, excluded from Git and sdists. Explicitly prepare it before building:

python tools/worktrust-python/build_runtime.py
python -m build --wheel tools/worktrust-python
python -m build --sdist tools/worktrust-python

build_runtime.py downloads one official Node archive from nodejs.org at build time, verifies its committed SHA256 from runtime-lock.json, and extracts only the executable and complete LICENSE. It accepts --target for a reviewed target and --cache for a build cache. Platform wheel tags follow the selected runtime. Never label these wheels any. Building a wheel from the sdist fails closed until this explicit preparation step has been performed; no install hook downloads code.

Run python tools/worktrust-python/tests/test_runtime_build.py, then node scripts/test-python-cli.mjs with a Python containing the build requirements (select it with WORKTRUST_TEST_PYTHON). Tests build and exercise a real wheel using its own runtime with no Node on PATH; they use synthetic homes and metadata only. Native execution must pass independently on all six claimed OS/architecture combinations before release. Cross-building alone is not that proof. Set WORKTRUST_REQUIRE_TOOL_RUNNERS=1 to require actual uv and pipx wheel smoke tests, and WORKTRUST_TEST_ARTIFACT_DIR to a fresh directory to retain the exact tested wheel and sdist. Existing artifacts are never overwritten. Canonical module bytes match across channels; bit-for-bit reproducibility of whole wheel or sdist archives is not asserted.

The public fhomey/worktrust-cli repository carries this package under python/, alongside the npm package at its root. There, install python/requirements-release.txt, run python python/build_runtime.py, then python python/tests/test_distribution.py with WORKTRUST_TEST_CLI_SOURCE set to the repository's absolute path and WORKTRUST_REQUIRE_TOOL_RUNNERS=1. The test derives Node from the built wheel; it does not require a system Node installation. Keep build-only workflow results distinct from successful publication.

The inactive release-pypi.yml.example targets this public layout. Its intended active filename is .github/workflows/release-pypi.yml, using the protected pypi environment and PyPI Trusted Publishing. Once activated, the same GitHub release triggers both registries; manual execution supports the initial Python publication and retries. npm also requires the supported-platform Python artifact/parity tests before publishing. Both channels use the same version and module bytes. Approvals and registry failures remain separate; confirm both publications before announcing a release as available on both channels. Neither workflow invokes a Vercel deployment.

Do not edit generated bundle/, VERSION or LICENSE. Publication requires confirmed PyPI ownership and a configured Trusted Publisher; source readiness does not grant that.

Official runtime platform requirements: https://github.com/nodejs/node/blob/v22.23.3/BUILDING.md Pinned upstream archive checksums: https://nodejs.org/dist/v22.23.3/SHASUMS256.txt

Metadata

Release files for worktrust 0.10.13

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

Source distribution (sdist)

Source distribution for worktrust 0.10.13
File Size Uploaded
worktrust-0.10.13.tar.gz 185.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for worktrust 0.10.13
File
worktrust-0.10.13-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
worktrust-0.10.13-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
worktrust-0.10.13-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
worktrust-0.10.13-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
worktrust-0.10.13-py3-none-macosx_11_0_x86_64.whl Python 3 none macOS 11.0+ x86-64 Details
worktrust-0.10.13-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details

Total release size: 226.2 MB

Release files / worktrust-0.10.13.tar.gz

Download URL worktrust-0.10.13.tar.gz
Size 185.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3cb82a83a55114d79d912a512f144c7fbfbf564af2bd4747894ae20158d30899
BLAKE2b-256 checksum
How to use checksums
bb43a45cb9c36090c8e4ffa65ca4468437bd3dd3c2d1cb6ea81f38a422e3d303
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 Oct 11, 2026.

Transparency log

Release files / worktrust-0.10.13-py3-none-win_arm64.whl

Download URL worktrust-0.10.13-py3-none-win_arm64.whl
Size 29.0 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
06b65401229d42f8ea2fa3fc163c5102915a77b5edbe8d982ee04d93b91b93ab
BLAKE2b-256 checksum
How to use checksums
89679bf92f531321c1dfc4050ed94c5d0b903843910c6d44185c05cf0464ba65
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 Oct 11, 2026.

Transparency log

Release files / worktrust-0.10.13-py3-none-win_amd64.whl

Download URL worktrust-0.10.13-py3-none-win_amd64.whl
Size 33.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
5b39d9b11ac16e80450da80472909f67ff3827e907466541a5dde9db19777975
BLAKE2b-256 checksum
How to use checksums
b5e76cb07413c8a0f7d9f9eb08b92178dafc841f72e64742b605eac4e91f5820
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 Oct 11, 2026.

Transparency log

Release files / worktrust-0.10.13-py3-none-manylinux_2_28_x86_64.whl

Download URL worktrust-0.10.13-py3-none-manylinux_2_28_x86_64.whl
Size 44.1 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
2153de40cd6fcd54ee4ef1ad2ba7349140487e6b5cb6d8fbb4986c3541fccd06
BLAKE2b-256 checksum
How to use checksums
783c322575e8a5ddd297d358d6b255e955b11800ccbb98470e00b2b60ce3fa70
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 Oct 11, 2026.

Transparency log

Release files / worktrust-0.10.13-py3-none-manylinux_2_28_aarch64.whl

Download URL worktrust-0.10.13-py3-none-manylinux_2_28_aarch64.whl
Size 44.0 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
fc23c93e021c78ee4f689bc31f221e5c7c8cf503b59cefa92a72b56cb3b740cc
BLAKE2b-256 checksum
How to use checksums
caa504e75cb7cbe3532dc8124c64b65ec32f257056f4ea0293267fac2ef5eb1d
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 Oct 11, 2026.

Transparency log

Release files / worktrust-0.10.13-py3-none-macosx_11_0_x86_64.whl

Download URL worktrust-0.10.13-py3-none-macosx_11_0_x86_64.whl
Size 38.4 MB
Tags Python 3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
88d2896ef00766a85a07d6170b8b57a327a4c880d1a2e84bc8fcf9eb51685603
BLAKE2b-256 checksum
How to use checksums
acf1169bca0fd6c9d2c568b1f620d529f71fdde192095f3b9bc2c614e9498e84
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 Oct 11, 2026.

Transparency log

Release files / worktrust-0.10.13-py3-none-macosx_11_0_arm64.whl

Download URL worktrust-0.10.13-py3-none-macosx_11_0_arm64.whl
Size 37.2 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
354f82f8cf3da6b4ac3ad1bd051270006d5508aaf9bfcd11f841ab4765b4dd60
BLAKE2b-256 checksum
How to use checksums
8a8974c851f1e5ba9069ffa57cbda97120c7cc56c53acf84f4ee39eb16019f6d
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 Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.10.13 This release

7 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