Migrate to uv dependency management and Python 3.12#559
Merged
Conversation
- Add pyproject.toml with dependency groups for test, lint, typing, and dev - Remove old requirements/ directory files - Update CONTRIBUTING.md to mention pipx and uv - Add uv.lock file for reproducible builds
- Add tox-uv plugin requirements - Use uv-venv-lock-runner for faster environment creation - Update dependency groups instead of requirements files - Simplify to use only Python 3.12 environments
- Use 'uv sync --group dev' for installation - Use 'uv run' for gunicorn execution - Update all tox commands to use py312-* environments only
- Simplify matrix to use only Python 3.12 (keeping matrix for future 3.13) - Install tox-uv plugin alongside tox - Update cache key to use pyproject.toml instead of requirements files
- Update gunicorn from 20.1.0 to 23.0.0 (fixes pkg_resources warning) - Update APScheduler dependency constraint to >=3.10.0 - Update pylint from 2.8.2 to 3.3.7 for Python 3.12 support - Add types-PyYAML to typing dependency group - Fix file encoding in pyslackersweb/__init__.py - Add type ignore for sentry_sdk.init abstract class - Remove deprecated pylint bad-continuation option - Fix black formatting issues in migration and test files - Update Platform.sh and Docker to use pyproject.toml
Update marshmallow from 3.11.1 to 3.22.0 to resolve distutils import error in Python 3.12 where distutils module was removed.
- Install uv in Platform.sh build hook and use 'uv sync' - Remove unnecessary build system configuration (this is an app, not a library) - Platform.sh will now use uv.lock for reproducible dependency installation
- Add gen-requirements tox environment to export dependencies - Update Platform.sh build hook to use tox + requirements.txt approach - Revert web start command to use global packages - This provides better compatibility with Platform.sh deployment
ae8af1e to
aee65e6
Compare
- Add requirements.txt to gitignore (generated file) - Add gen-requirements tox environment for local use - Add make gen-requirements command to generate requirements.txt - Simplify Platform.sh build to use uv via make command
aee65e6 to
1ca956a
Compare
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
Key Changes
make gen-requirementsTest Plan
Breaking Changes