diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 3d41f8a..23374ed 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -34,21 +34,19 @@ jobs: poetry install - name: Run Black - run: poetry run poe black-check + run: poetry poe black-check - name: Run Ruff - run: poetry run poe ruff-check + run: poetry poe ruff-check - name: Run Mypy - run: poetry run poe mypy + run: poetry poe mypy - name: Run Pytest - run: poetry run poe test + run: poetry poe test - name: Install Extra Dependencies - run: | - poetry env use ${{ matrix.python-version }} - poetry install --all-extras + run: poetry install --all-extras - name: Run Pytest on Extras - run: poetry run poe test + run: poetry poe test diff --git a/README.md b/README.md index 314b9b8..ff81b82 100644 --- a/README.md +++ b/README.md @@ -68,10 +68,10 @@ Formatting, linting, type checking, and tests are defined as [Poe](https://poethepoet.natn.io/) tasks in `pyproject.toml`. ```bash -poetry run poe {format,check,test,all} +poetry poe {format,check,test,all} ``` -Code changes or additions should pass `poetry run poe all` before opening a PR. +Code changes or additions should pass `poetry poe all` before opening a PR. ### Tests @@ -83,7 +83,7 @@ By default, only required unit tests are executed. Extra unit tests and integrat tests are skipped. ```bash -poetry run poe {test,all} +poetry poe {test,all} ``` Extra unit tests are skipped when their dependencies are not installed. To execute extra @@ -91,7 +91,7 @@ unit tests, install one or more extras and run the tests. ```bash poetry install --all-extras -poetry run poe {test,all} +poetry poe {test,all} ``` Integration tests make API calls to an IPA environment and require a host and API token @@ -99,7 +99,7 @@ to execute. These tests create datasets, setup workflows, and train models. **Ex them to take tens of minutes to run.** ```bash -poetry run poe test-integration \ +poetry poe test-integration \ --host try.indico.io \ --token indico_api_token.txt ``` diff --git a/indico_toolkit/__init__.py b/indico_toolkit/__init__.py index 2e2772d..6148a3c 100644 --- a/indico_toolkit/__init__.py +++ b/indico_toolkit/__init__.py @@ -21,4 +21,4 @@ "ToolkitStaggeredLoopError", "ToolkitStatusError", ) -__version__ = "6.14.0" +__version__ = "6.14.1" diff --git a/indico_toolkit/etloutput/__init__.py b/indico_toolkit/etloutput/__init__.py index 62b41de..4ee328b 100644 --- a/indico_toolkit/etloutput/__init__.py +++ b/indico_toolkit/etloutput/__init__.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING from ..results import NULL_BOX, NULL_SPAN, Box, Span -from ..results.utilities import get, has +from ..results.utils import get, has from .cell import Cell, CellType from .errors import EtlOutputError, TableCellNotFoundError, TokenNotFoundError from .etloutput import EtlOutput diff --git a/indico_toolkit/etloutput/cell.py b/indico_toolkit/etloutput/cell.py index 6624ea1..16e00b3 100644 --- a/indico_toolkit/etloutput/cell.py +++ b/indico_toolkit/etloutput/cell.py @@ -2,7 +2,7 @@ from enum import Enum from ..results import NULL_SPAN, Box, Span -from ..results.utilities import get +from ..results.utils import get from .range import Range diff --git a/indico_toolkit/etloutput/range.py b/indico_toolkit/etloutput/range.py index ad2443c..674e3b8 100644 --- a/indico_toolkit/etloutput/range.py +++ b/indico_toolkit/etloutput/range.py @@ -1,6 +1,6 @@ from dataclasses import dataclass -from ..results.utilities import get +from ..results.utils import get @dataclass(order=True, frozen=True) diff --git a/indico_toolkit/etloutput/table.py b/indico_toolkit/etloutput/table.py index b592136..4e9b5ae 100644 --- a/indico_toolkit/etloutput/table.py +++ b/indico_toolkit/etloutput/table.py @@ -2,7 +2,7 @@ from operator import attrgetter from ..results import Box -from ..results.utilities import get +from ..results.utils import get from .cell import Cell diff --git a/indico_toolkit/etloutput/token.py b/indico_toolkit/etloutput/token.py index a1cc36f..d369e78 100644 --- a/indico_toolkit/etloutput/token.py +++ b/indico_toolkit/etloutput/token.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from ..results import Box, Span -from ..results.utilities import get +from ..results.utils import get @dataclass(frozen=True) diff --git a/indico_toolkit/results/__init__.py b/indico_toolkit/results/__init__.py index 51b2cc1..97e6acc 100644 --- a/indico_toolkit/results/__init__.py +++ b/indico_toolkit/results/__init__.py @@ -23,7 +23,7 @@ ) from .result import Result from .review import Review, ReviewType -from .utilities import get +from .utils import get if TYPE_CHECKING: from collections.abc import Awaitable, Callable diff --git a/indico_toolkit/results/document.py b/indico_toolkit/results/document.py index 47c8afc..c620a21 100644 --- a/indico_toolkit/results/document.py +++ b/indico_toolkit/results/document.py @@ -1,6 +1,6 @@ from dataclasses import dataclass -from .utilities import get +from .utils import get @dataclass(frozen=True, order=True) diff --git a/indico_toolkit/results/model.py b/indico_toolkit/results/model.py index 36d9b88..951464e 100644 --- a/indico_toolkit/results/model.py +++ b/indico_toolkit/results/model.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from enum import Enum -from .utilities import get, has +from .utils import get, has class ModelGroupType(Enum): diff --git a/indico_toolkit/results/normalization.py b/indico_toolkit/results/normalization.py index 5d14c91..7924f34 100644 --- a/indico_toolkit/results/normalization.py +++ b/indico_toolkit/results/normalization.py @@ -1,7 +1,7 @@ import re from typing import TYPE_CHECKING -from .utilities import get, has +from .utils import get, has if TYPE_CHECKING: from collections.abc import Iterator diff --git a/indico_toolkit/results/predictionlist.py b/indico_toolkit/results/predictionlist.py index 140ffbd..755c0c7 100644 --- a/indico_toolkit/results/predictionlist.py +++ b/indico_toolkit/results/predictionlist.py @@ -13,7 +13,7 @@ Unbundling, ) from .review import Review, ReviewType -from .utilities import nfilter +from .utils import nfilter if TYPE_CHECKING: from collections.abc import Callable, Collection, Container, Iterable diff --git a/indico_toolkit/results/predictions/box.py b/indico_toolkit/results/predictions/box.py index 1175b60..bf476bc 100644 --- a/indico_toolkit/results/predictions/box.py +++ b/indico_toolkit/results/predictions/box.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from typing import TYPE_CHECKING -from ..utilities import get +from ..utils import get if TYPE_CHECKING: from typing import Final diff --git a/indico_toolkit/results/predictions/citation.py b/indico_toolkit/results/predictions/citation.py index 47354cb..91d727a 100644 --- a/indico_toolkit/results/predictions/citation.py +++ b/indico_toolkit/results/predictions/citation.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from typing import TYPE_CHECKING -from ..utilities import get +from ..utils import get from .span import NULL_SPAN, Span if TYPE_CHECKING: diff --git a/indico_toolkit/results/predictions/classification.py b/indico_toolkit/results/predictions/classification.py index f3d046b..6f6b6b4 100644 --- a/indico_toolkit/results/predictions/classification.py +++ b/indico_toolkit/results/predictions/classification.py @@ -2,7 +2,7 @@ from typing import TYPE_CHECKING from ..review import Review -from ..utilities import get, omit +from ..utils import get, omit from .prediction import Prediction if TYPE_CHECKING: diff --git a/indico_toolkit/results/predictions/documentextraction.py b/indico_toolkit/results/predictions/documentextraction.py index 8ce4b7f..a7c36bd 100644 --- a/indico_toolkit/results/predictions/documentextraction.py +++ b/indico_toolkit/results/predictions/documentextraction.py @@ -2,7 +2,7 @@ from typing import TYPE_CHECKING from ..review import Review -from ..utilities import get, has, omit +from ..utils import get, has, omit from .extraction import Extraction from .group import Group from .span import NULL_SPAN, Span @@ -127,8 +127,10 @@ def to_v1_dict(self) -> "dict[str, Any]": "end": self.span.end, } - prediction["normalized"]["formatted"] = self.text - prediction["text"] = self.text # 6.10 sometimes reverts to raw text in review. + if self.text != get(prediction, str, "normalized", "formatted"): + prediction["normalized"]["formatted"] = self.text + prediction["normalized"]["text"] = self.text + prediction["text"] = self.text if self.accepted: prediction["accepted"] = True @@ -149,8 +151,10 @@ def to_v3_dict(self) -> "dict[str, Any]": "spans": [span.to_dict() for span in self.spans], } - prediction["normalized"]["formatted"] = self.text - prediction["text"] = self.text # 6.10 sometimes reverts to raw text in review. + if self.text != get(prediction, str, "normalized", "formatted"): + prediction["normalized"]["formatted"] = self.text + prediction["normalized"]["text"] = self.text + prediction["text"] = self.text if self.accepted: prediction["accepted"] = True diff --git a/indico_toolkit/results/predictions/formextraction.py b/indico_toolkit/results/predictions/formextraction.py index 6b9ed47..14166bf 100644 --- a/indico_toolkit/results/predictions/formextraction.py +++ b/indico_toolkit/results/predictions/formextraction.py @@ -3,7 +3,7 @@ from typing import TYPE_CHECKING from ..review import Review -from ..utilities import get, has, omit +from ..utils import get, has, omit from .box import Box from .extraction import Extraction @@ -97,18 +97,23 @@ def _to_dict(self) -> "dict[str, Any]": } if self.type == FormExtractionType.CHECKBOX: - prediction["normalized"]["structured"]["checked"] = self.checked - prediction["normalized"]["formatted"] = ( - "Checked" if self.checked else "Unchecked" - ) + prediction["normalized"]["structured"] = {"checked": self.checked} + text = "Checked" if self.checked else "Unchecked" + prediction["normalized"]["formatted"] = text + prediction["normalized"]["text"] = self.text + prediction["text"] = self.text elif self.type == FormExtractionType.SIGNATURE: - prediction["normalized"]["structured"]["signed"] = self.signed - prediction["normalized"]["formatted"] = ( - "Signed" if self.signed else "Unsigned" - ) + prediction["normalized"]["structured"] = {"signed": self.signed} + text = "Signed" if self.signed else "Unsigned" + prediction["normalized"]["formatted"] = text + # Don't overwrite the text of the signature stored in these attributes. + # prediction["normalized"]["text"] = self.text + # prediction["text"] = self.text elif self.type == FormExtractionType.TEXT: - prediction["normalized"]["formatted"] = self.text - prediction["text"] = self.text # 6.10 sometimes reverts to text in review. + if self.text != get(prediction, str, "normalized", "formatted"): + prediction["normalized"]["formatted"] = self.text + prediction["normalized"]["text"] = self.text + prediction["text"] = self.text if self.accepted: prediction["accepted"] = True diff --git a/indico_toolkit/results/predictions/group.py b/indico_toolkit/results/predictions/group.py index 1793b13..3fb9496 100644 --- a/indico_toolkit/results/predictions/group.py +++ b/indico_toolkit/results/predictions/group.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from typing import TYPE_CHECKING -from ..utilities import get +from ..utils import get if TYPE_CHECKING: from typing import Any diff --git a/indico_toolkit/results/predictions/span.py b/indico_toolkit/results/predictions/span.py index 4ab8cb6..cd190f7 100644 --- a/indico_toolkit/results/predictions/span.py +++ b/indico_toolkit/results/predictions/span.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from typing import TYPE_CHECKING -from ..utilities import get +from ..utils import get if TYPE_CHECKING: from typing import Any, Final diff --git a/indico_toolkit/results/predictions/summarization.py b/indico_toolkit/results/predictions/summarization.py index 77176a4..43ba9c3 100644 --- a/indico_toolkit/results/predictions/summarization.py +++ b/indico_toolkit/results/predictions/summarization.py @@ -2,7 +2,7 @@ from typing import TYPE_CHECKING from ..review import Review -from ..utilities import get, has, omit +from ..utils import get, has, omit from .citation import NULL_CITATION, Citation from .extraction import Extraction diff --git a/indico_toolkit/results/predictions/unbundling.py b/indico_toolkit/results/predictions/unbundling.py index 9ade263..c6d2b81 100644 --- a/indico_toolkit/results/predictions/unbundling.py +++ b/indico_toolkit/results/predictions/unbundling.py @@ -2,7 +2,7 @@ from typing import TYPE_CHECKING from ..review import Review -from ..utilities import get, omit +from ..utils import get, omit from .prediction import Prediction if TYPE_CHECKING: diff --git a/indico_toolkit/results/result.py b/indico_toolkit/results/result.py index 809fc9e..4a6c79d 100644 --- a/indico_toolkit/results/result.py +++ b/indico_toolkit/results/result.py @@ -10,7 +10,7 @@ from .predictionlist import PredictionList from .predictions import Prediction from .review import Review, ReviewType -from .utilities import get +from .utils import get if TYPE_CHECKING: from typing import Any diff --git a/indico_toolkit/results/review.py b/indico_toolkit/results/review.py index a1930aa..1a1c79f 100644 --- a/indico_toolkit/results/review.py +++ b/indico_toolkit/results/review.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from enum import Enum -from .utilities import get +from .utils import get class ReviewType(Enum): diff --git a/indico_toolkit/results/utilities.py b/indico_toolkit/results/utils.py similarity index 100% rename from indico_toolkit/results/utilities.py rename to indico_toolkit/results/utils.py diff --git a/poetry.lock b/poetry.lock index 21c0995..4eadf62 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1206,18 +1206,6 @@ sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-d test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] xml = ["lxml (>=4.9.2)"] -[[package]] -name = "pastel" -version = "0.2.1" -description = "Bring colors to your terminal." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -groups = ["dev"] -files = [ - {file = "pastel-0.2.1-py2.py3-none-any.whl", hash = "sha256:4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364"}, - {file = "pastel-0.2.1.tar.gz", hash = "sha256:e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d"}, -] - [[package]] name = "pathspec" version = "0.12.1" @@ -1280,26 +1268,6 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "poethepoet" -version = "0.32.2" -description = "A task runner that works well with poetry." -optional = false -python-versions = ">=3.9" -groups = ["dev"] -files = [ - {file = "poethepoet-0.32.2-py3-none-any.whl", hash = "sha256:97e165de8e00b07d33fd8d72896fad8b20ccafcd327b1118bb6a3da26af38d33"}, - {file = "poethepoet-0.32.2.tar.gz", hash = "sha256:1d68871dac1b191e27bd68fea57d0e01e9afbba3fcd01dbe6f6bc3fcb071fe4c"}, -] - -[package.dependencies] -pastel = ">=0.2.1,<0.3.0" -pyyaml = ">=6.0.2,<7.0" -tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""} - -[package.extras] -poetry-plugin = ["poetry (>=1.2.0,<3.0.0) ; python_version < \"4.0\""] - [[package]] name = "propcache" version = "0.3.0" @@ -1617,69 +1585,6 @@ files = [ {file = "pytz-2025.1.tar.gz", hash = "sha256:c2db42be2a2518b28e65f9207c4d05e6ff547d1efa4086469ef855e4ab70178e"}, ] -[[package]] -name = "pyyaml" -version = "6.0.2" -description = "YAML parser and emitter for Python" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -files = [ - {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, - {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, - {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, - {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, - {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, - {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, - {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, - {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, - {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, - {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, - {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, - {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, - {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, - {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, - {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, - {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, - {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, -] - [[package]] name = "requests" version = "2.32.3" @@ -2031,4 +1936,4 @@ snapshots = ["pandas"] [metadata] lock-version = "2.1" python-versions = ">=3.10" -content-hash = "07acdc14a2bdadb456e7156e03d04fda1bacd330bb548abe40bd08d96efc1a2f" +content-hash = "6917bdbcc33359ce37b5b0c1db336cddad6159680fc08d3c24d047666873c281" diff --git a/pyproject.toml b/pyproject.toml index 10c068f..ba174db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ authors = [ readme = "README.md" urls = { source = "https://github.com/IndicoDataSolutions/Indico-Solutions-Toolkit" } requires-python = ">=3.10" -version = "6.14.0" +version = "6.14.1" dependencies = ["indico-client (>=6.14.0,<7.0.0)"] [project.optional-dependencies] @@ -27,7 +27,6 @@ snapshots = ["pandas (>=2.2.3,<3.0.0)"] black = "^25.1.0" coverage = "^7.6.12" mypy = "^1.15.0" -poethepoet = "^0.32.2" pytest = "^8.3.4" pytest-asyncio = "^0.25.3" pytest-cov = "^6.0.0" @@ -35,6 +34,9 @@ pytest-mock = "^3.14.0" requests-mock = "^1.12.1" ruff = "^0.9.6" +[tool.poetry.requires-plugins] +poethepoet = {extras = ["poetry-plugin"], version = "^0.33.0"} + [tool.poe.tasks] black = "black indico_toolkit examples tests" black-check = "black --check indico_toolkit examples tests"