-
Notifications
You must be signed in to change notification settings - Fork 3
chore: migrate from Poetry to uv and bump version to 6.0.0 #43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Migrate build system from Poetry to uv with Hatchling backend - Convert pyproject.toml to PEP 621 standard format - Update Python support from 3.7+ to 3.8+ (Python 3.7 EOL) - Replace poetry.lock with uv.lock - Update all Makefile commands to use uv (sync, run, build) - Update GitHub Actions CI/CD workflows to use astral-sh/setup-uv@v4 - Change PyPI publishing to use uv publish with UV_PUBLISH_TOKEN - Add .python-version file for automatic Python version management - Update README with uv development setup instructions - Fix bug in init_otp() null pointer exception when WWW-Authenticate header is missing - Bump package version from 5.3.0 to 5.4.0 All 35 tests passing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR migrates the project’s packaging/build workflow from Poetry to uv (with Hatchling + PEP 621 pyproject.toml), updates CI/CD accordingly, bumps the package version to 5.4.0, and includes a small runtime fix in init_otp().
Changes:
- Replace Poetry configuration/lockfile with
pyproject.toml(PEP 621 + Hatchling) anduv.lock, and bump version to5.4.0. - Update developer tooling + GitHub Actions workflows to use
uvfor sync/run/build/publish. - Fix
init_otp()to avoid errors whenWWW-Authenticateis missing on 401 responses.
Reviewed changes
Copilot reviewed 7 out of 10 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
pyproject.toml |
Converts metadata to PEP 621, updates Python support to 3.8+, switches build backend to Hatchling, bumps version. |
uv.lock |
Adds uv lockfile for resolved dependencies across supported Python versions. |
poetry.lock |
Removes Poetry lockfile as part of migration. |
Makefile |
Replaces Poetry commands with uv equivalents for install/test/build. |
.github/workflows/ci.yml |
Uses astral-sh/setup-uv@v4 + uv sync/run for CI. |
.github/workflows/deploy.yml |
Uses uv to sync/run/build and publish to PyPI via UV_PUBLISH_TOKEN. |
README.md |
Updates development setup instructions to uv. |
.python-version |
Pins a default local Python version (3.8). |
.gitignore |
Adds .serena/ and normalizes debug.py entry formatting. |
obiba_opal/core.py |
Formatting cleanup + init_otp() 401 header handling change. |
Comments suppressed due to low confidence (1)
obiba_opal/core.py:363
OpalRequest.resource()assigns toself.resource, which shadows theresource()method on the instance. This can causeif self.resource:to be true even when a resource was never set (because it resolves to the bound method), and it prevents calling.resource()more than once. Use a separate attribute name (e.g.,_resource) and update__build_request()to check that instead.
def resource(self, ws):
self.resource = ws
return self
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Update requires-python to >=3.10 in pyproject.toml - Remove Python 3.8 and 3.9 from classifiers, add Python 3.13 - Update .python-version to 3.10 - Update CI workflow to test Python 3.10, 3.11, 3.12, 3.13 - Update deploy workflow to use Python 3.12 - Update README requirements to Python 3.10 or higher - Update uv.lock with new dependency versions for Python 3.10+ All 35 tests passing on Python 3.10.
BREAKING CHANGE: Dropped support for Python 3.8 and 3.9 This is a major version bump due to the following breaking changes: - Minimum Python version is now 3.10 (was 3.8) - Python 3.8 and 3.9 are no longer supported - Users must upgrade to Python 3.10 or higher Following semantic versioning principles for this breaking change.
All 35 tests passing.