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

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.6
File Size Uploaded Provenance
wpr_runtime_core-0.2.6.tar.gz 37.4 kB With provenance Details

Built distribution (wheel)

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

Total release size: 72.4 kB

Release files / wpr_runtime_core-0.2.6.tar.gz

Download URL wpr_runtime_core-0.2.6.tar.gz
Size 37.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e74f97f1689bede265923e6ef57f8965dd9a89ce81e1d5e6f632f239fe02e26c
BLAKE2b-256 checksum
How to use checksums
e1be4700da78b7c3948b5be469420bca5cf0ac9c08ab4130c5ed2c919a65d787
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 25, 2026.

Transparency log

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

Download URL wpr_runtime_core-0.2.6-py3-none-any.whl
Size 35.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
471700c8889140a8a56a1d8ada13340fc2c31ca07e0759e88b61c71d5a47b1df
BLAKE2b-256 checksum
How to use checksums
a35364ea2a616f3836b89d7dff939111c384c4e54d0522d617c769f4e7ae0a81
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 25, 2026.

Transparency log

Security for wpr-runtime-core 0.2.6

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.6.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 25, 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