jiangxt2 opened a new pull request, #14403:
URL: https://github.com/apache/gravitino/pull/14403

   ### What changes were proposed in this pull request?
   
   Add an optional uv development workflow with a committed lockfile, 
setuptools metadata bridging, requirement/README cache inputs, package metadata 
assertions, and setup/check commands in the Python client guide. Keep 
dependency declarations in setup.py and the existing requirement files.
   
   ### Why are the changes needed?
   
   Provide reproducible developer environments while preserving the existing 
package installation contract. Include dynamically read files in cache 
invalidation so installed package metadata follows changes to those files.
   
   Part of #14395.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Developers can use uv for local setup and checks. SDK APIs, runtime 
dependency declarations, and default Gradle, CI and release entry points are 
unchanged.
   
   ### How was this patch tested?
   
   Local validation on macOS arm64 with uv 0.12.23:
   
   - Locked development installs and complete unit suites on Python 3.10.18, 
3.11.15 and 3.12.12: 1,272 tests per baseline, zero skips; dependency checks 
passed. Core-only installs on Python 3.10/3.11 and all-extras 
installation/import checks on Python 3.12 also passed.
   - Existing Gradle 8.2 / Java 17 client test and distribution tasks passed: 
10 tasks executed, including 1,272 unit tests, lint and sdist generation. The 
generated sdist passed ordinary pip installation, imports and version checks in 
a clean environment.
   - Black, Pylint (10.00/10), RAT and lock consistency checks passed.
   - Local-only packaging checks passed for metadata equivalence, 
requirement/README cache invalidation, formal/RC/development versions, 
sdist-to-wheel builds and clean installation.
   
   The uv unit workflow is reproducible from clients/client-python with:
   
   ```shell
   uv sync --locked --extra dev --python 3.12
   uv run --locked --extra dev python scripts/generate_version.py
   PYTHONPATH="$PWD" uv run --locked --extra dev --directory tests/unittests 
python -m unittest
   ```
   
   Service/storage integration and Ray end-to-end suites were not run for this 
tooling change.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to