Skip to content

Conversation

@danfimov
Copy link

Features:

  • Replaced poetry with uv
  • Deleted support for python 3.8/3.9 and added 3.13 to test suit

Mics:

  • Updated dev dependency versions;
  • Deleted pytest.mark.anyio marks in favor of anyio_mode=auto config option.
  • Added licence to distribution

Copilot AI review requested due to automatic review settings November 17, 2025 14:52
Copilot finished reviewing on behalf of danfimov November 17, 2025 14:55
Copy link

Copilot AI left a 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 modernizes the project's tooling by replacing Poetry with uv for dependency management and build processes, while also dropping support for Python 3.8/3.9 and adding Python 3.13 support. The changes include updating the project configuration, modernizing Python type hints to use PEP 604 syntax (union operator |), removing redundant pytest.mark.anyio decorators in favor of configuration-based auto-detection, and adding an MIT license to the distribution.

Key Changes

  • Migration from Poetry to uv for dependency management and building
  • Python version support updated to 3.10-3.13 (dropping 3.8 and 3.9)
  • Type hints modernized throughout the codebase to use | syntax instead of Union
  • Test configuration simplified with anyio_mode = "auto" in pytest config

Reviewed Changes

Copilot reviewed 17 out of 19 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pyproject.toml Complete migration from Poetry to uv format with project metadata, dependency groups, and build configuration
poetry.lock Removed Poetry lock file entirely
tests/*.py Modernized type hints and removed explicit @pytest.mark.anyio decorators
taskiq_nats/*.py Updated type hints to use modern union syntax and adjusted type ignore comments
.github/workflows/*.yaml Updated CI/CD workflows to use uv instead of Poetry
.pre-commit-config.yaml Updated pre-commit hooks to use uv for running tools
docker-compose.yml Removed deprecated version field
README.md Fixed typos ("betwee" → "between")
LICENSE Added MIT license file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

]

[build-system]
requires = ["uv_build>=0.9.9,<0.10.0"]
Copy link

Copilot AI Nov 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version constraint for uv_build specifies >=0.9.9,<0.10.0, which is a very narrow range. This may cause build failures if version 0.10.0 is released. Consider using a more flexible version constraint like >=0.9.9,<1.0.0 or just >=0.9.9 to allow for minor version updates.

Suggested change
requires = ["uv_build>=0.9.9,<0.10.0"]
requires = ["uv_build>=0.9.9,<1.0.0"]

Copilot uses AI. Check for mistakes.
enable-cache: false
python-version: "3.12"
version: "latest"
- run: uv version "${GITHUB_REF_NAME}"
Copy link

Copilot AI Nov 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The command uv version "${GITHUB_REF_NAME}" appears to be incorrect. The uv CLI doesn't have a version subcommand that sets the project version. You likely need a different approach to set the version in the project, such as modifying the pyproject.toml file directly or using a tool that supports version management. Consider using sed or a similar tool to update the version in pyproject.toml.

Suggested change
- run: uv version "${GITHUB_REF_NAME}"
- run: sed -i 's/^version = .*/version = "'"${GITHUB_REF_NAME}"'"/' pyproject.toml

Copilot uses AI. Check for mistakes.
Comment on lines 11 to +12
async def test_push_based_broker_success( # (too many await)
nats_urls: List[str],
nats_urls: list[str],
Copy link

Copilot AI Nov 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The @pytest.mark.anyio decorator was removed from this test function, but the decorator is still present on line 53 (@pytest.mark.anyio()). This creates an inconsistency - either all test functions should use the decorator, or none should (relying on the anyio_mode = "auto" config). Please remove the decorator from line 53 for consistency.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant