Skip to content

BulletLab v0.3.1

Latest

Choose a tag to compare

@NuclearVenom NuclearVenom released this 28 Aug 15:17

This release focuses on improving installation reliability, Python compatibility, and dependency management across BulletLab. It replaces the outdated imgui-bundle dependency that could trigger problematic CMake source builds on Windows, adds missing GUI runtime dependencies, improves compatibility with newer ImGui Bundle releases, and strengthens the CI pipeline to prevent similar installation issues in future releases.

Highlights

Improved Installation & Dependency Management

  • Updated imgui-bundle from 1.5.2 to >=1.6.0,<2.0, enabling the use of compatible prebuilt wheels instead of forcing source builds on supported Windows Python versions.
  • Added PyOpenGL as an explicit runtime dependency.
  • Added glfw as an explicit runtime dependency.
  • Improved dependency handling to provide a more reliable clean-install experience.

Python Compatibility

  • Dropped Python 3.10 support.
  • Added official Python 3.13 support.
  • The supported Python range is now 3.11–3.13.
  • Python 3.14 is intentionally excluded until it can be explicitly validated.

ImGui Compatibility

  • Improved compatibility with newer imgui-bundle 1.92.x releases.
  • Added compatibility handling for the nav_highlightnav_cursor enum rename.
  • Verified BulletLab against multiple imgui-bundle releases from 1.6.0 through 1.92.900.

Plotting Improvements

  • Fixed a clean-install issue where OpenGL.GL could be imported before the optional plotting dependencies were properly initialized.
  • Improved graceful handling when the plotting dependencies are unavailable.

CI & Release Reliability

  • Added Python 3.13 to the CI test matrix.
  • Added a dedicated Windows binary-wheel installation test.
  • CI now verifies that imgui-bundle can be installed from a prebuilt wheel on supported Windows Python versions, helping prevent regressions involving CMake-based source builds.
  • Updated the documentation workflow to use a supported Python version.

Documentation

  • Updated installation requirements to reflect the new Python 3.11–3.13 support range.
  • Clarified the Windows installation requirements and binary-wheel behavior.
  • Updated installation documentation to reflect the new dependency requirements.

Testing

  • 240/240 tests passing.
  • Compatibility verified across 11 imgui-bundle versions.
  • Clean Windows installation verified on Python 3.13 without requiring a CMake build for imgui-bundle.
  • Final package metadata and documentation verified against the supported Python range.

Bug Fixes

  • Fixed the Windows/Python 3.13 installation failure caused by imgui-bundle==1.5.2 falling back to a source build.
  • Fixed missing runtime dependency declarations for PyOpenGL and glfw.
  • Fixed ImGui 1.92.x navigation-color compatibility.
  • Fixed a plotting import failure in clean environments.

Compatibility

Supported Python versions: 3.11, 3.12, 3.13

Unsupported: Python 3.10 and Python 3.14+

Installation

pip install --upgrade bulletlab

Links

Documentation: https://nuclearvenom.github.io/BulletLab/

Repository: https://github.com/NuclearVenom/BulletLab

BulletLab Arsenal: https://github.com/NuclearVenom/BulletLab-Arsenal