Migrate from pip/setuptools to uv for dependency management#483
Open
halfguru wants to merge 2 commits into
Open
Migrate from pip/setuptools to uv for dependency management#483halfguru wants to merge 2 commits into
halfguru wants to merge 2 commits into
Conversation
4453d45 to
37a0e17
Compare
- Add pyproject.toml with project metadata and dependencies - Keep minimal setup.py for Debian packaging compatibility - Update CI workflow to use astral-sh/setup-uv - Consolidate flake8 check into main workflow (3 parallel jobs) - Update Dockerfile to use uv pip install --system - Update deployment script to use pip install . (modern standard) - Update documentation (README, docker/README.md) - Remove requirements*.txt files (deps now in pyproject.toml) - Note: gdal not in pyproject.toml (installed via system packages)
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.
Summary
This PR migrates msc-pygeoapi from pip/setuptools to uv for dependency management, following modern Python packaging standards (PEP 621).
Motivation
pyproject.tomlas single source of truthInstallation Time Comparison
uv with warm cache is 33x faster than pip with warm cache.
Changes
pyproject.tomlwith project metadata, dependencies, and dev dependenciessetup.pyfor Debian packaging compatibility (debuild)astral-sh/setup-uv@v7Dockerfileto useuv pip install --systemand Docker buildxdeploy/nightly/deploy-nightly.shto usepip install .(modern standard)README.md,docker/README.md)requirements.txt,requirements-dev.txt,requirements-oracle.txtDependency Versions
All 58 common dependencies resolve to identical versions. Minor additions in uv:
coverageandpytest-covadded to dev dependencies for better test coverageBackward Compatibility
setup.pyTests Performed
Notes
gdalis not included inpyproject.tomldependencies - it must be installed via system packages (apt install python3-gdalorlibgdal-dev+ pip) due to build requirements.