Skip to main content

VTKStreaming

This module provides classes to encode and stream frames from a VTK OpenGL render window using video codecs. It supports video encoding with VP9 (through libvpx) and H.264/H.265 through hardware encoders: NVENC on NVIDIA GPUs, and VideoToolbox on macOS (Apple Silicon and Intel).

Installation

VTKStreaming is available on PyPi on the following platforms:

  • Linux x86_64 for python 3.10 to 3.13 included.
  • Windows x86_64 for python 3.10 to 3.13 included.
  • MacOSX arm64 for python 3.10 to 3.13 included.

It is currently based on VTK 9.6.0.

pip install vtk-streaming

Building from source

There are two build flows:

  • Development build: an editable install into a local virtual environment, built without build isolation. Rebuilds are fast and the generated compile_commands.json stays valid, so clangd/IDE tooling works.
  • Release build: cibuildwheel produces the exact same distributable wheel as CI, in an isolated environment.

Requirements (both flows):

  • Linux: A C++ compiler (GCC 11.4+ or any other compiler supported by VTK.)
  • Windows: MSVC (Visual Studio Build Tools). (ensure visual studio environment is initialized)
  • macOS: Xcode command line tools. (xcode-select --install should have completed successfully)

We recommend uv; it reads the vtk-sdk package index from pyproject.toml, so no extra index flags are needed.

Development build

The editable install runs with --no-build-isolation, so the build requirements (scikit-build-core, vtk-sdk, vtk-sdk-python-wheel-helper) must be present in the environment first, the dev dependency group installs them along with the test dependencies.

Linux/macOS:

uv venv -p 3.13
. .venv/bin/activate
uv pip install --group dev
uv pip install -e . --no-build-isolation

Windows (open a PowerShell with MSVC initialized, e.g. Visual Studio Developer PowerShell):

uv venv -p 3.13
.venv\Scripts\Activate.ps1
uv pip install --group dev
uv pip install -e . --no-build-isolation

After changing C++ sources, rebuild by re-running the editable install:

uv pip install -e . --no-build-isolation

The CMake build tree persists under build/<wheel_tag>/, which keeps generated module headers on disk and compile_commands.json valid.

Run the tests with:

pytest tests/ -v

Release build (reproduce CI artifacts)

Wheels are built with cibuildwheel in an isolated environment; all configuration lives in [tool.cibuildwheel] in pyproject.toml.

Requirements:

  • Linux: Docker (the build runs in a manylinux container).
  • Windows: MSVC (Visual Studio Build Tools). (ensure visual studio environment is initialized)
  • macOS: Xcode command line tools. (xcode-select --install should have completed successfully)

Build a wheel for one Python/platform target:

# Linux
uvx cibuildwheel --only cp310-manylinux_x86_64

# Windows
uvx cibuildwheel --only cp310-win_amd64

# macOS
uvx cibuildwheel --only cp310-macosx_arm64

uvx comes with uv; alternatively pipx run cibuildwheel or if you use pip:

pip install cibuildwheel

# Linux
cibuildwheel --only cp310-manylinux_x86_64

# Windows
cibuildwheel --only cp310-win_amd64

# macOS
cibuildwheel --only cp310-macosx_arm64

Substitute cp310/cp311/cp312/cp313 to target other Python versions. The wheel is written to wheelhouse/ and can be installed directly:

pip install wheelhouse/vtk_streaming-*.whl

Examples

  1. examples/simple_encoder_decoder.py - Live VP9 encode/decode round-trip with two render windows side by side.
  2. examples/resize_encoder_decoder.py - VP9 encode/decode round-trip that survives window resizes.
  3. examples/simple_hardware_encoder_record.py - Record a render window for later playback using whichever hardware H.264 encoder vtkEncoderFactory selects (Apple VideoToolbox on macOS, NVENC on NVIDIA GPUs). This needs ffplay to playback the .h264 file.

Getting help

Metadata

Release files for vtk-streaming 0.4.2

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

Built distributions (wheels)

Table of built distributions (wheels) for vtk-streaming 0.4.2
File
vtk_streaming-0.4.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
vtk_streaming-0.4.2-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
vtk_streaming-0.4.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
vtk_streaming-0.4.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
vtk_streaming-0.4.2-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
vtk_streaming-0.4.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
vtk_streaming-0.4.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
vtk_streaming-0.4.2-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
vtk_streaming-0.4.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
vtk_streaming-0.4.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
vtk_streaming-0.4.2-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
vtk_streaming-0.4.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
vtk_streaming-0.4.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
vtk_streaming-0.4.2-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
vtk_streaming-0.4.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 31.0 MB

Release files / vtk_streaming-0.4.2-cp314-cp314-win_amd64.whl

