Skip to content

Modernize packaging: migrate to pyproject.toml and support uv #360

@wshlavacek

Description

@wshlavacek

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

  1. Migrate setup.py to pyproject.toml — modern standard, better tooling support
  2. Pin dependency upper bounds in pyproject.toml to prevent breakage
  3. Support uv — users can then install with uvx pybnf or uv tool install pybnf with no Python knowledge required
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions