Skip to content

modernise build system: Add pyproject.toml and migrate to PEP 517#70

Open
DininduSenanayake wants to merge 1 commit intosansomlab:mainfrom
DininduSenanayake:PEP517
Open

modernise build system: Add pyproject.toml and migrate to PEP 517#70
DininduSenanayake wants to merge 1 commit intosansomlab:mainfrom
DininduSenanayake:PEP517

Conversation

@DininduSenanayake
Copy link
Member

Summary

Modernizes the package build system by adding pyproject.toml and adopting PEP 517 standards to ensure compatibility with pip 25.3+ and eliminate deprecation warnings.

Changes

  • Added pyproject.toml with declarative package metadata and dependencies
  • Simplified setup.py to delegate configuration to pyproject.toml
  • Updated installation method from python setup.py develop to pip install -e .

Why This Change Is Needed

  1. Addresses deprecation warnings: pip is removing support for the legacy setup.py bdist_wheel mechanism in version 25.3
  2. Future-proofs the package: Adopts the standardized build interface (PEP 517/518) that is now the Python packaging standard
  3. Improves maintainability: Declarative configuration in pyproject.toml is easier to read and maintain than imperative setup.py
  4. Better dependency management: Explicitly declares build system requirements

Testing

  • Package installs successfully with pip install -e .
  • All dependencies resolve correctly
  • Entry point (cellhub command) works as expected
  • No deprecation warnings during installation

Backward Compatibility

  • Maintains setup.py for backward compatibility with older tools
  • Does not change package functionality or API
  • Only affects the build/installation process

Migration Notes for Users

Users should update their installation commands:

  • Old: python setup.py develop
  • New: pip install -e .

Both methods currently work, but the new method is recommended going forward.

@DininduSenanayake DininduSenanayake changed the title modernize build system: Add pyproject.toml and migrate to PEP 517 modernise build system: Add pyproject.toml and migrate to PEP 517 Oct 9, 2025
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