Download URL vtk_streaming-0.4.2-cp314-cp314-win_amd64.whl
Size 2.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
0b9db83095fb239eead34c3631b5cc3c26c3de0aae1efaa6767f119dde19a46d
BLAKE2b-256 checksum
How to use checksums
2dca57c719d6d13cbbc4c0099c9a0188799fd1a0d4842ab67f82cea2181b96bb
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL vtk_streaming-0.4.2-cp314-cp314-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
38bef2666b1fa992a4efc90483ac4249fbc71e9b2a6aa25ec4d3ce6e2a734499
BLAKE2b-256 checksum
How to use checksums
d9a5c778c5d18c6a9dabd1471788586e2fb9c0e4dcb6a7a9318af7b3ce70ea5c
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL vtk_streaming-0.4.2-cp314-cp314-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f2bdbc5eb7d93ef947946e9bff16015cca9a5008ee70c8299d26f499be2384e3
BLAKE2b-256 checksum
How to use checksums
71e16d5c2b589024554ddaf89b6b54508c6934adb2bbf992f357efd8076dbaf1
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp313-cp313-win_amd64.whl

Download URL vtk_streaming-0.4.2-cp313-cp313-win_amd64.whl
Size 2.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
a1f309f1dc9fdc6c2328a6a3d7a5fc5edcbbb483787175401249ccc4245820cc
BLAKE2b-256 checksum
How to use checksums
414c411a2939d252d2247f80f1ff935fb4c7b9148e2a80ca73a976531f88f55f
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL vtk_streaming-0.4.2-cp313-cp313-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
34eb778507ae47102fd367f5d9900da84b5618e536a1bb40cdaabaa38e637fd2
BLAKE2b-256 checksum
How to use checksums
e10d35567d8b865934ccbf78bd9360e1248ad7375faa96e0871738e7d03b2e4d
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL vtk_streaming-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9c7ff025541eef3284158ec1ef1a70a2535bb9855a6c275956ff72c4712868ae
BLAKE2b-256 checksum
How to use checksums
0444d1081b1646b54e5c49a56395babf6237abe32bb9c2a62e3eaf4326a4519f
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp312-cp312-win_amd64.whl

Download URL vtk_streaming-0.4.2-cp312-cp312-win_amd64.whl
Size 2.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
deb81f35fbf532fc7a070db2b6af49af0b8c33ee196c527594c43f97f6ddce16
BLAKE2b-256 checksum
How to use checksums
effa1b8dfceb44db20af2beddc2d57702c5d0e6ca393dbeebdaad93d55195d92
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL vtk_streaming-0.4.2-cp312-cp312-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
94e1e890b33d508e63e9199a63948c81ced010c5af7525dae13a9cc2c75a55ff
BLAKE2b-256 checksum
How to use checksums
d4648bb5cb0190685f5a1618f2e75729a166b3cf19c285f0eee7ed40b7ceec20
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL vtk_streaming-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7a449a8be6478ede9220027a1020f163b64fb4f3be030f9fa58f89df33d3c1a4
BLAKE2b-256 checksum
How to use checksums
0b4edf7443522571dd5c7ca5c5fb1a28e8fbc57d68a76fcdcfaffdccbafefec6
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp311-cp311-win_amd64.whl

Download URL vtk_streaming-0.4.2-cp311-cp311-win_amd64.whl
Size 2.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b0fc030acd85513bd7cef761d223340d0d138b95fb8c768383093319a6897a81
BLAKE2b-256 checksum
How to use checksums
f34d05c18a2b9f4fd8c26bd6cbe705a7c724a605a5a562e7a4f567378a300255
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL vtk_streaming-0.4.2-cp311-cp311-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d5b852a41e2c4eb9d34f7e06ec7b41af3fb2d9397be1fea76885936f5653fc7f
BLAKE2b-256 checksum
How to use checksums
3af98b32b6d52c17b48f9f1b438ab02198e90f2517ee59586c825f5fb83c2602
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL vtk_streaming-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ab26942b5c9cbfe24cd82b67e0831296b1a5b65a830a969a1682571474c18d67
BLAKE2b-256 checksum
How to use checksums
de80e4f4feddb843d861540ebf5d754daa29e415efdfaadda2a924e9fa0c5b25
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp310-cp310-win_amd64.whl

Download URL vtk_streaming-0.4.2-cp310-cp310-win_amd64.whl
Size 2.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6671614e2bd2a4744ca18363c6e7b9a8dba2d2a1ca3dddd68e590014092650c7
BLAKE2b-256 checksum
How to use checksums
a5bff478b7a418b6b97d79557b9ac62c0acf2d8661f0eaeb2e367435adc6c752
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL vtk_streaming-0.4.2-cp310-cp310-manylinux_2_28_x86_64.whl
Size 2.3 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2fa77f940bb6de02cfc02eebe219a2853386c4039a3b6eb5d851a2b67151aa65
BLAKE2b-256 checksum
How to use checksums
5e071aac5324b3b2919c625b30c645480145c3756944d410ae094e943c9c6a49
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 Sep 23, 2026.

Transparency log

Release files / vtk_streaming-0.4.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL vtk_streaming-0.4.2-cp310-cp310-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9aecbce9869a9f262789ac371521c76b3d46373fa580116a7a4ddbe29c9a34a5
BLAKE2b-256 checksum
How to use checksums
52cd82d06a3be9f75f815b0ef0fc34e5ed275b0d944b787ea7c0233e0ca519a0
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 Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.2 This release

15 release files

0.4.0

12 release files

0.3.2

12 release files

0.3.1

12 release files

0.3.0

12 release files

0.2.1

8 release files

0.2.0

8 release files

0.1.0

8 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