Skip to content

Fix packaging metadata, compatibility aliases, and CI - #64

Draft
georgeoshardo wants to merge 3 commits into
mainfrom
fix/packaging-compatibility-ci
Draft

Fix packaging metadata, compatibility aliases, and CI#64
georgeoshardo wants to merge 3 commits into
mainfrom
fix/packaging-compatibility-ci

Conversation

@georgeoshardo

@georgeoshardo georgeoshardo commented Jul 17, 2026

Copy link
Copy Markdown
Owner

What changed

  • require Python 3.11 or newer and advertise the tested 3.11/3.12 versions
  • declare the core NumPy, Numba, Pillow, and networkx imports directly
  • remove the unused IPython and Zarr declarations
  • restore max_length_var and width_var with the advertised warnings through 2026-09-01
  • replace the nonexistent SyMBac[gpu] advice with the real cupy and torch extras
  • remove the deleted do_transformation argument from the canonical notebook
  • add locked Pixi test jobs for Python 3.11 and 3.12, and refresh the action majors in CodeQL
  • update the small Read the Docs config mismatch from Python 3.8 to Python 3.11

Why

The package metadata promised Python versions that the dependency floors cannot install and omitted several direct imports. The compatibility aliases were also removed before their documented date, while the renderer and example notebook referenced APIs or extras that do not exist.

Validation

  • pixi run pytest tests/test_packaging_metadata.py — 2 passed
  • imported Optuna, CMA-ES, and SyMBac.auto_optimise through Pixi
  • pixi run pytest — 68 passed
  • parsed .readthedocs.yaml and both workflow files with PyYAML
  • parsed docs/source/examples/simple_mother_machine.ipynb with python -m json.tool through Pixi
  • git diff --check

GitHub Actions validates the locked Python 3.11 and 3.12 environments.

Deliberate scope

SyMBac/colony_renderer.py and SyMBac/colony_simulation.py still import undeclared Ray and CellModeller dependencies, but a repository-wide search found no callers. They were left unchanged because deciding whether to package or remove those legacy modules is separate work.

auto_optimise.py remains unchanged in this PR, and its Optuna and CMA-ES dependencies remain declared. The file and its dependencies will be removed together in a separate small PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant