Current state
- Package is distributed via
setup.py with setuptools
- Docker image exists (
Dockerfile) but is dated (BioNetGen 2.3.1, anaconda3 base, bdist_wheel)
- No dependency upper bounds — upstream updates can break PyBNF
- Installation requires users to manage Python environments manually
Recommendations
- Migrate
setup.py to pyproject.toml — modern standard, better tooling support
- Pin dependency upper bounds in
pyproject.toml to prevent breakage
- Support
uv — users can then install with uvx pybnf or uv tool install pybnf with no Python knowledge required
- Update the Dockerfile — freshen base image and BioNetGen version
This supersedes #212 (pre-compiled binary). The uv approach gives users the same "just run it" experience without fighting PyInstaller + dask incompatibilities.