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 NVENC).

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_nvenc_record.py - Record a render window for later playback using NVENC. This needs ffplay to playback the .h264 file.

Getting help

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vtk_streaming-0.3.5-cp313-cp313-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows x86-64

vtk_streaming-0.3.5-cp313-cp313-manylinux_2_28_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

vtk_streaming-0.3.5-cp313-cp313-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vtk_streaming-0.3.5-cp312-cp312-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows x86-64

vtk_streaming-0.3.5-cp312-cp312-manylinux_2_28_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

vtk_streaming-0.3.5-cp312-cp312-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

vtk_streaming-0.3.5-cp311-cp311-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows x86-64

vtk_streaming-0.3.5-cp311-cp311-manylinux_2_28_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

vtk_streaming-0.3.5-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vtk_streaming-0.3.5-cp310-cp310-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10Windows x86-64

vtk_streaming-0.3.5-cp310-cp310-manylinux_2_28_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

vtk_streaming-0.3.5-cp310-cp310-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file vtk_streaming-0.3.5-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 da4de650390e52bd1ee4a266e5f992af701a7ea114168c784ff99f3d835d1b93
MD5 35148e53a2539266dedb146cdec9e104
BLAKE2b-256 acb8f6f4a092f44b0bc1c73d4d2d22c0b8c8cff881afe65545c52d0ef0b67f8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp313-cp313-win_amd64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 45ebb5329cbbdeef473b1df35ff7c92e21e489d4ba56416a8f3756d56f1a8203
MD5 c788b89bace2c40252d10698b77d030d
BLAKE2b-256 00e87b5d4e0986fd977d8b8af33b5d9cd11fdc42390b0893338f138d681dfe33

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e80c8586d50873bd2e282313b49c2c4a076701e6070b321f80ed1f1a1c955d5e
MD5 9ea123fe17b45b8686c3ec0605d98052
BLAKE2b-256 c98eae946275d96e3b9fd98a42784c882cde501aaa42116cd803977c94aa8bb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a100f96d24cac6054b8c1a91a3677a6cd2db23199b04eb9185fd4ad7bde1ee0c
MD5 14a5a5f9c79f855bf4e04d6fcbd74484
BLAKE2b-256 15cef67805aa4ec469630d70bbcb26060d41733e083c061eab2636e72f081d92

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp312-cp312-win_amd64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73410989d94befa3dd2a9dfceca18f3d63fce16196d88b4ac3daa8905a07c4da
MD5 b8825cc940cc69d061c5c87d60191018
BLAKE2b-256 891719b712a209e7ff59698746b2f7d4eca49c8caa14ca0b90cd6d0165f07e3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d9495d926defcdc43ec7316f05bf35931990e492f58104ab5687bb4cdc474dd
MD5 caa22f4ccc5cc368b3be69dc66dc095c
BLAKE2b-256 fc8a8a099f1ecbac4aca45e459bdf3f6395229840da5e9adc72cdb76d4b55e63

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a5683514353423353c96dc089d842a6455bfe52b9e0e36f789a47e75f01e8e90
MD5 1056c7b28297df927265cc7a8329a5ad
BLAKE2b-256 be2b3ab8494ed4aeeb6e613661bed598f2a3212f1761e94593a7830ff28d272b

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp311-cp311-win_amd64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ead7132ac87448f33e5dbc0700b143bd7583aa27533c35765b413742f421e142
MD5 5a74c05078b211b17c689109809c70b0
BLAKE2b-256 cc1de44ae215d8dd518fcb8fd4921401ebc21556abfab1f6cc46fe12f1be0439

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8104b111b9da5243872abb439effa7515e61b42db173796d8a6b3d372a03f9f
MD5 6c0dbc2a1b6f6ea1f9be659d2511103c
BLAKE2b-256 97068292a2d26bdc2a91f50ba4b9227a235a17f8a8647a6009997ba7e6c0b779

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6838e2bb1f3c3ad96906d346fcdb6fde1d88bf1707fc58bb90199545c160df00
MD5 7958ef0755d01d6b6bc45ec11c475066
BLAKE2b-256 ed41143e6543d3d7b04841d5ebe20c86185edd3a32aaa747516da02aa5232f37

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp310-cp310-win_amd64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 abf301f13696e0fcb2e9e9a5cdbcf3dd2a29ba90b06d719ea6c3b855bd6239c1
MD5 25161da76b148426f9d5ef785dea7a74
BLAKE2b-256 1506661a649d79506d3d12114c9e0114bf9bd2b7cbf62ee80442b87aa0c8363a

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vtk_streaming-0.3.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vtk_streaming-0.3.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dfc89bf84a6707d1ee09bf479d37db43fee1560b6340136d18a2698b3c1fc632
MD5 8a359a413c871dc2b48380a254781c7b
BLAKE2b-256 d163544cc9d56b904d677016759e90168af3e022efd8e1cee04e8c4d29c1f604

See more details on using hashes here.

Provenance

The following attestation bundles were made for vtk_streaming-0.3.5-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on Kitware/VTKStreaming

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page