Skip to main content

WPR runtime core

Shared Worker process lifecycle, named-pipe IPC, IOCP, shared-memory leases and versioned runtime resolution. This internal dependency is used by the standalone HTTP client and the unchanged WPR browser product. It contains no Page API, browser workflow or DOM interaction implementation.

Current native runtime support: Windows x86-64, Firefox 155, wpr-http-v1.

Runtime catalogs may select default_network_build independently of the browser's default_build. Network-only releases do not silently upgrade the browser product; exact version pins remain exact. Asking for an unbuilt product/version combination raises a compatibility error.

Persistent browser profile and official Widevine installation

Browser sessions use disposable profiles by default. For a persistent, version-bound profile, pass RuntimeConfig(persistent_profile_dir=...) (or set WPR_PERSISTENT_PROFILE_DIR). The directory is held by an exclusive lock for one Worker at a time and is rejected if its WPR application ID, version or build ID does not match. It is not deleted when the Worker exits. The profile contains site data, so treat it as sensitive and give each account/Worker its own directory. profile_root remains only a parent for disposable profiles.

RuntimeConfig(enable_widevine=True, persistent_profile_dir=...) enables Widevine installation through the Worker's Firefox GMPInstallManager. The browser client waits for download, verification and registration at startup. Firefox selects the platform component from official update metadata, verifies the downloaded archive, and stores the component and its preferences in the WPR profile. No Firefox installation or source Profile is required. The old widevine_source_profile / WPR_WIDEVINE_SOURCE_PROFILE import option now raises a migration error instead of copying components. Network-only Workers reject this browser capability. This requires the new runtime.widevine_* RPCs, available in Runtime 155.0.8 and later.

This is a capability boundary, not a promise of playback. Verify separately: requestMediaKeySystemAccess("com.widevine.alpha", ...), GMP/RDD/Utility subprocess launch, license response, media element readyState, video frames, and advancing currentTime. The source fix in source/gecko-net-worker/fixes/cdm-profile-lifecycle now links Firefox's sandbox broker through an isolated archive; a local release build passed both an open Widevine test and the target Shahid playback test. This source change is included in Runtime 155.0.8. Do not ship a diagnostic build that uses linker duplicate-symbol overrides or disables GMP/RDD/Utility sandboxing.

Opt-in media-output path probe

RuntimeConfig(media_capture=True) or WPR_MEDIA_CAPTURE=1 enables the Firefox 155 WPR metadata probe. The per-Worker log is read incrementally via WorkerSession.media_capture_snapshot(), AsyncWorkerSession.media_capture_snapshot(), or the browser client's AsyncGeckoRuntime.media_capture_snapshot(). It reports successful decrypt_sample and decode_frame output counts by track, timestamps and sizes, without saving media data or license/key material. buffer_bytes for decoded frames is allocated shared-memory capacity, not payload length. The option is browser-Worker-only and off by default. It requires a runtime built with media-capture-output.patch; existing published packages have not been updated with this feature.

For a short, bounded file capture, set RuntimeConfig(media_output_dir=Path(...)) or WPR_MEDIA_OUTPUT_DIR. The Worker writes per-session/per-CDM video.i420, audio.aac and JSONL timing sidecars. The default limit remains five seconds and 256 MiB of raw video; no output path is used by default. For an explicitly longer capture, configure media_output_max_seconds and media_output_max_bytes (or WPR_MEDIA_OUTPUT_MAX_SECONDS and WPR_MEDIA_OUTPUT_MAX_BYTES). The output is still raw I420, so callers must preflight free disk space and verify the final timeline before declaring a recording complete. The browser client's package_media_capture helper accepts max_seconds=None, expected_duration_seconds=..., and low_copy=True to encode the complete continuous capture directly from the source files without duplicating the raw video. Playback and site permissions remain the caller's responsibility.

Metadata

Release files for wpr-runtime-core 0.2.3

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

Source distribution (sdist)

Source distribution for wpr-runtime-core 0.2.3
File Size Uploaded Provenance
wpr_runtime_core-0.2.3.tar.gz 31.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for wpr-runtime-core 0.2.3
File Interpreter ABI Platform
wpr_runtime_core-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 63.0 kB

Release files / wpr_runtime_core-0.2.3.tar.gz

Download URL wpr_runtime_core-0.2.3.tar.gz
Size 31.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0a384864ae5877f1c2433a7cf1a7c2292c80b14746b1ad63b2cd59c50b3a7a75
BLAKE2b-256 checksum
How to use checksums
af12c85bc99e9d97bd0337fbf4872b3e17805c0a4c3fb1c5bc7423c6e996a635
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 23, 2026.

Transparency log

Release files / wpr_runtime_core-0.2.3-py3-none-any.whl

Download URL wpr_runtime_core-0.2.3-py3-none-any.whl
Size 31.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c519a02a6798841fc5301946d855bada88f6abfd0031d064aaf7d9b7663df14d
BLAKE2b-256 checksum
How to use checksums
e93b146ef04136ded0bdbcf640255ff7c43da22f5393793c7adf8a32ac2839d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 23, 2026.

Transparency log

Security for wpr-runtime-core 0.2.3

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for wpr_runtime_core-0.2.3.tar.gz

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 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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