fix: make project PEP 517 compliant. #3738
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
The
LMDeploy
project currently utilizes apyproject.toml
file, but the build process isn't fully aligned with PEP 517 standards. This change aims to improve consistency and maintainability by adhering more closely to PEP 517 guidelines.Modification
This PR refactors the LMDeploy build process to better align with PEP 517 standards, while retaining the necessary functionality for handling dynamic and optional dependencies. Key changes include:
pyproject.toml
: Revised thepyproject.toml
file to more accurately define build requirements and dependencies, ensuring greater conformity with the PEP 517 specification.pyproject.toml
to more reliably resolve dependencies during the build process.pyproject.toml
and/orsetup.py
for consistent dependency management.Use cases
This change enables the use of a wider range of modern Python packaging tools. Specifically:
pip
installs:pip install .
orpython -m build
will continue to work as expected.uv
: This change ensures compatibility with tools likeuv
, allowing developers to leverage its faster dependency resolution and other benefits.Checklist
setup.py
.