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)
| File | Size | Uploaded | |
|---|---|---|---|
| worktrust-0.10.13.tar.gz | 185.4 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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