Skip to content

Datoviz v0.4.0rc2

Datoviz v0.4.0rc2 is a replacement for RC1 that fixes interactive windows created from the packaged macOS wheels. If you installed RC1 on macOS, upgrade to RC2; the API and feature scope are otherwise unchanged.

Datoviz v0.4 is a major rewrite of the rendering engine and public API. It provides interactive 2D and 3D scientific visualization from Python or C, with retained scenes, GPU rendering through Vulkan, native windows, offscreen rendering, picking, controllers, text, images, meshes, volumes, and an experimental WebGPU subset. RC2 is still a release candidate, so feedback may lead to API changes before the final v0.4 release.

For a broader introduction to v0.4, see the release-candidate announcement.

What RC2 fixes

The RC1 macOS wheel could import successfully and render offscreen while failing to create an interactive window with glfwCreateWindowSurface() failed (-3). Datoviz and GLFW could select different Vulkan loaders, which made the native window surface unusable.

RC2 ensures that GLFW uses the same packaged Vulkan loader as Datoviz. The exact macOS arm64 wheel was installed in a fresh environment outside the source checkout and passed the Python Quickstart on a MacBook M3, including window creation, resize, pan, zoom, and normal close. It also passed the interactive scatter, arcball, text, image-probe, textured-mesh, picking, and close/reopen checks.

No application workaround or Vulkan environment variable should be needed when using the RC2 macOS wheel.

Install

Install or upgrade the exact candidate from PyPI:

python -m pip install --upgrade --pre datoviz==0.4.0rc2

Then run the Python Quickstart to open an interactive window.

RC2 provides wheels for macOS 15 on Apple Silicon and Intel, Linux manylinux_2_34 on x86_64 and aarch64, and Windows on AMD64 and ARM64. Python 3.10 through 3.14 were tested. A Vulkan-capable GPU and working graphics driver are required for native rendering.

Should I upgrade?

  • macOS users of RC1: yes, especially if you use native interactive windows. RC2 replaces the broken RC1 wheel path.
  • Linux and Windows users of RC1: recommended for consistency, although RC2 does not intentionally change the API or feature set on these platforms.
  • Source-build users on the current v0.4-dev branch: the native-window fix is already included, so upgrading mainly aligns your installation with the canonical RC2 artifacts.

Validation

All six RC2 wheels passed clean installation, package inspection, example, shader, consumer, and rendering checks. Linux additionally exercised an installed-wheel native window under Xvfb and software Vulkan. Hosted macOS runners validated offscreen MoltenVK rendering because they do not reliably provide an interactive desktop session; the exact Apple Silicon wheel received the attended native-window testing described above.

Physical Linux and Windows machines were unavailable for this narrow macOS-focused replacement, so those platforms have fresh hosted evidence but no new attended physical-machine result. Fresh physical coverage returns for RC3 or the final release.

For maintainers and auditors, the GitHub release includes the detailed release report, validation pack, source archive, wheel artifacts, and SHA-256/SHA-512 checksum manifests.

Known limitations

  • Qt and PyQt hosting remain source-build-only because the wheels do not yet include the native datoviz_qtbridge provider. Packaged Qt hosting is planned for RC3.
  • Browser WebGPU support covers an experimental subset rather than the complete native Vulkan feature set.
  • Advanced compute and platform-specific interop facilities remain experimental.
  • Datoviz v0.4 does not preserve v0.3 source or ABI compatibility, and the old object-oriented Python plotting API is not part of this release line.

See the project status, platform support, and v0.3 migration disposition for the detailed scope.

Feedback

Please report installation problems, rendering errors, unexpected interaction behavior, or unclear API and documentation on the GitHub issue tracker. Include your operating system, GPU, graphics-driver version, Python version, installation method, and a small reproducer; screenshots or terminal output are especially useful for graphics failures.