feat: replace poetry with uv and drop python 3.8/3.9#7
Merged
danfimov merged 1 commit intotaskiq-python:mainfrom Nov 25, 2025
Merged
feat: replace poetry with uv and drop python 3.8/3.9#7danfimov merged 1 commit intotaskiq-python:mainfrom
danfimov merged 1 commit intotaskiq-python:mainfrom
Conversation
47055bf to
44aae14
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR modernizes the project's build system and tooling by replacing Poetry with uv, dropping Python 3.8/3.9 support while adding Python 3.13, and consolidating linting tools under ruff. The changes include updating CI workflows, replacing bitnami/kafka with apache/kafka images, and removing deprecated code.
Key Changes:
- Migrated from Poetry to uv for dependency management and building
- Updated Python version support from 3.8-3.11 to 3.10-3.13
- Consolidated multiple linters (flake8, isort, autoflake, wemake-python-styleguide) into ruff
- Removed unused
parse_valfunction and deprecatedsend_backoff_msparameter - Updated CI workflows and switched to Apache Kafka images
Reviewed Changes
Copilot reviewed 13 out of 15 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Converted from Poetry format to PEP 621 format with uv as build backend; updated dependencies and added ruff configuration |
| tests/test_broker.py | Removed pytest.mark.anyio decorators and modernized type hints to use PEP 604 union syntax |
| tests/conftest.py | Removed empty parentheses from fixture decorators and updated imports to use collections.abc |
| taskiq_aio_kafka/broker.py | Removed unused parse_val function, modernized type hints, and simplified exception raising |
| taskiq_aio_kafka/models.py | Removed deprecated send_backoff_ms parameter and modernized type hints |
| taskiq_aio_kafka/exceptions.py | Added __template__ attribute for better error messaging |
| docker-compose.yaml | Added new docker-compose file with Apache Kafka 4.1.1 configuration |
| README.md | Fixed typo ("lirary" → "library") and added PyPI badges |
| LICENSE | Updated copyright year to 2025 |
| .pre-commit-config.yaml | Updated hook versions and replaced linting tools with ruff |
| .github/workflows/test.yml | Updated to use uv and Apache Kafka images with Python 3.10-3.13 |
| .github/workflows/release.yml | Updated to use uv and trusted publishing for releases |
| .flake8 | Removed as flake8 is replaced by ruff |
| poetry.lock | Removed as Poetry is replaced by uv |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
44aae14 to
40d5bb3
Compare
40d5bb3 to
290af5a
Compare
290af5a to
151609d
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.
Closes #6
Features:
Fixes:
parse_valfunctionsend_backoff_msparameter from consumer (seems like it not exist in aiokafka 0.10.0+)Mics:
pytest.mark.anyiomarks in favor ofanyio_mode=autoconfig option.