From b497156aeee4e45f62199ccb05602dd263e139fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cle=CC=81ment=20Doumouro?= Date: Mon, 3 Aug 2026 11:52:23 +0200 Subject: [PATCH 1/2] fix(datashare-python): align pagination with spec --- datashare-python/datashare_python/objects.py | 39 ++++++++------ datashare-python/tests/test_objects.py | 51 ++++++++++++++----- .../extract_worker/activities.py | 6 ++- .../extract-worker/extract_worker/objects.py | 4 +- .../extract-worker/tests/test_activities.py | 2 +- 5 files changed, 68 insertions(+), 34 deletions(-) diff --git a/datashare-python/datashare_python/objects.py b/datashare-python/datashare_python/objects.py index dd3135e3..fd55b8c8 100644 --- a/datashare-python/datashare_python/objects.py +++ b/datashare-python/datashare_python/objects.py @@ -317,13 +317,6 @@ class PaginationType(StrEnum): BYTE_RANGES = "byteRanges" -class BasePagination(DatashareModel, Registrable, ABC): - registry_key: ClassVar[str] = Field(frozen=True, default="type") - - total: int - type: ClassVar[PaginationType] = Field(frozen=True) - - def _validate_pages_range(v: Any) -> None: if not isinstance(v, list): msg = f"expected a list, got {type(v)}" @@ -345,6 +338,11 @@ def _validate_pages_range(v: Any) -> None: PagesRange = Annotated[list[tuple[int, int]], AfterValidator(_validate_pages_range)] +class BasePagination(Registrable, DatashareModel): + registry_key: ClassVar[str] = Field(frozen=True, default="type") + type: ClassVar[PaginationType] = Field(frozen=True) + + @BasePagination.register(PaginationType.FILESYSTEM) class FilesystemPagination(BasePagination): type: ClassVar[PaginationType] = Field( @@ -359,24 +357,33 @@ class ByteRangesPagination(BasePagination): ) byte_ranges: PagesRange + +pagination_discriminator = make_enum_discriminator("type", PaginationType) +Pagination = Annotated[ + tagged_union(BasePagination.__subclasses__(), lambda x: x.type.default), + Discriminator(pagination_discriminator), +] + + +class Pages(DatashareModel): + total: int + pagination: Pagination + @model_validator(mode="after") def byte_ranges_length_should_match_total(self) -> Self: - if len(self.byte_ranges) != self.total: + if ( + isinstance(self.pagination, ByteRangesPagination) + and len(self.pagination.byte_ranges) != self.total + ): + n_pages = len(self.pagination.byte_ranges) msg = ( - f"byte_ranges must match total. Found {len(self.byte_ranges)} for" + f"byte_ranges must match total. Found {n_pages} for" f" byte_ranges and {self.total} for total." ) raise ValueError(msg) return self -pagination_discriminator = make_enum_discriminator("type", PaginationType) -Pagination = Annotated[ - tagged_union(BasePagination.__subclasses__(), lambda x: x.type.default), - Discriminator(pagination_discriminator), -] - - class DocArtifact(BaseModel, ABC): # This object is not used for serde, just as a container, it's OK to allow # arbitrary types (to allow storing BytesIO) diff --git a/datashare-python/tests/test_objects.py b/datashare-python/tests/test_objects.py index 3130592a..e6577146 100644 --- a/datashare-python/tests/test_objects.py +++ b/datashare-python/tests/test_objects.py @@ -7,12 +7,13 @@ from datashare_python.conftest import TEST_PROJECT from datashare_python.constants import TIKA_METADATA_RESOURCENAME from datashare_python.objects import ( - BasePagination, ByteRangesPagination, DatashareLanguage, Document, DocumentLocation, FilesystemDocument, + FilesystemPagination, + Pages, Task, TaskState, ) @@ -99,18 +100,42 @@ def test_invalid_datashare_language_should_raise( type_adapter.validate_python(language) -def test_pagination_serde() -> None: - # Given - pagination = ByteRangesPagination(total=3, byte_ranges=[(0, 1), (1, 2), (2, 3)]) - ta = TypeAdapter(BasePagination) +@pytest.mark.parametrize( + ("pages", "expected_serialized"), + [ + ( + Pages( + pagination=ByteRangesPagination(byte_ranges=[(0, 1), (1, 2), (2, 3)]), + total=3, + ), + { + "pagination": { + "byteRanges": [[0, 1], [1, 2], [2, 3]], + "type": "byteRanges", + }, + "total": 3, + }, + ), + ( + Pages(pagination=FilesystemPagination(), total=3), + {"pagination": {"type": "filesystem"}, "total": 3}, + ), + ], +) +def test_pages_serde(pages: Pages, expected_serialized: dict) -> None: # When - serialized = pagination.model_dump_json(by_alias=True) - deserialized = ta.validate_json(serialized) + serialized = pages.model_dump_json(by_alias=True) + deserialized = Pages.model_validate_json(serialized) # Then - expected_serialized = { - "type": "byteRanges", - "total": 3, - "byteRanges": [[0, 1], [1, 2], [2, 3]], - } assert json.loads(serialized) == expected_serialized - assert deserialized == pagination + assert deserialized == pages + + +def test_pages_validation_should_raise_for_inconsistent_byte_ranges() -> None: + # When + expected = "byte_ranges must match total" + with pytest.raises(ValidationError, match=expected): + Pages( + pagination=ByteRangesPagination(byte_ranges=[(0, 1), (1, 2), (2, 3)]), + total=2, + ) diff --git a/workers/extract-worker/extract_worker/activities.py b/workers/extract-worker/extract_worker/activities.py index b0d78760..e99708eb 100644 --- a/workers/extract-worker/extract_worker/activities.py +++ b/workers/extract-worker/extract_worker/activities.py @@ -13,6 +13,7 @@ ByteRangesPagination, Document, DocumentLocation, + Pages, ) from datashare_python.types_ import AsyncProgressRateHandler from datashare_python.utils import ( @@ -219,8 +220,9 @@ async def extract_markdown_content_act( n_successes_pages += doc.n_pages md_path = output_dir / extract_res.output.path pages = extract_res.output.pages - pages = ByteRangesPagination( - total=pages.total, byte_ranges=pages.byte_ranges + pages = Pages( + total=pages.total, + pagination=ByteRangesPagination(byte_ranges=pages.byte_ranges), ) manifest_entry = manifest_entry_factory(pages=pages) artifact = StructureArtifact( diff --git a/workers/extract-worker/extract_worker/objects.py b/workers/extract-worker/extract_worker/objects.py index c16a4e9f..d3460ac5 100644 --- a/workers/extract-worker/extract_worker/objects.py +++ b/workers/extract-worker/extract_worker/objects.py @@ -2,11 +2,11 @@ from datashare_python.objects import ( ArtifactType, - ByteRangesPagination, DatashareModel, DocArtifact, FilesystemDocument, ManifestEntry, + Pages, TaskArgs, ) from extract_core import ( @@ -47,7 +47,7 @@ class StructureArtifact(DocArtifact): class StructureManifestEntry(ManifestEntry): confidence: float | None = None - pages: ByteRangesPagination + pages: Pages class ProcessingReport(DatashareModel): diff --git a/workers/extract-worker/tests/test_activities.py b/workers/extract-worker/tests/test_activities.py index 88f37175..e60cfd64 100644 --- a/workers/extract-worker/tests/test_activities.py +++ b/workers/extract-worker/tests/test_activities.py @@ -182,7 +182,7 @@ async def test_extract_markdown_content_act( manifest[ArtifactType.STRUCTURE.value] ) assert entry.status is ManifestEntryStatus.COMPLETE - assert entry.pages.byte_ranges + assert entry.pages.pagination.byte_ranges assert entry.pages.total == 2 md_dir = d / "structure" assert md_dir.exists() From 6ea1abff8ce5eab25762baab0d187f86be121c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cle=CC=81ment=20Doumouro?= Date: Mon, 3 Aug 2026 12:03:10 +0200 Subject: [PATCH 2/2] fix: use fixed ruff version --- .github/workflows/test_asr_worker.yml | 3 +- .github/workflows/test_datashare_python.yml | 3 +- .github/workflows/test_doc.yml | 3 +- .github/workflows/test_extract_worker.yml | 3 +- .github/workflows/test_translation_worker.yml | 3 +- .github/workflows/test_worker_template.yml | 3 +- .github/workflows/test_workflows_worker.yml | 3 +- .../datashare_python/cli/worker.py | 2 +- datashare-python/pyproject.toml | 2 +- datashare-python/uv.lock | 54 ++++++------ docs/learn/tasks.md | 1 + docs/src/vectorize_app.py | 8 +- worker-template/tests/test_workflows.py | 2 +- worker-template/uv.dist.lock | 82 ++----------------- worker-template/uv.lock | 4 +- workers/asr-worker/asr_worker/activities.py | 2 +- workers/asr-worker/tests/test_activities.py | 2 +- workers/asr-worker/tests/test_workflows.py | 2 +- workers/asr-worker/uv.lock | 2 +- workers/extract-worker/uv.dist.lock | 2 +- workers/extract-worker/uv.lock | 2 +- .../tests/test_workflows.py | 2 +- .../translation_worker/activities.py | 2 +- workers/translation-worker/uv.lock | 2 +- 24 files changed, 66 insertions(+), 128 deletions(-) diff --git a/.github/workflows/test_asr_worker.yml b/.github/workflows/test_asr_worker.yml index 0519cc22..c95fa3f8 100644 --- a/.github/workflows/test_asr_worker.yml +++ b/.github/workflows/test_asr_worker.yml @@ -14,9 +14,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: astral-sh/ruff-action@v3 + - uses: astral-sh/ruff-action@v4.1.0 with: args: "--version" # skips test by displaying the version + version: "0.16.1" - name: Check formatting run: ruff format --config qa/ruff.toml --check workers/asr-worker - name: Lint test diff --git a/.github/workflows/test_datashare_python.yml b/.github/workflows/test_datashare_python.yml index f8965d37..79c0a20e 100644 --- a/.github/workflows/test_datashare_python.yml +++ b/.github/workflows/test_datashare_python.yml @@ -13,9 +13,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: astral-sh/ruff-action@v3 + - uses: astral-sh/ruff-action@v4.1.0 with: args: "--version" # skips test by displaying the version + version: "0.16.1" - name: Check formatting run: ruff format --config qa/ruff.toml --check datashare-python - name: Lint test diff --git a/.github/workflows/test_doc.yml b/.github/workflows/test_doc.yml index 3864ab8f..087a4cb5 100644 --- a/.github/workflows/test_doc.yml +++ b/.github/workflows/test_doc.yml @@ -13,9 +13,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: astral-sh/ruff-action@v3 + - uses: astral-sh/ruff-action@v4.1.0 with: args: "--version" # skips test by displaying the version + version: "0.16.1" - name: Check formatting run: ruff format --config qa/ruff.toml --check docs - name: Lint test diff --git a/.github/workflows/test_extract_worker.yml b/.github/workflows/test_extract_worker.yml index d820caec..4b587a76 100644 --- a/.github/workflows/test_extract_worker.yml +++ b/.github/workflows/test_extract_worker.yml @@ -14,9 +14,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: astral-sh/ruff-action@v3 + - uses: astral-sh/ruff-action@v4.1.0 with: args: "--version" # skips test by displaying the version + version: "0.16.1" - name: Check formatting run: ruff format --config qa/ruff.toml --check workers/extract-worker - name: Lint test diff --git a/.github/workflows/test_translation_worker.yml b/.github/workflows/test_translation_worker.yml index 103fde12..fb7286e0 100644 --- a/.github/workflows/test_translation_worker.yml +++ b/.github/workflows/test_translation_worker.yml @@ -14,9 +14,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: astral-sh/ruff-action@v3 + - uses: astral-sh/ruff-action@v4.1.0 with: args: "--version" # skips test by displaying the version + version: "0.16.1" - name: Check formatting run: ruff format --config qa/ruff.toml --check workers/translation-worker - name: Lint test diff --git a/.github/workflows/test_worker_template.yml b/.github/workflows/test_worker_template.yml index fea0d414..3b0cd248 100644 --- a/.github/workflows/test_worker_template.yml +++ b/.github/workflows/test_worker_template.yml @@ -14,9 +14,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: astral-sh/ruff-action@v3 + - uses: astral-sh/ruff-action@v4.1.0 with: args: "--version" # skips test by displaying the version + version: "0.16.1" - name: Check formatting run: ruff format --config qa/ruff.toml --check worker-template - name: Lint test diff --git a/.github/workflows/test_workflows_worker.yml b/.github/workflows/test_workflows_worker.yml index 7f658aff..54e009e8 100644 --- a/.github/workflows/test_workflows_worker.yml +++ b/.github/workflows/test_workflows_worker.yml @@ -16,9 +16,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - uses: astral-sh/ruff-action@v3 + - uses: astral-sh/ruff-action@v4.1.0 with: args: "--version" # skips test by displaying the version + version: "0.16.1" - name: Check formatting run: ruff format --config qa/ruff.toml --check workers/workflows-worker - name: Lint test diff --git a/datashare-python/datashare_python/cli/worker.py b/datashare-python/datashare_python/cli/worker.py index a4224a0b..984e1b9f 100644 --- a/datashare-python/datashare_python/cli/worker.py +++ b/datashare-python/datashare_python/cli/worker.py @@ -78,7 +78,7 @@ async def list_activities( @worker_app.async_command(help=_START_WORKER_HELP) -async def start( +async def start( # noqa: PLR0917 queue: Annotated[str, typer.Option("--queue", "-q", help=_WORKER_QUEUE_HELP)], workflows: Annotated[ list[str] | None, diff --git a/datashare-python/pyproject.toml b/datashare-python/pyproject.toml index 0ff11c01..9c920310 100644 --- a/datashare-python/pyproject.toml +++ b/datashare-python/pyproject.toml @@ -72,7 +72,7 @@ dev = [ "pytest~=8.1", "pytest-asyncio~=0.24", "redis[hiredis]~=5.2.1", - "ruff==0.15.2", + "ruff==0.16.1", "typing-extensions~=4.15.0", ] diff --git a/datashare-python/uv.lock b/datashare-python/uv.lock index 3956200b..4c23b0b8 100644 --- a/datashare-python/uv.lock +++ b/datashare-python/uv.lock @@ -440,7 +440,7 @@ wheels = [ [[package]] name = "datashare-python" -version = "0.9.5" +version = "0.9.9" source = { editable = "." } dependencies = [ { name = "aiohttp" }, @@ -477,7 +477,7 @@ requires-dist = [ { name = "aiohttp", specifier = "~=3.11" }, { name = "alive-progress", specifier = "~=3.2" }, { name = "hatchling", specifier = "~=1.27" }, - { name = "icij-common", extras = ["elasticsearch"], specifier = "~=0.8.2" }, + { name = "icij-common", extras = ["elasticsearch"], specifier = "~=0.8.3" }, { name = "langcodes", specifier = "~=3.5" }, { name = "lru-dict", specifier = "~=1.4" }, { name = "pydantic-extra-types", extras = ["pycountry"], specifier = ">=2.11.1" }, @@ -499,7 +499,7 @@ dev = [ { name = "pytest", specifier = "~=8.1" }, { name = "pytest-asyncio", specifier = "~=0.24" }, { name = "redis", extras = ["hiredis"], specifier = "~=5.2.1" }, - { name = "ruff", specifier = "==0.15.2" }, + { name = "ruff", specifier = "==0.16.1" }, { name = "typing-extensions", specifier = "~=4.15.0" }, ] @@ -913,16 +913,16 @@ wheels = [ [[package]] name = "icij-common" -version = "0.8.2" +version = "0.8.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiostream" }, { name = "pydantic" }, { name = "pydantic-settings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e0/51/91d85cc23e275bb51a5cae47873af9a7160f62797b25663d902cf38e6ab7/icij_common-0.8.2.tar.gz", hash = "sha256:7db68266d8facb43142131d81e998cd74c6ae73508456743e00df43a15cc2995", size = 15937, upload-time = "2026-04-07T12:13:39.774Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/8d/4b2b9bb7dcac24d8bf514ccf2da6465ca3cd9b4c4f4bde0a1c97e681d595/icij_common-0.8.3.tar.gz", hash = "sha256:009dda7c1d688ecf7705cf88517deb3d0abe02300b42c8c433eb36516462fe75", size = 16161, upload-time = "2026-07-03T09:43:50.837Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/15/5a/99d123230023124ba4ec67765feb2a04b656ae1f473a14f6b29cc54b02bf/icij_common-0.8.2-py3-none-any.whl", hash = "sha256:c5a1a3ccd54e7bf53acad293a0af50ab15156b225791b43383197b896bae955f", size = 20565, upload-time = "2026-04-07T12:13:38.709Z" }, + { url = "https://files.pythonhosted.org/packages/1c/8e/99879d623fdf4e2371e44135dcf690d7f43b921616e4c918633fe4cece48/icij_common-0.8.3-py3-none-any.whl", hash = "sha256:5214cbb73dca364cca16005f5fac3c2f3944acab6dea269a68d26f631e39a348", size = 21030, upload-time = "2026-07-03T09:43:49.934Z" }, ] [package.optional-dependencies] @@ -2473,27 +2473,27 @@ wheels = [ [[package]] name = "ruff" -version = "0.15.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/06/04/eab13a954e763b0606f460443fcbf6bb5a0faf06890ea3754ff16523dce5/ruff-0.15.2.tar.gz", hash = "sha256:14b965afee0969e68bb871eba625343b8673375f457af4abe98553e8bbb98342", size = 4558148, upload-time = "2026-02-19T22:32:20.271Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/70/3a4dc6d09b13cb3e695f28307e5d889b2e1a66b7af9c5e257e796695b0e6/ruff-0.15.2-py3-none-linux_armv6l.whl", hash = "sha256:120691a6fdae2f16d65435648160f5b81a9625288f75544dc40637436b5d3c0d", size = 10430565, upload-time = "2026-02-19T22:32:41.824Z" }, - { url = "https://files.pythonhosted.org/packages/71/0b/bb8457b56185ece1305c666dc895832946d24055be90692381c31d57466d/ruff-0.15.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:a89056d831256099658b6bba4037ac6dd06f49d194199215befe2bb10457ea5e", size = 10820354, upload-time = "2026-02-19T22:32:07.366Z" }, - { url = "https://files.pythonhosted.org/packages/2d/c1/e0532d7f9c9e0b14c46f61b14afd563298b8b83f337b6789ddd987e46121/ruff-0.15.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e36dee3a64be0ebd23c86ffa3aa3fd3ac9a712ff295e192243f814a830b6bd87", size = 10170767, upload-time = "2026-02-19T22:32:13.188Z" }, - { url = "https://files.pythonhosted.org/packages/47/e8/da1aa341d3af017a21c7a62fb5ec31d4e7ad0a93ab80e3a508316efbcb23/ruff-0.15.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9fb47b6d9764677f8c0a193c0943ce9a05d6763523f132325af8a858eadc2b9", size = 10529591, upload-time = "2026-02-19T22:32:02.547Z" }, - { url = "https://files.pythonhosted.org/packages/93/74/184fbf38e9f3510231fbc5e437e808f0b48c42d1df9434b208821efcd8d6/ruff-0.15.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f376990f9d0d6442ea9014b19621d8f2aaf2b8e39fdbfc79220b7f0c596c9b80", size = 10260771, upload-time = "2026-02-19T22:32:36.938Z" }, - { url = "https://files.pythonhosted.org/packages/05/ac/605c20b8e059a0bc4b42360414baa4892ff278cec1c91fff4be0dceedefd/ruff-0.15.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2dcc987551952d73cbf5c88d9fdee815618d497e4df86cd4c4824cc59d5dd75f", size = 11045791, upload-time = "2026-02-19T22:32:31.642Z" }, - { url = "https://files.pythonhosted.org/packages/fd/52/db6e419908f45a894924d410ac77d64bdd98ff86901d833364251bd08e22/ruff-0.15.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42a47fd785cbe8c01b9ff45031af875d101b040ad8f4de7bbb716487c74c9a77", size = 11879271, upload-time = "2026-02-19T22:32:29.305Z" }, - { url = "https://files.pythonhosted.org/packages/3e/d8/7992b18f2008bdc9231d0f10b16df7dda964dbf639e2b8b4c1b4e91b83af/ruff-0.15.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbe9f49354866e575b4c6943856989f966421870e85cd2ac94dccb0a9dcb2fea", size = 11303707, upload-time = "2026-02-19T22:32:22.492Z" }, - { url = "https://files.pythonhosted.org/packages/d7/02/849b46184bcfdd4b64cde61752cc9a146c54759ed036edd11857e9b8443b/ruff-0.15.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7a672c82b5f9887576087d97be5ce439f04bbaf548ee987b92d3a7dede41d3a", size = 11149151, upload-time = "2026-02-19T22:32:44.234Z" }, - { url = "https://files.pythonhosted.org/packages/70/04/f5284e388bab60d1d3b99614a5a9aeb03e0f333847e2429bebd2aaa1feec/ruff-0.15.2-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:72ecc64f46f7019e2bcc3cdc05d4a7da958b629a5ab7033195e11a438403d956", size = 11091132, upload-time = "2026-02-19T22:32:24.691Z" }, - { url = "https://files.pythonhosted.org/packages/fa/ae/88d844a21110e14d92cf73d57363fab59b727ebeabe78009b9ccb23500af/ruff-0.15.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:8dcf243b15b561c655c1ef2f2b0050e5d50db37fe90115507f6ff37d865dc8b4", size = 10504717, upload-time = "2026-02-19T22:32:26.75Z" }, - { url = "https://files.pythonhosted.org/packages/64/27/867076a6ada7f2b9c8292884ab44d08fd2ba71bd2b5364d4136f3cd537e1/ruff-0.15.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:dab6941c862c05739774677c6273166d2510d254dac0695c0e3f5efa1b5585de", size = 10263122, upload-time = "2026-02-19T22:32:10.036Z" }, - { url = "https://files.pythonhosted.org/packages/e7/ef/faf9321d550f8ebf0c6373696e70d1758e20ccdc3951ad7af00c0956be7c/ruff-0.15.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:1b9164f57fc36058e9a6806eb92af185b0697c9fe4c7c52caa431c6554521e5c", size = 10735295, upload-time = "2026-02-19T22:32:39.227Z" }, - { url = "https://files.pythonhosted.org/packages/2f/55/e8089fec62e050ba84d71b70e7834b97709ca9b7aba10c1a0b196e493f97/ruff-0.15.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:80d24fcae24d42659db7e335b9e1531697a7102c19185b8dc4a028b952865fd8", size = 11241641, upload-time = "2026-02-19T22:32:34.617Z" }, - { url = "https://files.pythonhosted.org/packages/23/01/1c30526460f4d23222d0fabd5888868262fd0e2b71a00570ca26483cd993/ruff-0.15.2-py3-none-win32.whl", hash = "sha256:fd5ff9e5f519a7e1bd99cbe8daa324010a74f5e2ebc97c6242c08f26f3714f6f", size = 10507885, upload-time = "2026-02-19T22:32:15.635Z" }, - { url = "https://files.pythonhosted.org/packages/5c/10/3d18e3bbdf8fc50bbb4ac3cc45970aa5a9753c5cb51bf9ed9a3cd8b79fa3/ruff-0.15.2-py3-none-win_amd64.whl", hash = "sha256:d20014e3dfa400f3ff84830dfb5755ece2de45ab62ecea4af6b7262d0fb4f7c5", size = 11623725, upload-time = "2026-02-19T22:32:04.947Z" }, - { url = "https://files.pythonhosted.org/packages/6d/78/097c0798b1dab9f8affe73da9642bb4500e098cb27fd8dc9724816ac747b/ruff-0.15.2-py3-none-win_arm64.whl", hash = "sha256:cabddc5822acdc8f7b5527b36ceac55cc51eec7b1946e60181de8fe83ca8876e", size = 10941649, upload-time = "2026-02-19T22:32:18.108Z" }, +version = "0.16.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/25/7113f6d5498888c5fb7db34081cba7d5971c4cb1bfb26819966eee68f003/ruff-0.16.1.tar.gz", hash = "sha256:fedad7c801dabd3fb9741d76aca39246e6ddd9ca446a015875207bf19f1e6bc7", size = 4877500, upload-time = "2026-07-30T19:37:01.379Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/bd/694da69368e0973de65df2ddc73ab18d43c469d5963d9b150911de6bc513/ruff-0.16.1-py3-none-linux_armv6l.whl", hash = "sha256:58edb313b88f0c5460a26adf5f39a37a3be789494a15e3e411e35fa78b89f9a0", size = 10839126, upload-time = "2026-07-30T19:36:13.697Z" }, + { url = "https://files.pythonhosted.org/packages/3f/f0/b626e5d5bd0dd9576263658ef12885e2288afd1029a48e26ffed65ec1ac1/ruff-0.16.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:fde5a99e2f97479af66edd6622c6d5a2a7592c77cf4153d9e4428f5eeb55b60c", size = 11070253, upload-time = "2026-07-30T19:36:17.14Z" }, + { url = "https://files.pythonhosted.org/packages/83/63/f40acfb6b35b88623e71684942b552c3edd96035f5d98f313815f7b277de/ruff-0.16.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e0d4c20532fca4f7fa609369161d968dd28f65d83dabbd61d8e9c7edbf7001f6", size = 10561425, upload-time = "2026-07-30T19:36:20.04Z" }, + { url = "https://files.pythonhosted.org/packages/aa/dd/14ec0e9c2b4d315547dd38765004b4863e354e1b52cb308272215d9f6f6d/ruff-0.16.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30affbcedf59ad5703d9c91f82266e02b47739f797e1a7b6e158e5526a6dae38", size = 10948879, upload-time = "2026-07-30T19:36:22.476Z" }, + { url = "https://files.pythonhosted.org/packages/33/e9/9d870cbae575030fdef595f04b4b97573c525b5497cce4f4498cf2f85446/ruff-0.16.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:24e9c631573cbca9d20f1283f8f479b2afa4a8503504822bd71a293889f16743", size = 10643691, upload-time = "2026-07-30T19:36:24.914Z" }, + { url = "https://files.pythonhosted.org/packages/c4/09/12743d544e2173f53ecd27217c65f90d2bc0f8424a66a60339e56bbc0457/ruff-0.16.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b41bdd48fb420987a9b5212e4957c26ad4abce401fa9ea9d4d85843727945f4f", size = 11435354, upload-time = "2026-07-30T19:36:28.447Z" }, + { url = "https://files.pythonhosted.org/packages/7f/89/a1652b2daee52083c9554a6333b678a8b01d0400f976827bb87857f9449a/ruff-0.16.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b0d1e1393b7648079e13669de1c1f4fde06d4583e84d8fd5c1551e0a77a2aa75", size = 12259033, upload-time = "2026-07-30T19:36:31.326Z" }, + { url = "https://files.pythonhosted.org/packages/16/96/ecdcb8c54ee7b123b487f807eb014e6e019155a0b81dfb669acd52f28ce3/ruff-0.16.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:07bf434b1c95f4e093be4532068ef4fcf00924eb2ade8796075980902d6fd54a", size = 11667981, upload-time = "2026-07-30T19:36:34.394Z" }, + { url = "https://files.pythonhosted.org/packages/cd/90/c52e12e0d862e9572f2a33aa227409143520abe53111e9a6babbac7b4af8/ruff-0.16.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39897739f112253ee4fdd2e8aa9a4f9ded99fb2be367d5f31dfa4ded6025584c", size = 11468183, upload-time = "2026-07-30T19:36:37.339Z" }, + { url = "https://files.pythonhosted.org/packages/2c/6b/4ffb7ad1d83eb16cf8cbb3c8815d3f11c88460fd162d4b372a2059be1c2a/ruff-0.16.1-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:82ae3c0c0d74daf17b968a10b7b3bb3ef297ab7de0c1f749646b25e690ccb150", size = 11470071, upload-time = "2026-07-30T19:36:39.91Z" }, + { url = "https://files.pythonhosted.org/packages/9c/72/32ae7db4c0b5e32ab611787caa19d1546800676d79f7483b7100a3561bf4/ruff-0.16.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:4d5f2ed10f8242d83fc08d521301089364e3375375705356f20c0e31606ef3ef", size = 10919503, upload-time = "2026-07-30T19:36:42.65Z" }, + { url = "https://files.pythonhosted.org/packages/f7/ca/3d901ba6ad6fc38da39c3448fc6c59ac945679293a17c3ceb6d6c1cba13e/ruff-0.16.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a4665b309891f83f3e3c25447935f1213e9abbd4b5640af7a1f2def9f8d413c1", size = 10649861, upload-time = "2026-07-30T19:36:45.18Z" }, + { url = "https://files.pythonhosted.org/packages/92/79/894ef1ced26552d5f8c9cf6d85b0687840e1128c55aeab7b9c2d54a0d880/ruff-0.16.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:26e9ca5c9bc3971f20d3cf18a957f52ffd6a5f6564ff15c4912a144dcac22494", size = 11148137, upload-time = "2026-07-30T19:36:47.936Z" }, + { url = "https://files.pythonhosted.org/packages/2d/69/3609a09fa1cb46cc28b762363e440a354204e5dff01bd0c8d7437874d6b9/ruff-0.16.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:67e1e1e3fa4f0c82f0e36d4cd61e661f6e7a6196cb1aa92fe0828fa7b8f257cd", size = 11559211, upload-time = "2026-07-30T19:36:50.448Z" }, + { url = "https://files.pythonhosted.org/packages/fc/8a/fb22af2fd78a736e241fabf67e30ce1799a64244026377a49e133af90762/ruff-0.16.1-py3-none-win32.whl", hash = "sha256:d31765e131295b8445caf301e3e8a85b34d1b9b211b4109b7ba457888b051806", size = 10838258, upload-time = "2026-07-30T19:36:53.298Z" }, + { url = "https://files.pythonhosted.org/packages/d4/35/e57fd9fb5d423961df087a00b12d42c0a830288dc2f3b45ecca299158b4f/ruff-0.16.1-py3-none-win_amd64.whl", hash = "sha256:09b05e8b90c2cb06ad63464350e7a45e8e44a2dfe52072ebfba6666ca8d3f596", size = 11961111, upload-time = "2026-07-30T19:36:56.107Z" }, + { url = "https://files.pythonhosted.org/packages/cb/46/240ea004bf6dc4feb40e9832f2205a476a47dd5b8a3f8211a5fc5f95e20e/ruff-0.16.1-py3-none-win_arm64.whl", hash = "sha256:dbaadaac38c70239f056d306b7476f246b0bf000fa6b3876402acbf5b227eaf8", size = 11309414, upload-time = "2026-07-30T19:36:58.79Z" }, ] [[package]] diff --git a/docs/learn/tasks.md b/docs/learn/tasks.md index 8408a05d..bcacce98 100644 --- a/docs/learn/tasks.md +++ b/docs/learn/tasks.md @@ -86,6 +86,7 @@ The `progress` **argument name is reserved** and `icij-worker` will automaticall ```python hl_lines="4" from icij_worker.typing_ import RateProgress + @app.task(name="hello_user_progress") async def hello_user_progress(user: str | None, progress: RateProgress) -> str: greeting = "Hello " diff --git a/docs/src/vectorize_app.py b/docs/src/vectorize_app.py index 26eeb416..6d7fe1f3 100644 --- a/docs/src/vectorize_app.py +++ b/docs/src/vectorize_app.py @@ -67,7 +67,7 @@ async def create_translation_tasks( @app.task(group=PYTHON_TASK_GROUP) -async def translate_docs( +async def translate_docs( # noqa: PLR0917 docs: list[str], project: str, target_language: str, @@ -82,13 +82,13 @@ async def translate_docs( @app.task(group=PYTHON_TASK_GROUP) -async def create_classification_tasks( +async def create_classification_tasks( # noqa: PLR0917 project: str, language: str, n_workers: int, progress: PercentProgress, config: dict | None = None, - user: dict | None = None, # noqa: ARG001 + user: dict | None = None, # noqa: ARG001, ) -> list[str]: config = TypeAdapter(Optional[ClassificationConfig]).validate_python(config) # noqa: UP045 return await create_classification_tasks_( @@ -101,7 +101,7 @@ async def create_classification_tasks( @app.task(group=PYTHON_TASK_GROUP) -async def classify_docs( +async def classify_docs( # noqa: PLR0917 docs: list[str], language: str, project: str, diff --git a/worker-template/tests/test_workflows.py b/worker-template/tests/test_workflows.py index 53fe3ceb..29f03e7e 100644 --- a/worker-template/tests/test_workflows.py +++ b/worker-template/tests/test_workflows.py @@ -73,7 +73,7 @@ async def test_ping_e2e( @pytest.mark.e2e -async def test_translate_and_classify_workflow_e2e( +async def test_translate_and_classify_workflow_e2e( # noqa: PLR0917 test_temporal_client_session: TemporalClient, populate_es: list[Document], # noqa: ARG001 test_es_client: ESClient, diff --git a/worker-template/uv.dist.lock b/worker-template/uv.dist.lock index c36f93ed..c124f4c0 100644 --- a/worker-template/uv.dist.lock +++ b/worker-template/uv.dist.lock @@ -307,7 +307,7 @@ wheels = [ [[package]] name = "datashare-python" -version = "0.9.5" +version = "0.9.8" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohttp" }, @@ -316,8 +316,6 @@ dependencies = [ { name = "icij-common", extra = ["elasticsearch"] }, { name = "langcodes" }, { name = "lru-dict" }, - { name = "nest-asyncio" }, - { name = "orjson" }, { name = "pydantic-extra-types", extra = ["pycountry"] }, { name = "python-json-logger" }, { name = "pyyaml" }, @@ -325,9 +323,9 @@ dependencies = [ { name = "tomlkit" }, { name = "typer" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cc/6a/cb3c7c3073573c6ad0cf56cd6c6b6c97dbd1dbd6392ec0314e78865c9dee/datashare_python-0.9.5.tar.gz", hash = "sha256:9ff757584b46bf95af74a1c890734d3233f02f54724806ec9b346a04c39e311a", size = 320645, upload-time = "2026-06-23T12:11:01.145Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9f/3c/a8d28a86627a8967d65070500ed1999434aa556b918c32c0029e9d3a998a/datashare_python-0.9.8.tar.gz", hash = "sha256:8b8a56780446827b77032d4eed402c9733a8399df6f301322d2577fdb19255c9", size = 320930, upload-time = "2026-07-02T08:08:16.289Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/27/826ac48804b0bda7a35260fdc925ff25fda3fcc527da32c4c484461ed8d2/datashare_python-0.9.5-py3-none-any.whl", hash = "sha256:c1dce1b981342dc9a3e80d3bfd3246d4e774d55c116a37321e31ac2b39d4ae08", size = 326631, upload-time = "2026-06-23T12:10:59.749Z" }, + { url = "https://files.pythonhosted.org/packages/71/2f/7f7f6aa1f670b3ab7d6cd6bc862ced5a2e499a14fe35a8a6629f6e0b2c98/datashare_python-0.9.8-py3-none-any.whl", hash = "sha256:ec3595ffb45e7eb45f0556813be0f278a7c779584579dab435eb88ff05703734", size = 327002, upload-time = "2026-07-02T08:08:14.688Z" }, ] [[package]] @@ -617,16 +615,16 @@ wheels = [ [[package]] name = "icij-common" -version = "0.8.2" +version = "0.8.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiostream" }, { name = "pydantic" }, { name = "pydantic-settings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e0/51/91d85cc23e275bb51a5cae47873af9a7160f62797b25663d902cf38e6ab7/icij_common-0.8.2.tar.gz", hash = "sha256:7db68266d8facb43142131d81e998cd74c6ae73508456743e00df43a15cc2995", size = 15937, upload-time = "2026-04-07T12:13:39.774Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/8d/4b2b9bb7dcac24d8bf514ccf2da6465ca3cd9b4c4f4bde0a1c97e681d595/icij_common-0.8.3.tar.gz", hash = "sha256:009dda7c1d688ecf7705cf88517deb3d0abe02300b42c8c433eb36516462fe75", size = 16161, upload-time = "2026-07-03T09:43:50.837Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/15/5a/99d123230023124ba4ec67765feb2a04b656ae1f473a14f6b29cc54b02bf/icij_common-0.8.2-py3-none-any.whl", hash = "sha256:c5a1a3ccd54e7bf53acad293a0af50ab15156b225791b43383197b896bae955f", size = 20565, upload-time = "2026-04-07T12:13:38.709Z" }, + { url = "https://files.pythonhosted.org/packages/1c/8e/99879d623fdf4e2371e44135dcf690d7f43b921616e4c918633fe4cece48/icij_common-0.8.3-py3-none-any.whl", hash = "sha256:5214cbb73dca364cca16005f5fac3c2f3944acab6dea269a68d26f631e39a348", size = 21030, upload-time = "2026-07-03T09:43:49.934Z" }, ] [package.optional-dependencies] @@ -1125,74 +1123,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/de/e5/b7d20451657664b07986c2f6e3be564433f5dcaf3482d68eaecd79afaf03/numpy-2.4.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:be71bf1edb48ebbbf7f6337b5bfd2f895d1902f6335a5830b20141fc126ffba0", size = 12502577, upload-time = "2026-01-31T23:13:07.08Z" }, ] -[[package]] -name = "orjson" -version = "3.11.8" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9d/1b/2024d06792d0779f9dbc51531b61c24f76c75b9f4ce05e6f3377a1814cea/orjson-3.11.8.tar.gz", hash = "sha256:96163d9cdc5a202703e9ad1b9ae757d5f0ca62f4fa0cc93d1f27b0e180cc404e", size = 5603832, upload-time = "2026-03-31T16:16:27.878Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/67/41/5aa7fa3b0f4dc6b47dcafc3cea909299c37e40e9972feabc8b6a74e2730d/orjson-3.11.8-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:003646067cc48b7fcab2ae0c562491c9b5d2cbd43f1e5f16d98fd118c5522d34", size = 229229, upload-time = "2026-03-31T16:14:50.424Z" }, - { url = "https://files.pythonhosted.org/packages/0a/d7/57e7f2458e0a2c41694f39fc830030a13053a84f837a5b73423dca1f0938/orjson-3.11.8-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:ed193ce51d77a3830cad399a529cd4ef029968761f43ddc549e1bc62b40d88f8", size = 128871, upload-time = "2026-03-31T16:14:51.888Z" }, - { url = "https://files.pythonhosted.org/packages/53/4a/e0fdb9430983e6c46e0299559275025075568aad5d21dd606faee3703924/orjson-3.11.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30491bc4f862aa15744b9738517454f1e46e56c972a2be87d70d727d5b2a8f8", size = 132104, upload-time = "2026-03-31T16:14:53.142Z" }, - { url = "https://files.pythonhosted.org/packages/08/4a/2025a60ff3f5c8522060cda46612d9b1efa653de66ed2908591d8d82f22d/orjson-3.11.8-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6eda5b8b6be91d3f26efb7dc6e5e68ee805bc5617f65a328587b35255f138bf4", size = 130483, upload-time = "2026-03-31T16:14:54.605Z" }, - { url = "https://files.pythonhosted.org/packages/2d/3c/b9cde05bdc7b2385c66014e0620627da638d3d04e4954416ab48c31196c5/orjson-3.11.8-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee8db7bfb6fe03581bbab54d7c4124a6dd6a7f4273a38f7267197890f094675f", size = 135481, upload-time = "2026-03-31T16:14:55.901Z" }, - { url = "https://files.pythonhosted.org/packages/ff/f2/a8238e7734de7cb589fed319857a8025d509c89dc52fdcc88f39c6d03d5a/orjson-3.11.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d8b5231de76c528a46b57010bbd83fb51e056aa0220a372fd5065e978406f1c", size = 146819, upload-time = "2026-03-31T16:14:57.548Z" }, - { url = "https://files.pythonhosted.org/packages/db/10/dbf1e2a3cafea673b1b4350e371877b759060d6018a998643b7040e5de48/orjson-3.11.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:58a4a208a6fbfdb7a7327b8f201c6014f189f721fd55d047cafc4157af1bc62a", size = 132846, upload-time = "2026-03-31T16:14:58.91Z" }, - { url = "https://files.pythonhosted.org/packages/f8/fc/55e667ec9c85694038fcff00573d221b085d50777368ee3d77f38668bf3c/orjson-3.11.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f8952d6d2505c003e8f0224ff7858d341fa4e33fef82b91c4ff0ef070f2393c", size = 133580, upload-time = "2026-03-31T16:15:00.519Z" }, - { url = "https://files.pythonhosted.org/packages/7e/a6/c08c589a9aad0cb46c4831d17de212a2b6901f9d976814321ff8e69e8785/orjson-3.11.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0022bb50f90da04b009ce32c512dc1885910daa7cb10b7b0cba4505b16db82a8", size = 142042, upload-time = "2026-03-31T16:15:01.906Z" }, - { url = "https://files.pythonhosted.org/packages/5c/cc/2f78ea241d52b717d2efc38878615fe80425bf2beb6e68c984dde257a766/orjson-3.11.8-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:ff51f9d657d1afb6f410cb435792ce4e1fe427aab23d2fcd727a2876e21d4cb6", size = 423845, upload-time = "2026-03-31T16:15:03.703Z" }, - { url = "https://files.pythonhosted.org/packages/70/07/c17dcf05dd8045457538428a983bf1f1127928df5bf328cb24d2b7cddacb/orjson-3.11.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6dbe9a97bdb4d8d9d5367b52a7c32549bba70b2739c58ef74a6964a6d05ae054", size = 147729, upload-time = "2026-03-31T16:15:05.203Z" }, - { url = "https://files.pythonhosted.org/packages/90/6c/0fb6e8a24e682e0958d71711ae6f39110e4b9cd8cab1357e2a89cb8e1951/orjson-3.11.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a5c370674ebabe16c6ccac33ff80c62bf8a6e59439f5e9d40c1f5ab8fd2215b7", size = 136425, upload-time = "2026-03-31T16:15:07.052Z" }, - { url = "https://files.pythonhosted.org/packages/b2/35/4d3cc3a3d616035beb51b24a09bb872942dc452cf2df0c1d11ab35046d9f/orjson-3.11.8-cp311-cp311-win32.whl", hash = "sha256:0e32f7154299f42ae66f13488963269e5eccb8d588a65bc839ed986919fc9fac", size = 131870, upload-time = "2026-03-31T16:15:08.678Z" }, - { url = "https://files.pythonhosted.org/packages/13/26/9fe70f81d16b702f8c3a775e8731b50ad91d22dacd14c7599b60a0941cd1/orjson-3.11.8-cp311-cp311-win_amd64.whl", hash = "sha256:25e0c672a2e32348d2eb33057b41e754091f2835f87222e4675b796b92264f06", size = 127440, upload-time = "2026-03-31T16:15:09.994Z" }, - { url = "https://files.pythonhosted.org/packages/e8/c6/b038339f4145efd2859c1ca53097a52c0bb9cbdd24f947ebe146da1ad067/orjson-3.11.8-cp311-cp311-win_arm64.whl", hash = "sha256:9185589c1f2a944c17e26c9925dcdbc2df061cc4a145395c57f0c51f9b5dbfcd", size = 127399, upload-time = "2026-03-31T16:15:11.412Z" }, - { url = "https://files.pythonhosted.org/packages/01/f6/8d58b32ab32d9215973a1688aebd098252ee8af1766c0e4e36e7831f0295/orjson-3.11.8-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:1cd0b77e77c95758f8e1100139844e99f3ccc87e71e6fc8e1c027e55807c549f", size = 229233, upload-time = "2026-03-31T16:15:12.762Z" }, - { url = "https://files.pythonhosted.org/packages/a9/8b/2ffe35e71f6b92622e8ea4607bf33ecf7dfb51b3619dcfabfd36cbe2d0a5/orjson-3.11.8-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:6a3d159d5ffa0e3961f353c4b036540996bf8b9697ccc38261c0eac1fd3347a6", size = 128772, upload-time = "2026-03-31T16:15:14.237Z" }, - { url = "https://files.pythonhosted.org/packages/27/d2/1f8682ae50d5c6897a563cb96bc106da8c9cb5b7b6e81a52e4cc086679b9/orjson-3.11.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76070a76e9c5ae661e2d9848f216980d8d533e0f8143e6ed462807b242e3c5e8", size = 131946, upload-time = "2026-03-31T16:15:15.607Z" }, - { url = "https://files.pythonhosted.org/packages/52/4b/5500f76f0eece84226e0689cb48dcde081104c2fa6e2483d17ca13685ffb/orjson-3.11.8-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:54153d21520a71a4c82a0dbb4523e468941d549d221dc173de0f019678cf3813", size = 130368, upload-time = "2026-03-31T16:15:17.066Z" }, - { url = "https://files.pythonhosted.org/packages/da/4e/58b927e08fbe9840e6c920d9e299b051ea667463b1f39a56e668669f8508/orjson-3.11.8-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:469ac2125611b7c5741a0b3798cd9e5786cbad6345f9f400c77212be89563bec", size = 135540, upload-time = "2026-03-31T16:15:18.404Z" }, - { url = "https://files.pythonhosted.org/packages/56/7c/ba7cb871cba1bcd5cd02ee34f98d894c6cea96353ad87466e5aef2429c60/orjson-3.11.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:14778ffd0f6896aa613951a7fbf4690229aa7a543cb2bfbe9f358e08aafa9546", size = 146877, upload-time = "2026-03-31T16:15:19.833Z" }, - { url = "https://files.pythonhosted.org/packages/0b/5d/eb9c25fc1386696c6a342cd361c306452c75e0b55e86ad602dd4827a7fd7/orjson-3.11.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea56a955056a6d6c550cf18b3348656a9d9a4f02e2d0c02cabf3c73f1055d506", size = 132837, upload-time = "2026-03-31T16:15:21.282Z" }, - { url = "https://files.pythonhosted.org/packages/37/87/5ddeb7fc1fbd9004aeccab08426f34c81a5b4c25c7061281862b015fce2b/orjson-3.11.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53a0f57e59a530d18a142f4d4ba6dfc708dc5fdedce45e98ff06b44930a2a48f", size = 133624, upload-time = "2026-03-31T16:15:22.641Z" }, - { url = "https://files.pythonhosted.org/packages/22/09/90048793db94ee4b2fcec4ac8e5ddb077367637d6650be896b3494b79bb7/orjson-3.11.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9b48e274f8824567d74e2158199e269597edf00823a1b12b63d48462bbf5123e", size = 141904, upload-time = "2026-03-31T16:15:24.435Z" }, - { url = "https://files.pythonhosted.org/packages/c0/cf/eb284847487821a5d415e54149a6449ba9bfc5872ce63ab7be41b8ec401c/orjson-3.11.8-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3f262401086a3960586af06c054609365e98407151f5ea24a62893a40d80dbbb", size = 423742, upload-time = "2026-03-31T16:15:26.155Z" }, - { url = "https://files.pythonhosted.org/packages/44/09/e12423d327071c851c13e76936f144a96adacfc037394dec35ac3fc8d1e8/orjson-3.11.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:8e8c6218b614badf8e229b697865df4301afa74b791b6c9ade01d19a9953a942", size = 147806, upload-time = "2026-03-31T16:15:27.909Z" }, - { url = "https://files.pythonhosted.org/packages/b3/6d/37c2589ba864e582ffe7611643314785c6afb1f83c701654ef05daa8fcc7/orjson-3.11.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:093d489fa039ddade2db541097dbb484999fcc65fc2b0ff9819141e2ab364f25", size = 136485, upload-time = "2026-03-31T16:15:29.749Z" }, - { url = "https://files.pythonhosted.org/packages/be/c9/135194a02ab76b04ed9a10f68624b7ebd238bbe55548878b11ff15a0f352/orjson-3.11.8-cp312-cp312-win32.whl", hash = "sha256:e0950ed1bcb9893f4293fd5c5a7ee10934fbf82c4101c70be360db23ce24b7d2", size = 131966, upload-time = "2026-03-31T16:15:31.687Z" }, - { url = "https://files.pythonhosted.org/packages/ed/9a/9796f8fbe3cf30ce9cb696748dbb535e5c87be4bf4fe2e9ca498ef1fa8cf/orjson-3.11.8-cp312-cp312-win_amd64.whl", hash = "sha256:3cf17c141617b88ced4536b2135c552490f07799f6ad565948ea07bef0dcb9a6", size = 127441, upload-time = "2026-03-31T16:15:33.333Z" }, - { url = "https://files.pythonhosted.org/packages/cc/47/5aaf54524a7a4a0dd09dd778f3fa65dd2108290615b652e23d944152bc8e/orjson-3.11.8-cp312-cp312-win_arm64.whl", hash = "sha256:48854463b0572cc87dac7d981aa72ed8bf6deedc0511853dc76b8bbd5482d36d", size = 127364, upload-time = "2026-03-31T16:15:34.748Z" }, - { url = "https://files.pythonhosted.org/packages/66/7f/95fba509bb2305fab0073558f1e8c3a2ec4b2afe58ed9fcb7d3b8beafe94/orjson-3.11.8-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:3f23426851d98478c8970da5991f84784a76682213cd50eb73a1da56b95239dc", size = 229180, upload-time = "2026-03-31T16:15:36.426Z" }, - { url = "https://files.pythonhosted.org/packages/f6/9d/b237215c743ca073697d759b5503abd2cb8a0d7b9c9e21f524bcf176ab66/orjson-3.11.8-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:ebaed4cef74a045b83e23537b52ef19a367c7e3f536751e355a2a394f8648559", size = 128754, upload-time = "2026-03-31T16:15:38.049Z" }, - { url = "https://files.pythonhosted.org/packages/42/3d/27d65b6d11e63f133781425f132807aef793ed25075fec686fc8e46dd528/orjson-3.11.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97c8f5d3b62380b70c36ffacb2a356b7c6becec86099b177f73851ba095ef623", size = 131877, upload-time = "2026-03-31T16:15:39.484Z" }, - { url = "https://files.pythonhosted.org/packages/dd/cc/faee30cd8f00421999e40ef0eba7332e3a625ce91a58200a2f52c7fef235/orjson-3.11.8-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:436c4922968a619fb7fef1ccd4b8b3a76c13b67d607073914d675026e911a65c", size = 130361, upload-time = "2026-03-31T16:15:41.274Z" }, - { url = "https://files.pythonhosted.org/packages/5c/bb/a6c55896197f97b6d4b4e7c7fd77e7235517c34f5d6ad5aadd43c54c6d7c/orjson-3.11.8-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1ab359aff0436d80bfe8a23b46b5fea69f1e18aaf1760a709b4787f1318b317f", size = 135521, upload-time = "2026-03-31T16:15:42.758Z" }, - { url = "https://files.pythonhosted.org/packages/9c/7c/ca3a3525aa32ff636ebb1778e77e3587b016ab2edb1b618b36ba96f8f2c0/orjson-3.11.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f89b6d0b3a8d81e1929d3ab3d92bbc225688bd80a770c49432543928fe09ac55", size = 146862, upload-time = "2026-03-31T16:15:44.341Z" }, - { url = "https://files.pythonhosted.org/packages/3c/0c/18a9d7f18b5edd37344d1fd5be17e94dc652c67826ab749c6e5948a78112/orjson-3.11.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:29c009e7a2ca9ad0ed1376ce20dd692146a5d9fe4310848904b6b4fee5c5c137", size = 132847, upload-time = "2026-03-31T16:15:46.368Z" }, - { url = "https://files.pythonhosted.org/packages/23/91/7e722f352ad67ca573cee44de2a58fb810d0f4eb4e33276c6a557979fd8a/orjson-3.11.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:705b895b781b3e395c067129d8551655642dfe9437273211d5404e87ac752b53", size = 133637, upload-time = "2026-03-31T16:15:48.123Z" }, - { url = "https://files.pythonhosted.org/packages/af/04/32845ce13ac5bd1046ddb02ac9432ba856cc35f6d74dde95864fe0ad5523/orjson-3.11.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:88006eda83858a9fdf73985ce3804e885c2befb2f506c9a3723cdeb5a2880e3e", size = 141906, upload-time = "2026-03-31T16:15:49.626Z" }, - { url = "https://files.pythonhosted.org/packages/02/5e/c551387ddf2d7106d9039369862245c85738b828844d13b99ccb8d61fd06/orjson-3.11.8-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:55120759e61309af7fcf9e961c6f6af3dde5921cdb3ee863ef63fd9db126cae6", size = 423722, upload-time = "2026-03-31T16:15:51.176Z" }, - { url = "https://files.pythonhosted.org/packages/00/a3/ecfe62434096f8a794d4976728cb59bcfc4a643977f21c2040545d37eb4c/orjson-3.11.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:98bdc6cb889d19bed01de46e67574a2eab61f5cc6b768ed50e8ac68e9d6ffab6", size = 147801, upload-time = "2026-03-31T16:15:52.939Z" }, - { url = "https://files.pythonhosted.org/packages/18/6d/0dce10b9f6643fdc59d99333871a38fa5a769d8e2fc34a18e5d2bfdee900/orjson-3.11.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:708c95f925a43ab9f34625e45dcdadf09ec8a6e7b664a938f2f8d5650f6c090b", size = 136460, upload-time = "2026-03-31T16:15:54.431Z" }, - { url = "https://files.pythonhosted.org/packages/01/d6/6dde4f31842d87099238f1f07b459d24edc1a774d20687187443ab044191/orjson-3.11.8-cp313-cp313-win32.whl", hash = "sha256:01c4e5a6695dc09098f2e6468a251bc4671c50922d4d745aff1a0a33a0cf5b8d", size = 131956, upload-time = "2026-03-31T16:15:56.081Z" }, - { url = "https://files.pythonhosted.org/packages/c1/f9/4e494a56e013db957fb77186b818b916d4695b8fa2aa612364974160e91b/orjson-3.11.8-cp313-cp313-win_amd64.whl", hash = "sha256:c154a35dd1330707450bb4d4e7dd1f17fa6f42267a40c1e8a1daa5e13719b4b8", size = 127410, upload-time = "2026-03-31T16:15:57.54Z" }, - { url = "https://files.pythonhosted.org/packages/57/7f/803203d00d6edb6e9e7eef421d4e1adbb5ea973e40b3533f3cfd9aeb374e/orjson-3.11.8-cp313-cp313-win_arm64.whl", hash = "sha256:4861bde57f4d253ab041e374f44023460e60e71efaa121f3c5f0ed457c3a701e", size = 127338, upload-time = "2026-03-31T16:15:59.106Z" }, - { url = "https://files.pythonhosted.org/packages/6d/35/b01910c3d6b85dc882442afe5060cbf719c7d1fc85749294beda23d17873/orjson-3.11.8-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:ec795530a73c269a55130498842aaa762e4a939f6ce481a7e986eeaa790e9da4", size = 229171, upload-time = "2026-03-31T16:16:00.651Z" }, - { url = "https://files.pythonhosted.org/packages/c2/56/c9ec97bd11240abef39b9e5d99a15462809c45f677420fd148a6c5e6295e/orjson-3.11.8-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:c492a0e011c0f9066e9ceaa896fbc5b068c54d365fea5f3444b697ee01bc8625", size = 128746, upload-time = "2026-03-31T16:16:02.673Z" }, - { url = "https://files.pythonhosted.org/packages/3b/e4/66d4f30a90de45e2f0cbd9623588e8ae71eef7679dbe2ae954ed6d66a41f/orjson-3.11.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:883206d55b1bd5f5679ad5e6ddd3d1a5e3cac5190482927fdb8c78fb699193b5", size = 131867, upload-time = "2026-03-31T16:16:04.342Z" }, - { url = "https://files.pythonhosted.org/packages/19/30/2a645fc9286b928675e43fa2a3a16fb7b6764aa78cc719dc82141e00f30b/orjson-3.11.8-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5774c1fdcc98b2259800b683b19599c133baeb11d60033e2095fd9d4667b82db", size = 124664, upload-time = "2026-03-31T16:16:05.837Z" }, - { url = "https://files.pythonhosted.org/packages/db/44/77b9a86d84a28d52ba3316d77737f6514e17118119ade3f91b639e859029/orjson-3.11.8-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ac7381c83dd3d4a6347e6635950aa448f54e7b8406a27c7ecb4a37e9f1ae08b", size = 129701, upload-time = "2026-03-31T16:16:07.407Z" }, - { url = "https://files.pythonhosted.org/packages/b3/ea/eff3d9bfe47e9bc6969c9181c58d9f71237f923f9c86a2d2f490cd898c82/orjson-3.11.8-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:14439063aebcb92401c11afc68ee4e407258d2752e62d748b6942dad20d2a70d", size = 141202, upload-time = "2026-03-31T16:16:09.48Z" }, - { url = "https://files.pythonhosted.org/packages/52/c8/90d4b4c60c84d62068d0cf9e4d8f0a4e05e76971d133ac0c60d818d4db20/orjson-3.11.8-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fa72e71977bff96567b0f500fc5bfd2fdf915f34052c782a4c6ebbdaa97aa858", size = 127194, upload-time = "2026-03-31T16:16:11.02Z" }, - { url = "https://files.pythonhosted.org/packages/8d/c7/ea9e08d1f0ba981adffb629811148b44774d935171e7b3d780ae43c4c254/orjson-3.11.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7679bc2f01bb0d219758f1a5f87bb7c8a81c0a186824a393b366876b4948e14f", size = 133639, upload-time = "2026-03-31T16:16:13.434Z" }, - { url = "https://files.pythonhosted.org/packages/6c/8c/ddbbfd6ba59453c8fc7fe1d0e5983895864e264c37481b2a791db635f046/orjson-3.11.8-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:14f7b8fcb35ef403b42fa5ecfa4ed032332a91f3dc7368fbce4184d59e1eae0d", size = 141914, upload-time = "2026-03-31T16:16:14.955Z" }, - { url = "https://files.pythonhosted.org/packages/4e/31/dbfbefec9df060d34ef4962cd0afcb6fa7a9ec65884cb78f04a7859526c3/orjson-3.11.8-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:c2bdf7b2facc80b5e34f48a2d557727d5c5c57a8a450de122ae81fa26a81c1bc", size = 423800, upload-time = "2026-03-31T16:16:16.594Z" }, - { url = "https://files.pythonhosted.org/packages/87/cf/f74e9ae9803d4ab46b163494adba636c6d7ea955af5cc23b8aaa94cfd528/orjson-3.11.8-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ccd7ba1b0605813a0715171d39ec4c314cb97a9c85893c2c5c0c3a3729df38bf", size = 147837, upload-time = "2026-03-31T16:16:18.585Z" }, - { url = "https://files.pythonhosted.org/packages/64/e6/9214f017b5db85e84e68602792f742e5dc5249e963503d1b356bee611e01/orjson-3.11.8-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cdbc8c9c02463fef4d3c53a9ba3336d05496ec8e1f1c53326a1e4acc11f5c600", size = 136441, upload-time = "2026-03-31T16:16:20.151Z" }, - { url = "https://files.pythonhosted.org/packages/24/dd/3590348818f58f837a75fb969b04cdf187ae197e14d60b5e5a794a38b79d/orjson-3.11.8-cp314-cp314-win32.whl", hash = "sha256:0b57f67710a8cd459e4e54eb96d5f77f3624eba0c661ba19a525807e42eccade", size = 131983, upload-time = "2026-03-31T16:16:21.823Z" }, - { url = "https://files.pythonhosted.org/packages/3f/0f/b6cb692116e05d058f31ceee819c70f097fa9167c82f67fabe7516289abc/orjson-3.11.8-cp314-cp314-win_amd64.whl", hash = "sha256:735e2262363dcbe05c35e3a8869898022af78f89dde9e256924dc02e99fe69ca", size = 127396, upload-time = "2026-03-31T16:16:23.685Z" }, - { url = "https://files.pythonhosted.org/packages/c0/d1/facb5b5051fabb0ef9d26c6544d87ef19a939a9a001198655d0d891062dd/orjson-3.11.8-cp314-cp314-win_arm64.whl", hash = "sha256:6ccdea2c213cf9f3d9490cbd5d427693c870753df41e6cb375bd79bcbafc8817", size = 127330, upload-time = "2026-03-31T16:16:25.496Z" }, -] - [[package]] name = "packaging" version = "26.0" diff --git a/worker-template/uv.lock b/worker-template/uv.lock index c4ca0b83..768f3629 100644 --- a/worker-template/uv.lock +++ b/worker-template/uv.lock @@ -307,7 +307,7 @@ wheels = [ [[package]] name = "datashare-python" -version = "0.9.8" +version = "0.9.9" source = { editable = "../datashare-python" } dependencies = [ { name = "aiohttp" }, @@ -351,7 +351,7 @@ dev = [ { name = "pytest", specifier = "~=8.1" }, { name = "pytest-asyncio", specifier = "~=0.24" }, { name = "redis", extras = ["hiredis"], specifier = "~=5.2.1" }, - { name = "ruff", specifier = "==0.15.2" }, + { name = "ruff", specifier = "==0.16.1" }, { name = "typing-extensions", specifier = "~=4.15.0" }, ] diff --git a/workers/asr-worker/asr_worker/activities.py b/workers/asr-worker/asr_worker/activities.py index aadf8d18..292d8c75 100644 --- a/workers/asr-worker/asr_worker/activities.py +++ b/workers/asr-worker/asr_worker/activities.py @@ -389,7 +389,7 @@ def postprocess_act( return routes -async def index_transcriptions_act( +async def index_transcriptions_act( # noqa: PLR0917 routes: Iterable[DocRoute], project: str, es_client: ESClient, diff --git a/workers/asr-worker/tests/test_activities.py b/workers/asr-worker/tests/test_activities.py index 2c51f994..e80046ab 100644 --- a/workers/asr-worker/tests/test_activities.py +++ b/workers/asr-worker/tests/test_activities.py @@ -176,7 +176,7 @@ def process( (ids_query(["doc-1"]), []), ], ) -async def test_search_audio_paths_act( +async def test_search_audio_paths_act( # noqa: PLR0917 with_audio_docs: list[FilesystemDocument], test_es_client: ESClient, query: dict, diff --git a/workers/asr-worker/tests/test_workflows.py b/workers/asr-worker/tests/test_workflows.py index 8dd980d3..5653ae16 100644 --- a/workers/asr-worker/tests/test_workflows.py +++ b/workers/asr-worker/tests/test_workflows.py @@ -143,7 +143,7 @@ async def gpu_inference_worker( @pytest.mark.e2e -async def test_asr_workflow_e2e( +async def test_asr_workflow_e2e( # noqa: PLR0917 test_temporal_client: TemporalClient, cpu_bound_worker: Worker, # noqa: ARG001 gpu_inference_worker: Worker, # noqa: ARG001 diff --git a/workers/asr-worker/uv.lock b/workers/asr-worker/uv.lock index 7c79c335..f23a846a 100644 --- a/workers/asr-worker/uv.lock +++ b/workers/asr-worker/uv.lock @@ -650,7 +650,7 @@ dev = [ { name = "pytest", specifier = "~=8.1" }, { name = "pytest-asyncio", specifier = "~=0.24" }, { name = "redis", extras = ["hiredis"], specifier = "~=5.2.1" }, - { name = "ruff", specifier = "==0.15.2" }, + { name = "ruff", specifier = "==0.16.1" }, { name = "typing-extensions", specifier = "~=4.15.0" }, ] diff --git a/workers/extract-worker/uv.dist.lock b/workers/extract-worker/uv.dist.lock index bd9d8dbe..f8015d95 100644 --- a/workers/extract-worker/uv.dist.lock +++ b/workers/extract-worker/uv.dist.lock @@ -596,7 +596,7 @@ dev = [ [package.metadata] requires-dist = [ { name = "cuda-bindings", marker = "sys_platform == 'linux' and extra == 'gpu'", specifier = "==12.9.4" }, - { name = "datashare-python", specifier = "~=0.9.0" }, + { name = "datashare-python", specifier = "~=0.9.9" }, { name = "extract-core", specifier = "==0.7.1" }, { name = "extract-python", extras = ["docling", "marker"], marker = "extra == 'base'", specifier = "==0.7.2" }, { name = "extract-python", extras = ["mineru"], marker = "extra == 'mineru'", specifier = "==0.7.2" }, diff --git a/workers/extract-worker/uv.lock b/workers/extract-worker/uv.lock index 4098f0e9..fd54612b 100644 --- a/workers/extract-worker/uv.lock +++ b/workers/extract-worker/uv.lock @@ -672,7 +672,7 @@ dev = [ { name = "pytest", specifier = "~=8.1" }, { name = "pytest-asyncio", specifier = "~=0.24" }, { name = "redis", extras = ["hiredis"], specifier = "~=5.2.1" }, - { name = "ruff", specifier = "==0.15.2" }, + { name = "ruff", specifier = "==0.16.1" }, { name = "typing-extensions", specifier = "~=4.15.0" }, ] diff --git a/workers/translation-worker/tests/test_workflows.py b/workers/translation-worker/tests/test_workflows.py index c78df849..05699206 100644 --- a/workers/translation-worker/tests/test_workflows.py +++ b/workers/translation-worker/tests/test_workflows.py @@ -15,7 +15,7 @@ @pytest.mark.e2e -async def test_translation_workflow( +async def test_translation_workflow( # noqa: PLR0917 test_temporal_client: TemporalClient, # noqa: ARG001 index_translation_documents: list[Document], # noqa: ARG001 test_es_client: ESClient, diff --git a/workers/translation-worker/translation_worker/activities.py b/workers/translation-worker/translation_worker/activities.py index dbfe1be9..1b7b3393 100644 --- a/workers/translation-worker/translation_worker/activities.py +++ b/workers/translation-worker/translation_worker/activities.py @@ -219,7 +219,7 @@ async def translate_docs_act( return n_docs -async def _translate_and_queue( +async def _translate_and_queue( # noqa: PLR0917 batches: list[Batch], queue: asyncio.Queue, project: str, diff --git a/workers/translation-worker/uv.lock b/workers/translation-worker/uv.lock index c6f9137c..a2ac6b86 100644 --- a/workers/translation-worker/uv.lock +++ b/workers/translation-worker/uv.lock @@ -481,7 +481,7 @@ dev = [ { name = "pytest", specifier = "~=8.1" }, { name = "pytest-asyncio", specifier = "~=0.24" }, { name = "redis", extras = ["hiredis"], specifier = "~=5.2.1" }, - { name = "ruff", specifier = "==0.15.2" }, + { name = "ruff", specifier = "==0.16.1" }, { name = "typing-extensions", specifier = "~=4.15.0" }, ]