From 40652a3cf65cbe0a19d4e43964e7f778723607c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Jun 2025 18:41:06 +0000 Subject: [PATCH 1/8] chore(deps): bump ruff from 0.11.12 to 0.11.13 in the pip group Bumps the pip group with 1 update: [ruff](https://github.com/astral-sh/ruff). Updates `ruff` from 0.11.12 to 0.11.13 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.11.12...0.11.13) --- updated-dependencies: - dependency-name: ruff dependency-version: 0.11.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pip ... Signed-off-by: dependabot[bot] --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a09a813..7b40ad8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,7 +79,7 @@ test = [ dev = [ "taskiq-faststream[test]", "mypy==1.16.0", - "ruff==0.11.12", + "ruff==0.11.13", "pre-commit >=3.6.0,<5.0.0", ] From 11bccfc3770c570f47881c2ec19b0e8037de85c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Jun 2025 19:10:26 +0000 Subject: [PATCH 2/8] chore(deps): bump the pip group across 1 directory with 2 updates Bumps the pip group with 2 updates in the / directory: [mypy](https://github.com/python/mypy) and [ruff](https://github.com/astral-sh/ruff). Updates `mypy` from 1.16.0 to 1.16.1 - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/v1.16.0...v1.16.1) Updates `ruff` from 0.11.13 to 0.12.0 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.11.13...0.12.0) --- updated-dependencies: - dependency-name: mypy dependency-version: 1.16.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pip - dependency-name: ruff dependency-version: 0.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip ... Signed-off-by: dependabot[bot] --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7b40ad8..7f00fb2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,8 +78,8 @@ test = [ dev = [ "taskiq-faststream[test]", - "mypy==1.16.0", - "ruff==0.11.13", + "mypy==1.16.1", + "ruff==0.12.0", "pre-commit >=3.6.0,<5.0.0", ] From f38af95419396dde9425df1377b0080811435986 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 01:21:35 +0000 Subject: [PATCH 3/8] chore(deps): bump the pip group across 1 directory with 2 updates Bumps the pip group with 2 updates in the / directory: [mypy](https://github.com/python/mypy) and [ruff](https://github.com/astral-sh/ruff). Updates `mypy` from 1.16.1 to 1.17.1 - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/v1.16.1...v1.17.1) Updates `ruff` from 0.12.0 to 0.12.8 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.12.0...0.12.8) --- updated-dependencies: - dependency-name: mypy dependency-version: 1.17.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip - dependency-name: ruff dependency-version: 0.12.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pip ... Signed-off-by: dependabot[bot] --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 7f00fb2..36854ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,8 +78,8 @@ test = [ dev = [ "taskiq-faststream[test]", - "mypy==1.16.1", - "ruff==0.12.0", + "mypy==1.17.1", + "ruff==0.12.8", "pre-commit >=3.6.0,<5.0.0", ] From 501a5a2710ec8159431e006b376bb19d47f28aa4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 18:22:27 +0000 Subject: [PATCH 4/8] chore(deps): bump the github-actions group across 1 directory with 3 updates Bumps the github-actions group with 3 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [actions/setup-python](https://github.com/actions/setup-python) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/checkout` from 4 to 5 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) Updates `actions/setup-python` from 5 to 6 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v5...v6) Updates `actions/download-artifact` from 4 to 5 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/download-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 4 ++-- .github/workflows/test.yml | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d3711b6..3eed892 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,10 +16,10 @@ jobs: GITHUB_CONTEXT: ${{ toJson(github) }} run: echo "$GITHUB_CONTEXT" - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: 3.13 cache: "pip" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9570e8e..37707f7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,8 +15,8 @@ jobs: if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v5 + - uses: actions/setup-python@v6 with: python-version: 3.13 @@ -45,9 +45,9 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} @@ -76,9 +76,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: 3.13 @@ -87,7 +87,7 @@ jobs: version: "latest" - name: Get coverage files - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: pattern: .coverage* path: coverage From cedc3ad0c1dd4785134fffc19905cb028d4eb563 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 20:20:39 +0000 Subject: [PATCH 5/8] chore(deps): bump the pip group with 2 updates Bumps the pip group with 2 updates: [mypy](https://github.com/python/mypy) and [ruff](https://github.com/astral-sh/ruff). Updates `mypy` from 1.17.1 to 1.18.2 - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/v1.17.1...v1.18.2) Updates `ruff` from 0.12.8 to 0.13.2 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.12.8...0.13.2) --- updated-dependencies: - dependency-name: mypy dependency-version: 1.18.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip - dependency-name: ruff dependency-version: 0.13.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pip ... Signed-off-by: dependabot[bot] --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 36854ba..acf2324 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,8 +78,8 @@ test = [ dev = [ "taskiq-faststream[test]", - "mypy==1.17.1", - "ruff==0.12.8", + "mypy==1.18.2", + "ruff==0.13.2", "pre-commit >=3.6.0,<5.0.0", ] From 6e2ed25e41975a9a8be204b5a1cbddd56a24e9e7 Mon Sep 17 00:00:00 2001 From: Nikita Pastukhov Date: Sat, 11 Oct 2025 14:07:24 +0300 Subject: [PATCH 6/8] FastStream 0.6 support --- .github/workflows/release.yml | 10 ---------- CONTRIBUTING.md | 2 +- README.md | 2 ++ pyproject.toml | 31 ++++++++++++------------------- taskiq_faststream/utils.py | 6 +++++- tests/testcase.py | 4 ++-- 6 files changed, 22 insertions(+), 33 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d3711b6..b87b6dc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,17 +22,8 @@ jobs: uses: actions/setup-python@v5 with: python-version: 3.13 - cache: "pip" - cache-dependency-path: pyproject.toml - - - uses: actions/cache@v4 - id: cache - with: - path: ${{ env.pythonLocation }} - key: ${{ runner.os }}-python-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}-publish - name: Install build dependencies - if: steps.cache.outputs.cache-hit != 'true' run: pip install build - name: Build distribution @@ -41,7 +32,6 @@ jobs: - name: Publish uses: pypa/gh-action-pypi-publish@release/v1 with: - password: ${{ secrets.PYPI_TOKEN }} skip-existing: true - name: Dump GitHub context diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2fbd1e0..751ae25 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,7 +31,7 @@ python -m pip install --upgrade pip After activating the virtual environment as described above, run: ```bash -pip install -e ".[dev]" +pip install --group dev -e . ``` This will install all the dependencies and your local project in your virtual environment. diff --git a/README.md b/README.md index c3789e9..ecf9bc9 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,8 @@ pip install taskiq-faststream[rabbit] # or pip install taskiq-faststream[kafka] # or +pip install taskiq-faststream[confluent] +# or pip install taskiq-faststream[nats] # or pip install taskiq-faststream[redis] diff --git a/pyproject.toml b/pyproject.toml index 5cb62d0..358c6d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "taskiq-faststream" -version = "0.2.1" +version = "0.3.0" description = "FastStream - taskiq integration to schedule FastStream tasks" readme = "README.md" authors = [ @@ -10,7 +10,7 @@ authors = [ keywords = ["taskiq", "tasks", "distributed", "async", "FastStream"] -requires-python = ">=3.9" +requires-python = ">=3.10" classifiers = [ "Development Status :: 5 - Production/Stable", @@ -18,11 +18,11 @@ classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Operating System :: OS Independent", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Libraries", @@ -63,7 +63,7 @@ redis = [ "faststream[redis]" ] -# local dev +[dependency-groups] test = [ "taskiq-faststream[nats]", "taskiq-faststream[rabbit]", @@ -76,31 +76,24 @@ test = [ ] dev = [ - "taskiq-faststream[test]", + {include-group = "test"}, "mypy==1.11.2", "ruff==0.11.8", "pre-commit >=3.6.0,<5.0.0", ] +[build-system] +requires = ["uv_build>=0.9.2"] +build-backend = "uv_build" + +[tool.uv.build-backend] +module-root = "" + [project.urls] Homepage = "https://github.com/taskiq-python/taskiq-faststream" Tracker = "https://github.com/taskiq-python/taskiq-faststream/issues" Source = "https://github.com/taskiq-python/taskiq-faststream" -[tool.hatch.metadata] -allow-direct-references = true -allow-ambiguous-features = true - -[tool.hatch.version] -path = "taskiq_faststream/__about__.py" - -[tool.hatch.build] -skip-excluded-dirs = true -exclude = [ - "/tests", - "/.github", -] - [tool.mypy] python_version = "3.9" strict = true diff --git a/taskiq_faststream/utils.py b/taskiq_faststream/utils.py index ba1cb76..6cf6db2 100644 --- a/taskiq_faststream/utils.py +++ b/taskiq_faststream/utils.py @@ -2,7 +2,11 @@ from fast_depends.utils import is_async_gen_callable, is_gen_callable from faststream.types import SendableMessage -from faststream.utils.functions import to_async + +try: + from faststream.utils.functions import to_async +except ImportError: + from faststream._internal.utils import to_async async def resolve_msg( diff --git a/tests/testcase.py b/tests/testcase.py index c22b7ff..69ab5e2 100644 --- a/tests/testcase.py +++ b/tests/testcase.py @@ -3,8 +3,8 @@ from typing import Any from unittest.mock import MagicMock +import anyio import pytest -from faststream.utils.functions import timeout_scope from taskiq import AsyncBroker, TaskiqScheduler from taskiq.cli.scheduler.args import SchedulerArgs from taskiq.cli.scheduler.run import run_scheduler @@ -62,7 +62,7 @@ async def handler(msg: str) -> None: ), ) - with timeout_scope(3.0, True): + with anyio.fail_after(3.0): await event.wait() mock.assert_called_once_with("Hi!") From 88eb24621d1c23d57eb3ae9afec8472ce7109caa Mon Sep 17 00:00:00 2001 From: Nikita Pastukhov Date: Sat, 11 Oct 2025 14:15:13 +0300 Subject: [PATCH 7/8] ci: use group in uv install --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 37707f7..06dca0d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,7 +24,7 @@ jobs: with: version: "latest" - name: Install Dependencies - run: uv pip install --system ".[dev]" + run: uv pip install --system --group dev . - name: Run formatter shell: bash @@ -55,7 +55,7 @@ jobs: with: version: "latest" - name: Install Dependencies - run: uv pip install --system ".[test]" + run: uv pip install --system --group test . - run: mkdir coverage - name: Test From 26efc629b23baca24db111b25131e4326d8effe3 Mon Sep 17 00:00:00 2001 From: Nikita Pastukhov Date: Sat, 11 Oct 2025 14:19:34 +0300 Subject: [PATCH 8/8] ci: drop python3.9 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 06dca0d..df36856 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -41,7 +41,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13"] fail-fast: false steps: