Skip to content

Add molviz 3D structure viewer

Marek Białoruski requested to merge feature/molviz-3d-viewer into develop

Summary

Adds molviz, a sibling package providing a 3D-accelerated viewer for molforge Structure objects, and tidies up the root package's long-stale PyScaffold metadata.

Changes

  • New molviz/ project (own pyproject.toml, src/, tests/): PyVista/VTK + PySide6 viewer rendering atoms (CPK color/radius), bonds, and unit cell wireframe, with click-to-pick atom inspection. Usable via a molviz <path> CLI or molviz.view(structure) library call.
  • Root README.rst / pyproject.toml: replaced unfilled PyScaffold placeholders (description, dead badge links, attribution note) with real content, added [project.urls], removed the unused matplotlib dependency.
  • Updated logo assets (logo.png, logo_hq.png) and added molviz/logo*.png.

Testing

  • molviz: 19 tests passing under Xvfb (real X11 display; Qt's offscreen QPA platform doesn't support QOpenGLWidget, which VTK's picking needs).
  • Root molforge suite: 170 tests passing, unaffected.
  • ruff check clean on both packages.
  • Manual end-to-end check: loaded a real .car sample through the CLI (format detection to Structure to rendered scene) under Xvfb.

Notes

  • molviz requires its own virtualenv on Python <3.15 (VTK/PySide6 wheels don't yet support 3.15) — see molviz/README.rst for install order.
  • molviz depends on molforge as an editable local install; it isn't published to an index

Merge request reports

Loading