Migrate package metadata to [project] and enable uv project - #265
Merged
Conversation
Adds [build-system] + [project] to pyproject.toml so uv recognizes a project (uv sync / uv lock now work). Static metadata (description, readme, license, classifiers, urls, entry point, requires-python) moves into [project]; version, dependencies, and optional-dependencies stay dynamic in setup.py so the RELEASE=1 -> clean version, else .dev0 logic is preserved. setup.py is trimmed to just the dynamic bits + version-file generation and package discovery. uv.lock is gitignored (library, not app). Matches the main autogluon repo's packaging: setuptools.build_meta backend, setuptools>=77 (needed for the PEP 639 SPDX license expression), and the description matches the GitHub repo tagline.
shchur
force-pushed
the
pyproject-project-table
branch
from
August 7, 2026 12:16
28f2bb5 to
80929aa
Compare
|
Job PR-265-09f8018 is done. |
|
Job PR-265-e347dc7 is done. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
Adds a
[build-system]+[project]table topyproject.tomlso uv recognizes this as a project —uv sync/uv locknow work (previously there was no[project], so uv had nothing to resolve).How the split works
[project]:name,description,readme,license(SPDX),license-files,authors,classifiers,requires-python,[project.urls],[project.scripts]entry point.setup.py:version,dependencies,optional-dependencies. These stay insetup.pyso the release-flow logic (RELEASE=1→ clean0.5.1, else0.5.1.dev0) is preserved untouched.setup.pyis trimmed to just those + version-file generation and package discovery.Note:
[project].versionanddynamic = ["version"]are mutually exclusive, so hardcoding the version in pyproject would have reintroduced the manual per-release edit we removed in #264. Keeping it dynamic avoids that.Consistency with the main autogluon repo
setuptools.build_meta(not hatchling).setuptools>=77— required for the PEP 639 SPDXlicense = "Apache-2.0"expression (matches autogluon's floor;>=64would mishandle the license field).descriptionset to"Train and deploy ML models in the cloud"to match the GitHub repo tagline.Other
uv.lockis gitignored — this is a library, not an app, so we don't pin the (huge, churny) transitive tree.https://auto.gluon.ai/cloud.License :: OSI Approvedclassifier is replaced by the PEP 639License-Expression(setuptools bundles LICENSE/NOTICE).Verification
Built the wheel (
uvx --from build pyproject-build --wheel) and inspectedMETADATA:Name: autogluon.cloud,Version: 0.5.1.dev0(dynamic version resolves)Summary: Train and deploy ML models in the cloudRequires-Python: <3.14,>=3.10, all Project-URLs presentLicense-Expression: Apache-2.0; LICENSE + NOTICE packagedautogluon-cloud = autogluon.cloud.cli:mainray/all/testsextras all correctuv lockresolves the full dependency tree