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.
Persistent browser profile and locally installed Widevine
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.
widevine_source_profile (or WPR_WIDEVINE_SOURCE_PROFILE) additionally copies
only an already-installed local Firefox Widevine CDM and its required metadata
into that WPR profile. It does not copy cookies, passwords or other Firefox
site data, and the CDM is never part of a WPR package. This option is browser
Worker-only and requires a persistent profile. The native Worker must also
support opt-in WPR_ENABLE_CDM=1; otherwise CDM availability is not implied by
the Python configuration.
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
has not yet been included in a published WPR runtime package. 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.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wpr_runtime_core-0.2.1.tar.gz | 31.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wpr_runtime_core-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.6 kB
Release files / wpr_runtime_core-0.2.1.tar.gz
| Download URL | wpr_runtime_core-0.2.1.tar.gz |
|---|---|
| Size | 31.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c28c1825163bae5790976034a1b6e5b3a4ee73b347a3b8512eadd6d8061243fc
|
|
BLAKE2b-256 checksum How to use checksums |
17384629d15b002388a267005652363e9d731c0bb513f8e31b28fd5788fd00dc
|
| 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 16, 2026.
Transparency logRelease files / wpr_runtime_core-0.2.1-py3-none-any.whl
| Download URL | wpr_runtime_core-0.2.1-py3-none-any.whl |
|---|---|
| Size | 31.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
15fb8a79a7717ea0910ae4a09b67098e28f18594e1a8ec6a6cad80280909e876
|
|
BLAKE2b-256 checksum How to use checksums |
104e2acc7fc3ab4dbfc3e8c1105fed9d98f6b184b61b68919dcc6086c75c1562
|
| 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 16, 2026.
Transparency log