This release is a pre-release and may not be stable for production use.
PyVRML97 Scenegraph Model
PyVRML97 is the scenegraph model from OpenGLContext but can be used separately in VRML97 processing tools. It relies on SimpleParse, PyDispatcher and Numpy to provide the basic modelling functionality.
Properties (fields) in PyVRML97 follow the “Observer” pattern, and PyVRML97 provides a cache mechanism that allows you to do cache invalidation when setting properties (fields). OpenGLContext uses that extensively to optimize the rendering process.
vrml.x3d holds the X3D 4.1 vocabulary as PyVRML97 nodes, generated from Web3D’s X3D Unified Object Model, with VRML97 and earlier X3D versions read as dialects of it. vrml.x3d.load and dump read and write the XML, ClassicVRML, JSON and VRML97 encodings. docs/x3d.rst describes it.
RELEASE-NOTES-2.3.5.md says what changed for a program using this release, including the two behaviour changes a caller may need to act on: transformmatrix.orthoMatrix is transposed, and Node.copy() copies the whole subtree.
Installation
It isn’t common to directly install PyVRML97 itself (normally you want to install it as part of installing OpenGLContext), but should you wish to, you can install via:
$ pip install PyVRML97 PyVRML97_accelerate
The PyVRML97_accelerate module requires that you have a working compiler (or, if you are on Windows, prebuilt wheels likely are available). It is optional: without it the pure-Python field is used. An accelerator that is installed but fails to load, as when it was built against another numpy, leaves the pure-Python field in place and logs a warning with the error on the vrml.field logger.
Build/Release Process
Push an annotated tag with version prefix (github workflow build_and_publish.yml)
Metadata
Release files for PyVRML97 2.4.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyvrml97-2.4.0a2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / pyvrml97-2.4.0a2-py3-none-any.whl
| Download URL | pyvrml97-2.4.0a2-py3-none-any.whl |
|---|---|
| Size | 287.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db5f8fcf828d641c360f0d1dba84a8eef5ee6e13159377828f0e9a9ff0e2ccd2
|
|
BLAKE2b-256 checksum How to use checksums |
f7ae2df04d76e2cf1b508d29cd1c7c914e7204f566276dec048c2f81cf7f620b
|
| 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