Skip to content

Slim down dependencies and tidy up install docs - #130

Merged
ShantanuKodgirwar merged 20 commits into
mainfrom
dependencies-cleanups
Oct 9, 2026
Merged

ShantanuKodgirwar merged 20 commits into
mainfrom
dependencies-cleanups

Conversation

@ShantanuKodgirwar

Copy link
Copy Markdown
Contributor

What and why

This is a somewhat of a cleanup PR (amongst more to come in future Ex: ruff ran over the code base). However, importantly this PR slims down the core dependencies and removes others that are not needed. Core install goes from 14 packages to 9, and several broken or unused imports are cleaned up.

  • Removed: tables (now read with h5py), bokeh (alignment plot now uses matplotlib), PyQt5, TensorFlow, JAX, imageio and black.
  • Optional extras: gpu (CuPy) and gui (pyqtgraph + PySide6). Without gui, show3Dslider falls back to a matplotlib slider instead of failing. This was an important one since PyQt5 has reached end of life and now PySide6 is added. Making the GUI flags leans up dependencies quite a bit.
  • Contributor tooling: dev and docs are now dependency groups. uv sync includes dev automatically; docs are served with uv run --group docs mkdocs serve. ruff replaces black.
  • Docs: the README is shorter and points to the docs. Development setup has its own page, and install commands use uv.
  • show3Dslider crashed with colormap values other than the default on matplotlib ≥ 3.9.

How it was tested

  • The full test suite passes.
  • A fresh environment with only the core dependencies imports every module; its test skips are only for missing GPU or example data.
  • The Qt viewer and its matplotlib fallback were checked, and the docs build with mkdocs build --strict with closer look on how it looks.

Notes

  • The interactive Qt viewer now needs pip install "ptylab[gui]".
  • make_alignment_plot returns a matplotlib figure and saves plots/alignment.png (was .html).
  • position_update_to_change_in_z (experimental, off by default) uses a simple damped update instead of Adam. But this is mostly unused. However, this could use closer look and verification and maybe could become part of Params instead.
  • Follow-up: a ruff format check in CI should happen soon.

…e is kept with a message to install tensorflow separately if needed
…extras + CI updated with these new infrastructure changes
…_change_in_z needs a closer look for verification, but it isn't used regardless at the moment
@ShantanuKodgirwar ShantanuKodgirwar self-assigned this Oct 9, 2026
@ShantanuKodgirwar ShantanuKodgirwar added documentation Improvements or additions to documentation cleanups labels Oct 9, 2026
@ShantanuKodgirwar
ShantanuKodgirwar merged commit 5f8ccc0 into main Oct 9, 2026
6 checks passed
@ShantanuKodgirwar
ShantanuKodgirwar deleted the dependencies-cleanups branch October 9, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cleanups documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant