From 2532397dec6770f35eef8ce590f6b2891536388d Mon Sep 17 00:00:00 2001 From: TaperChipmunk32 Date: Thu, 17 Oct 2024 13:18:07 -0500 Subject: [PATCH] Upgrade machine to support Python 3.9-3.12 --- .devcontainer/devcontainer.json | 4 +- .devcontainer/dockerfile | 10 +- .devcontainer/dockerfile-Python312 | 43 + .github/workflows/ci.yml | 6 +- .vscode/PythonImportHelper-v2-Completion.json | 19323 ++++++++++++++++ dockerfile | 10 +- dockerfile.cpu_only | 4 +- .../huggingface/hugging_face_nmt_engine.py | 6 +- .../hugging_face_nmt_model_trainer.py | 7 +- poetry.lock | 5142 ++-- pyproject-312.toml | 102 + pyproject.toml | 12 +- 12 files changed, 22458 insertions(+), 2211 deletions(-) create mode 100644 .devcontainer/dockerfile-Python312 create mode 100644 .vscode/PythonImportHelper-v2-Completion.json create mode 100644 pyproject-312.toml diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 41fb4e8..fc85a9f 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -9,8 +9,8 @@ "dockerfile": "./dockerfile" }, "runArgs": [ - "--gpus", - "all" + //"--gpus", + //"all" ], "containerEnv": { "AWS_REGION": "${localEnv:AWS_REGION}", diff --git a/.devcontainer/dockerfile b/.devcontainer/dockerfile index b9cd6d0..6212c64 100644 --- a/.devcontainer/dockerfile +++ b/.devcontainer/dockerfile @@ -1,13 +1,14 @@ #compatability with Tensorflow 2.6.0 as per https://www.tensorflow.org/install/source#gpu -ARG PYTHON_VERSION=3.8 -ARG UBUNTU_VERSION=focal +ARG PYTHON_VERSION=3.9 +ARG UBUNTU_VERSION=noble ARG POETRY_VERSION=1.6.1 -ARG CUDA_VERSION=11.2.2-cudnn8-runtime-ubuntu20.04 +ARG CUDA_VERSION=12.6.1-base-ubuntu24.04 FROM nvidia/cuda:$CUDA_VERSION ARG PYTHON_VERSION ARG POETRY_VERSION +ENV POETRY_VENV=/opt/poetry-venv ENV PIP_DISABLE_PIP_VERSION_CHECK=on ENV TZ=America/New_York RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone @@ -33,7 +34,8 @@ RUN ln -sfn /usr/bin/python${PYTHON_VERSION} /usr/bin/python3 & \ # Install python packages RUN pip install -U pip setuptools \ && pip install poetry==${POETRY_VERSION} black pipenv virtualenv clearml \ - && poetry config virtualenvs.in-project true + && poetry config virtualenvs.in-project true \ + && pip install cffi COPY ./.devcontainer/clearml.conf /root/clearml.conf diff --git a/.devcontainer/dockerfile-Python312 b/.devcontainer/dockerfile-Python312 new file mode 100644 index 0000000..132da18 --- /dev/null +++ b/.devcontainer/dockerfile-Python312 @@ -0,0 +1,43 @@ +#compatability with Tensorflow 2.6.0 as per https://www.tensorflow.org/install/source#gpu +ARG PYTHON_VERSION=3.12 +ARG UBUNTU_VERSION=noble +ARG POETRY_VERSION=1.6.1 +ARG CUDA_VERSION=12.6.1-base-ubuntu24.04 + +FROM nvidia/cuda:$CUDA_VERSION +ARG PYTHON_VERSION +ARG POETRY_VERSION + +ENV POETRY_VENV=/opt/poetry-venv +ENV PIP_DISABLE_PIP_VERSION_CHECK=on +ENV TZ=America/New_York +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN apt-get update && \ + apt-get install --no-install-recommends -y software-properties-common && \ + apt-get update && \ + apt-get install --no-install-recommends -y \ + python$PYTHON_VERSION \ + python3-pip \ + python3-venv \ + git vim curl gdb ca-certificates gnupg2 tar make gcc libssl-dev zlib1g-dev libncurses5-dev \ + libbz2-dev libreadline-dev libreadline6-dev libxml2-dev xz-utils libgdbm-dev libgdbm-compat-dev tk-dev dirmngr \ + libxmlsec1-dev libsqlite3-dev libffi-dev liblzma-dev lzma lzma-dev uuid-dev && \ + rm -rf /var/lib/apt/lists/* + +# make some useful symlinks that are expected to exist +RUN ln -sfn /usr/bin/python${PYTHON_VERSION} /usr/bin/python3 & \ + ln -sfn /usr/bin/python${PYTHON_VERSION} /usr/bin/python + +# Install poetry separated from system interpreter +RUN python3 -m venv $POETRY_VENV \ + && $POETRY_VENV/bin/pip install -U pip setuptools \ + && $POETRY_VENV/bin/pip install poetry==${POETRY_VERSION} +# Add `poetry` to PATH and configure +ENV PATH="${PATH}:${POETRY_VENV}/bin" +RUN poetry config virtualenvs.create true && \ + poetry config virtualenvs.in-project true + +COPY ./.devcontainer/clearml.conf /root/clearml.conf + +CMD ["bash"] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a88c493..8107fa0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-12, windows-latest] - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.9", "3.9", "3.10", "3.12"] defaults: run: shell: bash @@ -71,11 +71,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.8 + - name: Set up Python 3.9 id: setup-python uses: actions/setup-python@v4 with: - python-version: "3.8" + python-version: "3.9" - name: Install Poetry uses: snok/install-poetry@v1 with: diff --git a/.vscode/PythonImportHelper-v2-Completion.json b/.vscode/PythonImportHelper-v2-Completion.json new file mode 100644 index 0000000..b971cc9 --- /dev/null +++ b/.vscode/PythonImportHelper-v2-Completion.json @@ -0,0 +1,19323 @@ +[ + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "annotations", + "importPath": "__future__", + "description": "__future__", + "isExtraImport": true, + "detail": "__future__", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "ABC", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "abstractmethod", + "importPath": "abc", + "description": "abc", + "isExtraImport": true, + "detail": "abc", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "field", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "field", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "field", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "field", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "field", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "replace", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "field", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "field", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "field", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "field", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "dataclass", + "importPath": "dataclasses", + "description": "dataclasses", + "isExtraImport": true, + "detail": "dataclasses", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sized", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "FrozenSet", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "overload", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "FrozenSet", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "FrozenSet", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "overload", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "overload", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "overload", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TYPE_CHECKING", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Literal", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "ContextManager", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Literal", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "overload", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "overload", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Literal", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TextIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "DefaultDict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TextIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypedDict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TextIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TextIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "overload", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generic", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "ContextManager", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Type", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Type", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Collection", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "ContextManager", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Type", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "AbstractSet", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Set", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "ContextManager", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Generator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "TypeVar", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "IO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "cast", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Callable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "ContextManager", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Type", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Union", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "BinaryIO", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "ContextManager", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterator", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Optional", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Any", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "ContextManager", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Iterable", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Dict", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "List", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Sequence", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "Tuple", + "importPath": "typing", + "description": "typing", + "isExtraImport": true, + "detail": "typing", + "documentation": {} + }, + { + "label": "sys", + "kind": 6, + "isExtraImport": true, + "importPath": "sys", + "description": "sys", + "detail": "sys", + "documentation": {} + }, + { + "label": "chain", + "importPath": "itertools", + "description": "itertools", + "isExtraImport": true, + "detail": "itertools", + "documentation": {} + }, + { + "label": "islice", + "importPath": "itertools", + "description": "itertools", + "isExtraImport": true, + "detail": "itertools", + "documentation": {} + }, + { + "label": "islice", + "importPath": "itertools", + "description": "itertools", + "isExtraImport": true, + "detail": "itertools", + "documentation": {} + }, + { + "label": "chain", + "importPath": "itertools", + "description": "itertools", + "isExtraImport": true, + "detail": "itertools", + "documentation": {} + }, + { + "label": "islice", + "importPath": "itertools", + "description": "itertools", + "isExtraImport": true, + "detail": "itertools", + "documentation": {} + }, + { + "label": "islice", + "importPath": "itertools", + "description": "itertools", + "isExtraImport": true, + "detail": "itertools", + "documentation": {} + }, + { + "label": "groupby", + "importPath": "itertools", + "description": "itertools", + "isExtraImport": true, + "detail": "itertools", + "documentation": {} + }, + { + "label": "repeat", + "importPath": "itertools", + "description": "itertools", + "isExtraImport": true, + "detail": "itertools", + "documentation": {} + }, + { + "label": "islice", + "importPath": "itertools", + "description": "itertools", + "isExtraImport": true, + "detail": "itertools", + "documentation": {} + }, + { + "label": "sqrt", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "sqrt", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "isnan", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "exp", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "log", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "exp", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "prod", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "exp", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "exp", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "log", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "exp", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "exp", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "exp", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "log", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "exp", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "log", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "exp", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "log", + "importPath": "math", + "description": "math", + "isExtraImport": true, + "detail": "math", + "documentation": {} + }, + { + "label": "mean", + "importPath": "statistics", + "description": "statistics", + "isExtraImport": true, + "detail": "statistics", + "documentation": {} + }, + { + "label": "mean", + "importPath": "statistics", + "description": "statistics", + "isExtraImport": true, + "detail": "statistics", + "documentation": {} + }, + { + "label": "mean", + "importPath": "statistics", + "description": "statistics", + "isExtraImport": true, + "detail": "statistics", + "documentation": {} + }, + { + "label": "mean", + "importPath": "statistics", + "description": "statistics", + "isExtraImport": true, + "detail": "statistics", + "documentation": {} + }, + { + "label": "DiGraph", + "importPath": "networkx", + "description": "networkx", + "isExtraImport": true, + "detail": "networkx", + "documentation": {} + }, + { + "label": "Graph", + "importPath": "networkx", + "description": "networkx", + "isExtraImport": true, + "detail": "networkx", + "documentation": {} + }, + { + "label": "DiGraph", + "importPath": "networkx", + "description": "networkx", + "isExtraImport": true, + "detail": "networkx", + "documentation": {} + }, + { + "label": "Graph", + "importPath": "networkx", + "description": "networkx", + "isExtraImport": true, + "detail": "networkx", + "documentation": {} + }, + { + "label": "DiGraph", + "importPath": "networkx", + "description": "networkx", + "isExtraImport": true, + "detail": "networkx", + "documentation": {} + }, + { + "label": "Graph", + "importPath": "networkx", + "description": "networkx", + "isExtraImport": true, + "detail": "networkx", + "documentation": {} + }, + { + "label": "is_isomorphic", + "importPath": "networkx", + "description": "networkx", + "isExtraImport": true, + "detail": "networkx", + "documentation": {} + }, + { + "label": "DiGraph", + "importPath": "networkx", + "description": "networkx", + "isExtraImport": true, + "detail": "networkx", + "documentation": {} + }, + { + "label": "is_isomorphic", + "importPath": "networkx", + "description": "networkx", + "isExtraImport": true, + "detail": "networkx", + "documentation": {} + }, + { + "label": "os", + "kind": 6, + "isExtraImport": true, + "importPath": "os", + "description": "os", + "detail": "os", + "documentation": {} + }, + { + "label": "PathLike", + "importPath": "os", + "description": "os", + "isExtraImport": true, + "detail": "os", + "documentation": {} + }, + { + "label": "platform", + "kind": 6, + "isExtraImport": true, + "importPath": "platform", + "description": "platform", + "detail": "platform", + "documentation": {} + }, + { + "label": "glob", + "importPath": "glob", + "description": "glob", + "isExtraImport": true, + "detail": "glob", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "PurePath", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "PurePath", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "PurePath", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "PurePath", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Path", + "importPath": "pathlib", + "description": "pathlib", + "isExtraImport": true, + "detail": "pathlib", + "documentation": {} + }, + { + "label": "Random", + "importPath": "random", + "description": "random", + "isExtraImport": true, + "detail": "random", + "documentation": {} + }, + { + "label": "Random", + "importPath": "random", + "description": "random", + "isExtraImport": true, + "detail": "random", + "documentation": {} + }, + { + "label": "zipfile", + "kind": 6, + "isExtraImport": true, + "importPath": "zipfile", + "description": "zipfile", + "detail": "zipfile", + "documentation": {} + }, + { + "label": "ZipFile", + "importPath": "zipfile", + "description": "zipfile", + "isExtraImport": true, + "detail": "zipfile", + "documentation": {} + }, + { + "label": "ZipInfo", + "importPath": "zipfile", + "description": "zipfile", + "isExtraImport": true, + "detail": "zipfile", + "documentation": {} + }, + { + "label": "ZipFile", + "importPath": "zipfile", + "description": "zipfile", + "isExtraImport": true, + "detail": "zipfile", + "documentation": {} + }, + { + "label": "ZipFile", + "importPath": "zipfile", + "description": "zipfile", + "isExtraImport": true, + "detail": "zipfile", + "documentation": {} + }, + { + "label": "ZipFile", + "importPath": "zipfile", + "description": "zipfile", + "isExtraImport": true, + "detail": "zipfile", + "documentation": {} + }, + { + "label": "ZipFile", + "importPath": "zipfile", + "description": "zipfile", + "isExtraImport": true, + "detail": "zipfile", + "documentation": {} + }, + { + "label": "ZipFile", + "importPath": "zipfile", + "description": "zipfile", + "isExtraImport": true, + "detail": "zipfile", + "documentation": {} + }, + { + "label": "ZipFile", + "importPath": "zipfile", + "description": "zipfile", + "isExtraImport": true, + "detail": "zipfile", + "documentation": {} + }, + { + "label": "ZipFile", + "importPath": "zipfile", + "description": "zipfile", + "isExtraImport": true, + "detail": "zipfile", + "documentation": {} + }, + { + "label": "regex", + "kind": 6, + "isExtraImport": true, + "importPath": "regex", + "description": "regex", + "detail": "regex", + "documentation": {} + }, + { + "label": "TextIOWrapper", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "BytesIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "TextIOWrapper", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "BytesIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "BytesIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "BytesIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "BytesIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "TextIOWrapper", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "BytesIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "StringIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "StringIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "StringIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "StringIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "BytesIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "StringIO", + "importPath": "io", + "description": "io", + "isExtraImport": true, + "detail": "io", + "documentation": {} + }, + { + "label": "ElementTree", + "importPath": "xml.etree", + "description": "xml.etree", + "isExtraImport": true, + "detail": "xml.etree", + "documentation": {} + }, + { + "label": "ElementTree", + "importPath": "xml.etree", + "description": "xml.etree", + "isExtraImport": true, + "detail": "xml.etree", + "documentation": {} + }, + { + "label": "ElementTree", + "importPath": "xml.etree", + "description": "xml.etree", + "isExtraImport": true, + "detail": "xml.etree", + "documentation": {} + }, + { + "label": "ElementTree", + "importPath": "xml.etree", + "description": "xml.etree", + "isExtraImport": true, + "detail": "xml.etree", + "documentation": {} + }, + { + "label": "ElementTree", + "importPath": "xml.etree", + "description": "xml.etree", + "isExtraImport": true, + "detail": "xml.etree", + "documentation": {} + }, + { + "label": "ElementTree", + "importPath": "xml.etree", + "description": "xml.etree", + "isExtraImport": true, + "detail": "xml.etree", + "documentation": {} + }, + { + "label": "re", + "kind": 6, + "isExtraImport": true, + "importPath": "re", + "description": "re", + "detail": "re", + "documentation": {} + }, + { + "label": "defaultdict", + "importPath": "collections", + "description": "collections", + "isExtraImport": true, + "detail": "collections", + "documentation": {} + }, + { + "label": "defaultdict", + "importPath": "collections", + "description": "collections", + "isExtraImport": true, + "detail": "collections", + "documentation": {} + }, + { + "label": "deque", + "importPath": "collections", + "description": "collections", + "isExtraImport": true, + "detail": "collections", + "documentation": {} + }, + { + "label": "open_binary", + "importPath": "importlib.resources", + "description": "importlib.resources", + "isExtraImport": true, + "detail": "importlib.resources", + "documentation": {} + }, + { + "label": "total_ordering", + "importPath": "functools", + "description": "functools", + "isExtraImport": true, + "detail": "functools", + "documentation": {} + }, + { + "label": "total_ordering", + "importPath": "functools", + "description": "functools", + "isExtraImport": true, + "detail": "functools", + "documentation": {} + }, + { + "label": "total_ordering", + "importPath": "functools", + "description": "functools", + "isExtraImport": true, + "detail": "functools", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Flag", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Flag", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "IntEnum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "IntEnum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "IntEnum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "IntEnum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Enum", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "Flag", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "auto", + "importPath": "enum", + "description": "enum", + "isExtraImport": true, + "detail": "enum", + "documentation": {} + }, + { + "label": "ExitStack", + "importPath": "contextlib", + "description": "contextlib", + "isExtraImport": true, + "detail": "contextlib", + "documentation": {} + }, + { + "label": "ExitStack", + "importPath": "contextlib", + "description": "contextlib", + "isExtraImport": true, + "detail": "contextlib", + "documentation": {} + }, + { + "label": "ExitStack", + "importPath": "contextlib", + "description": "contextlib", + "isExtraImport": true, + "detail": "contextlib", + "documentation": {} + }, + { + "label": "contextmanager", + "importPath": "contextlib", + "description": "contextlib", + "isExtraImport": true, + "detail": "contextlib", + "documentation": {} + }, + { + "label": "ExitStack", + "importPath": "contextlib", + "description": "contextlib", + "isExtraImport": true, + "detail": "contextlib", + "documentation": {} + }, + { + "label": "contextmanager", + "importPath": "contextlib", + "description": "contextlib", + "isExtraImport": true, + "detail": "contextlib", + "documentation": {} + }, + { + "label": "contextmanager", + "importPath": "contextlib", + "description": "contextlib", + "isExtraImport": true, + "detail": "contextlib", + "documentation": {} + }, + { + "label": "contextmanager", + "importPath": "contextlib", + "description": "contextlib", + "isExtraImport": true, + "detail": "contextlib", + "documentation": {} + }, + { + "label": "contextmanager", + "importPath": "contextlib", + "description": "contextlib", + "isExtraImport": true, + "detail": "contextlib", + "documentation": {} + }, + { + "label": "SimpleQueue", + "importPath": "queue", + "description": "queue", + "isExtraImport": true, + "detail": "queue", + "documentation": {} + }, + { + "label": "PriorityQueue", + "importPath": "queue", + "description": "queue", + "isExtraImport": true, + "detail": "queue", + "documentation": {} + }, + { + "label": "unicodedata", + "kind": 6, + "isExtraImport": true, + "importPath": "unicodedata", + "description": "unicodedata", + "detail": "unicodedata", + "documentation": {} + }, + { + "label": "TemporaryFile", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "TemporaryDirectory", + "importPath": "tempfile", + "description": "tempfile", + "isExtraImport": true, + "detail": "tempfile", + "documentation": {} + }, + { + "label": "logging", + "kind": 6, + "isExtraImport": true, + "importPath": "logging", + "description": "logging", + "detail": "logging", + "documentation": {} + }, + { + "label": "tarfile", + "kind": 6, + "isExtraImport": true, + "importPath": "tarfile", + "description": "tarfile", + "detail": "tarfile", + "documentation": {} + }, + { + "label": "AutoConfig", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "AutoModelForSeq2SeqLM", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "HfArgumentParser", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "PreTrainedModel", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "Seq2SeqTrainingArguments", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "AutoConfig", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "AutoModelForSeq2SeqLM", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "AutoTokenizer", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "NllbTokenizer", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "NllbTokenizerFast", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "PreTrainedModel", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "PreTrainedTokenizer", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "PreTrainedTokenizerFast", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "TranslationPipeline", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "PreTrainedModel", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "Seq2SeqTrainingArguments", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "AutoConfig", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "AutoModelForSeq2SeqLM", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "AutoTokenizer", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "DataCollatorForSeq2Seq", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "M2M100ForConditionalGeneration", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "M2M100Tokenizer", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "MBart50TokenizerFast", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "MBartTokenizer", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "MBartTokenizerFast", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "NllbTokenizer", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "NllbTokenizerFast", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "PreTrainedModel", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "PreTrainedTokenizerFast", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "Seq2SeqTrainer", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "Seq2SeqTrainingArguments", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "TrainerCallback", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "set_seed", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "PreTrainedTokenizerFast", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "Seq2SeqTrainingArguments", + "importPath": "transformers", + "description": "transformers", + "isExtraImport": true, + "detail": "transformers", + "documentation": {} + }, + { + "label": "ClearMLCallback", + "importPath": "transformers.integrations", + "description": "transformers.integrations", + "isExtraImport": true, + "detail": "transformers.integrations", + "documentation": {} + }, + { + "label": "TruncationStrategy", + "importPath": "transformers.tokenization_utils", + "description": "transformers.tokenization_utils", + "isExtraImport": true, + "detail": "transformers.tokenization_utils", + "documentation": {} + }, + { + "label": "BatchEncoding", + "importPath": "transformers.tokenization_utils", + "description": "transformers.tokenization_utils", + "isExtraImport": true, + "detail": "transformers.tokenization_utils", + "documentation": {} + }, + { + "label": "TruncationStrategy", + "importPath": "transformers.tokenization_utils", + "description": "transformers.tokenization_utils", + "isExtraImport": true, + "detail": "transformers.tokenization_utils", + "documentation": {} + }, + { + "label": "shutil", + "kind": 6, + "isExtraImport": true, + "importPath": "shutil", + "description": "shutil", + "detail": "shutil", + "documentation": {} + }, + { + "label": "asyncio", + "kind": 6, + "isExtraImport": true, + "importPath": "asyncio", + "description": "asyncio", + "detail": "asyncio", + "documentation": {} + }, + { + "label": "concurrent", + "kind": 6, + "isExtraImport": true, + "importPath": "concurrent", + "description": "concurrent", + "detail": "concurrent", + "documentation": {} + }, + { + "label": "concurrent.futures", + "kind": 6, + "isExtraImport": true, + "importPath": "concurrent.futures", + "description": "concurrent.futures", + "detail": "concurrent.futures", + "documentation": {} + }, + { + "label": "threading", + "kind": 6, + "isExtraImport": true, + "importPath": "threading", + "description": "threading", + "detail": "threading", + "documentation": {} + }, + { + "label": "json", + "kind": 6, + "isExtraImport": true, + "importPath": "json", + "description": "json", + "detail": "json", + "documentation": {} + }, + { + "label": "datetime", + "importPath": "datetime", + "description": "datetime", + "isExtraImport": true, + "detail": "datetime", + "documentation": {} + }, + { + "label": "aiohttp", + "kind": 6, + "isExtraImport": true, + "importPath": "aiohttp", + "description": "aiohttp", + "detail": "aiohttp", + "documentation": {} + }, + { + "label": "Task", + "importPath": "clearml", + "description": "clearml", + "isExtraImport": true, + "detail": "clearml", + "documentation": {} + }, + { + "label": "Task", + "importPath": "clearml", + "description": "clearml", + "isExtraImport": true, + "detail": "clearml", + "documentation": {} + }, + { + "label": "Task", + "importPath": "clearml", + "description": "clearml", + "isExtraImport": true, + "detail": "clearml", + "documentation": {} + }, + { + "label": "Task", + "importPath": "clearml", + "description": "clearml", + "isExtraImport": true, + "detail": "clearml", + "documentation": {} + }, + { + "label": "StorageManager", + "importPath": "clearml", + "description": "clearml", + "isExtraImport": true, + "detail": "clearml", + "documentation": {} + }, + { + "label": "Settings", + "importPath": "dynaconf.base", + "description": "dynaconf.base", + "isExtraImport": true, + "detail": "dynaconf.base", + "documentation": {} + }, + { + "label": "Settings", + "importPath": "dynaconf.base", + "description": "dynaconf.base", + "isExtraImport": true, + "detail": "dynaconf.base", + "documentation": {} + }, + { + "label": "Settings", + "importPath": "dynaconf.base", + "description": "dynaconf.base", + "isExtraImport": true, + "detail": "dynaconf.base", + "documentation": {} + }, + { + "label": "argparse", + "kind": 6, + "isExtraImport": true, + "importPath": "argparse", + "description": "argparse", + "detail": "argparse", + "documentation": {} + }, + { + "label": "time", + "kind": 6, + "isExtraImport": true, + "importPath": "time", + "description": "time", + "detail": "time", + "documentation": {} + }, + { + "label": "Dynaconf", + "importPath": "dynaconf", + "description": "dynaconf", + "isExtraImport": true, + "detail": "dynaconf", + "documentation": {} + }, + { + "label": "json_stream", + "kind": 6, + "isExtraImport": true, + "importPath": "json_stream", + "description": "json_stream", + "detail": "json_stream", + "documentation": {} + }, + { + "label": "numpy", + "kind": 6, + "isExtraImport": true, + "importPath": "numpy", + "description": "numpy", + "detail": "numpy", + "documentation": {} + }, + { + "label": "sentencepiece", + "kind": 6, + "isExtraImport": true, + "importPath": "sentencepiece", + "description": "sentencepiece", + "detail": "sentencepiece", + "documentation": {} + }, + { + "label": "gc", + "kind": 6, + "isExtraImport": true, + "importPath": "gc", + "description": "gc", + "detail": "gc", + "documentation": {} + }, + { + "label": "torch", + "kind": 6, + "isExtraImport": true, + "importPath": "torch", + "description": "torch", + "detail": "torch", + "documentation": {} + }, + { + "label": "Tensor", + "importPath": "torch", + "description": "torch", + "isExtraImport": true, + "detail": "torch", + "documentation": {} + }, + { + "label": "MosesPunctNormalizer", + "importPath": "sacremoses", + "description": "sacremoses", + "isExtraImport": true, + "detail": "sacremoses", + "documentation": {} + }, + { + "label": "MosesPunctNormalizer", + "importPath": "sacremoses", + "description": "sacremoses", + "isExtraImport": true, + "detail": "sacremoses", + "documentation": {} + }, + { + "label": "BeamSearchEncoderDecoderOutput", + "importPath": "transformers.generation", + "description": "transformers.generation", + "isExtraImport": true, + "detail": "transformers.generation", + "documentation": {} + }, + { + "label": "GreedySearchEncoderDecoderOutput", + "importPath": "transformers.generation", + "description": "transformers.generation", + "isExtraImport": true, + "detail": "transformers.generation", + "documentation": {} + }, + { + "label": "Dataset", + "importPath": "datasets.arrow_dataset", + "description": "datasets.arrow_dataset", + "isExtraImport": true, + "detail": "datasets.arrow_dataset", + "documentation": {} + }, + { + "label": "Dataset", + "importPath": "datasets.arrow_dataset", + "description": "datasets.arrow_dataset", + "isExtraImport": true, + "detail": "datasets.arrow_dataset", + "documentation": {} + }, + { + "label": "Dataset", + "importPath": "datasets.arrow_dataset", + "description": "datasets.arrow_dataset", + "isExtraImport": true, + "detail": "datasets.arrow_dataset", + "documentation": {} + }, + { + "label": "datasets.utils.logging", + "kind": 6, + "isExtraImport": true, + "importPath": "datasets.utils.logging", + "description": "datasets.utils.logging", + "detail": "datasets.utils.logging", + "documentation": {} + }, + { + "label": "transformers.utils.logging", + "kind": 6, + "isExtraImport": true, + "importPath": "transformers.utils.logging", + "description": "transformers.utils.logging", + "detail": "transformers.utils.logging", + "documentation": {} + }, + { + "label": "checkpoint", + "importPath": "torch.utils.checkpoint", + "description": "torch.utils.checkpoint", + "isExtraImport": true, + "detail": "torch.utils.checkpoint", + "documentation": {} + }, + { + "label": "MBart50Tokenizer", + "importPath": "transformers.models.mbart50", + "description": "transformers.models.mbart50", + "isExtraImport": true, + "detail": "transformers.models.mbart50", + "documentation": {} + }, + { + "label": "TrainerControl", + "importPath": "transformers.trainer_callback", + "description": "transformers.trainer_callback", + "isExtraImport": true, + "detail": "transformers.trainer_callback", + "documentation": {} + }, + { + "label": "TrainerState", + "importPath": "transformers.trainer_callback", + "description": "transformers.trainer_callback", + "isExtraImport": true, + "detail": "transformers.trainer_callback", + "documentation": {} + }, + { + "label": "get_last_checkpoint", + "importPath": "transformers.trainer_utils", + "description": "transformers.trainer_utils", + "isExtraImport": true, + "detail": "transformers.trainer_utils", + "documentation": {} + }, + { + "label": "TrainingArguments", + "importPath": "transformers.training_args", + "description": "transformers.training_args", + "isExtraImport": true, + "detail": "transformers.training_args", + "documentation": {} + }, + { + "label": "thot.translation", + "kind": 6, + "isExtraImport": true, + "importPath": "thot.translation", + "description": "thot.translation", + "detail": "thot.translation", + "documentation": {} + }, + { + "label": "thot.alignment", + "kind": 6, + "isExtraImport": true, + "importPath": "thot.alignment", + "description": "thot.alignment", + "detail": "thot.alignment", + "documentation": {} + }, + { + "label": "Struct", + "importPath": "struct", + "description": "struct", + "isExtraImport": true, + "detail": "struct", + "documentation": {} + }, + { + "label": "thot.common", + "kind": 6, + "isExtraImport": true, + "importPath": "thot.common", + "description": "thot.common", + "detail": "thot.common", + "documentation": {} + }, + { + "label": "TracebackType", + "importPath": "types", + "description": "types", + "isExtraImport": true, + "detail": "types", + "documentation": {} + }, + { + "label": "TracebackType", + "importPath": "types", + "description": "types", + "isExtraImport": true, + "detail": "types", + "documentation": {} + }, + { + "label": "TracebackType", + "importPath": "types", + "description": "types", + "isExtraImport": true, + "detail": "types", + "documentation": {} + }, + { + "label": "TracebackType", + "importPath": "types", + "description": "types", + "isExtraImport": true, + "detail": "types", + "documentation": {} + }, + { + "label": "SortedSet", + "importPath": "sortedcontainers", + "description": "sortedcontainers", + "isExtraImport": true, + "detail": "sortedcontainers", + "documentation": {} + }, + { + "label": "from_fp", + "importPath": "charset_normalizer", + "description": "charset_normalizer", + "isExtraImport": true, + "detail": "charset_normalizer", + "documentation": {} + }, + { + "label": "from_path", + "importPath": "charset_normalizer", + "description": "charset_normalizer", + "isExtraImport": true, + "detail": "charset_normalizer", + "documentation": {} + }, + { + "label": "find_spec", + "importPath": "importlib.util", + "description": "importlib.util", + "isExtraImport": true, + "detail": "importlib.util", + "documentation": {} + }, + { + "label": "FlatUpgmaClusterer", + "importPath": "machine.clusterers", + "description": "machine.clusterers", + "isExtraImport": true, + "detail": "machine.clusterers", + "documentation": {} + }, + { + "label": "Cluster", + "importPath": "machine.clusterers", + "description": "machine.clusterers", + "isExtraImport": true, + "detail": "machine.clusterers", + "documentation": {} + }, + { + "label": "NeighborJoiningClusterer", + "importPath": "machine.clusterers", + "description": "machine.clusterers", + "isExtraImport": true, + "detail": "machine.clusterers", + "documentation": {} + }, + { + "label": "Cluster", + "importPath": "machine.clusterers", + "description": "machine.clusterers", + "isExtraImport": true, + "detail": "machine.clusterers", + "documentation": {} + }, + { + "label": "UpgmaClusterer", + "importPath": "machine.clusterers", + "description": "machine.clusterers", + "isExtraImport": true, + "detail": "machine.clusterers", + "documentation": {} + }, + { + "label": "numerical_edge_match", + "importPath": "networkx.algorithms.isomorphism", + "description": "networkx.algorithms.isomorphism", + "isExtraImport": true, + "detail": "networkx.algorithms.isomorphism", + "documentation": {} + }, + { + "label": "numerical_edge_match", + "importPath": "networkx.algorithms.isomorphism", + "description": "networkx.algorithms.isomorphism", + "isExtraImport": true, + "detail": "networkx.algorithms.isomorphism", + "documentation": {} + }, + { + "label": "ParatextProjectSettings", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ParatextProjectTermsParserBase", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "AlignedWordPair", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "AlignmentRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DictionaryAlignmentCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DictionaryTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "MemoryAlignmentCollection", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "MemoryText", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ParallelTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ScriptureRef", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "StandardParallelTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRowFlags", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ParatextBackupTermsCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ParatextBackupTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ParatextProjectSettings", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "UsfmStylesheet", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ParatextProjectSettings", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ParatextProjectTermsParserBase", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "UsfmStylesheet", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ScriptureRef", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ParatextTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "extract_scripture_corpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "MultiKeyRef", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextFileTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRowFlags", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextFileTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "FileParatextProjectTextUpdater", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ScriptureRef", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "UpdateUsfmParserHandler", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "parse_usfm", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ScriptureRef", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "UsfmFileTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "UsfmFileTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "FileParatextProjectSettingsParser", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "FileParatextProjectTextUpdater", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ParatextTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ScriptureRef", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "StandardParallelTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ZipParatextProjectSettingsParser", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ZipParatextProjectTextUpdater", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ScriptureRef", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "UsfmMemoryText", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "UsfmStylesheet", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "UsfmTokenizer", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "UsfmTokenType", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ScriptureRef", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DictionaryTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DictionaryTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "MemoryText", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DictionaryTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "MemoryText", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "ScriptureRef", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DblBundleTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DictionaryTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "MemoryText", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "StandardParallelTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DictionaryTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "MemoryText", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "AlignedWordPair", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "AlignmentRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DictionaryAlignmentCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DictionaryTextCorpus", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "MemoryAlignmentCollection", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "MemoryText", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "TextRow", + "importPath": "machine.corpora", + "description": "machine.corpora", + "isExtraImport": true, + "detail": "machine.corpora", + "documentation": {} + }, + { + "label": "DblBundleTestEnvironment", + "importPath": "testutils.dbl_bundle_test_environment", + "description": "testutils.dbl_bundle_test_environment", + "isExtraImport": true, + "detail": "testutils.dbl_bundle_test_environment", + "documentation": {} + }, + { + "label": "DblBundleTestEnvironment", + "importPath": "testutils.dbl_bundle_test_environment", + "description": "testutils.dbl_bundle_test_environment", + "isExtraImport": true, + "detail": "testutils.dbl_bundle_test_environment", + "documentation": {} + }, + { + "label": "pandas", + "kind": 6, + "isExtraImport": true, + "importPath": "pandas", + "description": "pandas", + "detail": "pandas", + "documentation": {} + }, + { + "label": "ENGLISH_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "ORIGINAL_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "Versification", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "ENGLISH_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "ORIGINAL_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "Versification", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "ORIGINAL_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "VerseRef", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "get_books", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "get_chapters", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "ENGLISH_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "LAST_BOOK", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "ORIGINAL_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "RUSSIAN_ORTHODOX_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "SEPTUAGINT_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "VULGATE_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "ValidStatus", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "VerseRef", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "Versification", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "get_bbbcccvvv", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "ENGLISH_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "ORIGINAL_VERSIFICATION", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "VerseRef", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "Versification", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "VerseRef", + "importPath": "machine.scripture", + "description": "machine.scripture", + "isExtraImport": true, + "detail": "machine.scripture", + "documentation": {} + }, + { + "label": "create_test_paratext_backup", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "create_test_paratext_backup", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_TEST_PROJECT_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "TEXT_TEST_PROJECT_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "TEXT_TEST_PROJECT_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_TEST_PROJECT_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "ignore_line_endings", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_TEST_PROJECT_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "scripture_ref", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_TEST_PROJECT_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "TEST_DATA_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_SOURCE_PROJECT_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_TARGET_PROJECT_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "scripture_ref", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_TEST_PROJECT_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "scripture_ref", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "CUSTOM_VERS_PATH", + "importPath": "testutils.corpora_test_helpers", + "description": "testutils.corpora_test_helpers", + "isExtraImport": true, + "detail": "testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "_get_glosses", + "importPath": "machine.corpora.paratext_project_terms_parser_base", + "description": "machine.corpora.paratext_project_terms_parser_base", + "isExtraImport": true, + "detail": "machine.corpora.paratext_project_terms_parser_base", + "documentation": {} + }, + { + "label": "_strip_parens", + "importPath": "machine.corpora.paratext_project_terms_parser_base", + "description": "machine.corpora.paratext_project_terms_parser_base", + "isExtraImport": true, + "detail": "machine.corpora.paratext_project_terms_parser_base", + "documentation": {} + }, + { + "label": "MemoryParatextProjectTermsParser", + "importPath": "tests.corpora.memory_paratext_project_terms_parser", + "description": "tests.corpora.memory_paratext_project_terms_parser", + "isExtraImport": true, + "detail": "tests.corpora.memory_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "pytest", + "kind": 6, + "isExtraImport": true, + "importPath": "pytest", + "description": "pytest", + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "approx", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "approx", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "approx", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "approx", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "raises", + "importPath": "pytest", + "description": "pytest", + "isExtraImport": true, + "detail": "pytest", + "documentation": {} + }, + { + "label": "Decoy", + "importPath": "decoy", + "description": "decoy", + "isExtraImport": true, + "detail": "decoy", + "documentation": {} + }, + { + "label": "matchers", + "importPath": "decoy", + "description": "decoy", + "isExtraImport": true, + "detail": "decoy", + "documentation": {} + }, + { + "label": "Decoy", + "importPath": "decoy", + "description": "decoy", + "isExtraImport": true, + "detail": "decoy", + "documentation": {} + }, + { + "label": "matchers", + "importPath": "decoy", + "description": "decoy", + "isExtraImport": true, + "detail": "decoy", + "documentation": {} + }, + { + "label": "Decoy", + "importPath": "decoy", + "description": "decoy", + "isExtraImport": true, + "detail": "decoy", + "documentation": {} + }, + { + "label": "matchers", + "importPath": "decoy", + "description": "decoy", + "isExtraImport": true, + "detail": "decoy", + "documentation": {} + }, + { + "label": "Decoy", + "importPath": "decoy", + "description": "decoy", + "isExtraImport": true, + "detail": "decoy", + "documentation": {} + }, + { + "label": "MockSettings", + "importPath": "testutils.mock_settings", + "description": "testutils.mock_settings", + "isExtraImport": true, + "detail": "testutils.mock_settings", + "documentation": {} + }, + { + "label": "MockSettings", + "importPath": "testutils.mock_settings", + "description": "testutils.mock_settings", + "isExtraImport": true, + "detail": "testutils.mock_settings", + "documentation": {} + }, + { + "label": "MockSettings", + "importPath": "testutils.mock_settings", + "description": "testutils.mock_settings", + "isExtraImport": true, + "detail": "testutils.mock_settings", + "documentation": {} + }, + { + "label": "Range", + "importPath": "machine.annotations", + "description": "machine.annotations", + "isExtraImport": true, + "detail": "machine.annotations", + "documentation": {} + }, + { + "label": "Range", + "importPath": "machine.annotations", + "description": "machine.annotations", + "isExtraImport": true, + "detail": "machine.annotations", + "documentation": {} + }, + { + "label": "Range", + "importPath": "machine.annotations", + "description": "machine.annotations", + "isExtraImport": true, + "detail": "machine.annotations", + "documentation": {} + }, + { + "label": "Range", + "importPath": "machine.annotations", + "description": "machine.annotations", + "isExtraImport": true, + "detail": "machine.annotations", + "documentation": {} + }, + { + "label": "Range", + "importPath": "machine.annotations", + "description": "machine.annotations", + "isExtraImport": true, + "detail": "machine.annotations", + "documentation": {} + }, + { + "label": "DictToJsonWriter", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "NmtEngineBuildJob", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "NmtModelFactory", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "PretranslationInfo", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "TranslationFileService", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "DictToJsonWriter", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "PretranslationInfo", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "SmtEngineBuildJob", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "SmtModelFactory", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "DictToJsonWriter", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "WordAlignmentBuildJob", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "WordAlignmentModelFactory", + "importPath": "machine.jobs", + "description": "machine.jobs", + "isExtraImport": true, + "detail": "machine.jobs", + "documentation": {} + }, + { + "label": "Phrase", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "Trainer", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TrainStats", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationEngine", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationResult", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationSources", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "Phrase", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "Trainer", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TrainStats", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationResult", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationSources", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "Truecaser", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "Trainer", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TrainStats", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "ErrorCorrectionModel", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationResultBuilder", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationSources", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "FuzzyEditDistanceWordAlignmentMethod", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "MAX_SEGMENT_LENGTH", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "InteractiveTranslationEngine", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "InteractiveTranslator", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "InteractiveTranslatorFactory", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationSources", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordGraph", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordGraphArc", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "PhraseTranslationSuggester", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationResult", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationResultBuilder", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "TranslationSources", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "UnigramTruecaser", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAligner", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation", + "description": "machine.translation", + "isExtraImport": true, + "detail": "machine.translation", + "documentation": {} + }, + { + "label": "CanceledError", + "importPath": "machine.utils", + "description": "machine.utils", + "isExtraImport": true, + "detail": "machine.utils", + "documentation": {} + }, + { + "label": "ContextManagedGenerator", + "importPath": "machine.utils", + "description": "machine.utils", + "isExtraImport": true, + "detail": "machine.utils", + "documentation": {} + }, + { + "label": "CanceledError", + "importPath": "machine.utils", + "description": "machine.utils", + "isExtraImport": true, + "detail": "machine.utils", + "documentation": {} + }, + { + "label": "ContextManagedGenerator", + "importPath": "machine.utils", + "description": "machine.utils", + "isExtraImport": true, + "detail": "machine.utils", + "documentation": {} + }, + { + "label": "CanceledError", + "importPath": "machine.utils", + "description": "machine.utils", + "isExtraImport": true, + "detail": "machine.utils", + "documentation": {} + }, + { + "label": "TranslationFileService", + "importPath": "machine.jobs.translation_file_service", + "description": "machine.jobs.translation_file_service", + "isExtraImport": true, + "detail": "machine.jobs.translation_file_service", + "documentation": {} + }, + { + "label": "TranslationEngine", + "importPath": "machine.translation.translation_engine", + "description": "machine.translation.translation_engine", + "isExtraImport": true, + "detail": "machine.translation.translation_engine", + "documentation": {} + }, + { + "label": "WordAlignmentFileService", + "importPath": "machine.jobs.word_alignment_file_service", + "description": "machine.jobs.word_alignment_file_service", + "isExtraImport": true, + "detail": "machine.jobs.word_alignment_file_service", + "documentation": {} + }, + { + "label": "WordAlignmentModel", + "importPath": "machine.translation.word_alignment_model", + "description": "machine.translation.word_alignment_model", + "isExtraImport": true, + "detail": "machine.translation.word_alignment_model", + "documentation": {} + }, + { + "label": "Alignment", + "importPath": "machine.sequence_alignment", + "description": "machine.sequence_alignment", + "isExtraImport": true, + "detail": "machine.sequence_alignment", + "documentation": {} + }, + { + "label": "AlignmentCell", + "importPath": "machine.sequence_alignment", + "description": "machine.sequence_alignment", + "isExtraImport": true, + "detail": "machine.sequence_alignment", + "documentation": {} + }, + { + "label": "AlignmentMode", + "importPath": "machine.sequence_alignment", + "description": "machine.sequence_alignment", + "isExtraImport": true, + "detail": "machine.sequence_alignment", + "documentation": {} + }, + { + "label": "PairwiseAlignmentAlgorithm", + "importPath": "machine.sequence_alignment", + "description": "machine.sequence_alignment", + "isExtraImport": true, + "detail": "machine.sequence_alignment", + "documentation": {} + }, + { + "label": "PairwiseAlignmentScorer", + "importPath": "machine.sequence_alignment", + "description": "machine.sequence_alignment", + "isExtraImport": true, + "detail": "machine.sequence_alignment", + "documentation": {} + }, + { + "label": "SentencePieceDetokenizer", + "importPath": "machine.tokenization.sentencepiece", + "description": "machine.tokenization.sentencepiece", + "isExtraImport": true, + "detail": "machine.tokenization.sentencepiece", + "documentation": {} + }, + { + "label": "SentencePieceTokenizer", + "importPath": "machine.tokenization.sentencepiece", + "description": "machine.tokenization.sentencepiece", + "isExtraImport": true, + "detail": "machine.tokenization.sentencepiece", + "documentation": {} + }, + { + "label": "LatinSentenceTokenizer", + "importPath": "machine.tokenization", + "description": "machine.tokenization", + "isExtraImport": true, + "detail": "machine.tokenization", + "documentation": {} + }, + { + "label": "LatinWordDetokenizer", + "importPath": "machine.tokenization", + "description": "machine.tokenization", + "isExtraImport": true, + "detail": "machine.tokenization", + "documentation": {} + }, + { + "label": "LatinWordTokenizer", + "importPath": "machine.tokenization", + "description": "machine.tokenization", + "isExtraImport": true, + "detail": "machine.tokenization", + "documentation": {} + }, + { + "label": "LineSegmentTokenizer", + "importPath": "machine.tokenization", + "description": "machine.tokenization", + "isExtraImport": true, + "detail": "machine.tokenization", + "documentation": {} + }, + { + "label": "ZwspWordTokenizer", + "importPath": "machine.tokenization", + "description": "machine.tokenization", + "isExtraImport": true, + "detail": "machine.tokenization", + "documentation": {} + }, + { + "label": "ZwspWordDetokenizer", + "importPath": "machine.tokenization", + "description": "machine.tokenization", + "isExtraImport": true, + "detail": "machine.tokenization", + "documentation": {} + }, + { + "label": "StringTokenizer", + "importPath": "machine.tokenization", + "description": "machine.tokenization", + "isExtraImport": true, + "detail": "machine.tokenization", + "documentation": {} + }, + { + "label": "WhitespaceTokenizer", + "importPath": "machine.tokenization", + "description": "machine.tokenization", + "isExtraImport": true, + "detail": "machine.tokenization", + "documentation": {} + }, + { + "label": "WHITESPACE_TOKENIZER", + "importPath": "machine.tokenization", + "description": "machine.tokenization", + "isExtraImport": true, + "detail": "machine.tokenization", + "documentation": {} + }, + { + "label": "HuggingFaceNmtEngine", + "importPath": "machine.translation.huggingface", + "description": "machine.translation.huggingface", + "isExtraImport": true, + "detail": "machine.translation.huggingface", + "documentation": {} + }, + { + "label": "HuggingFaceNmtEngine", + "importPath": "machine.translation.huggingface", + "description": "machine.translation.huggingface", + "isExtraImport": true, + "detail": "machine.translation.huggingface", + "documentation": {} + }, + { + "label": "HuggingFaceNmtModelTrainer", + "importPath": "machine.translation.huggingface", + "description": "machine.translation.huggingface", + "isExtraImport": true, + "detail": "machine.translation.huggingface", + "documentation": {} + }, + { + "label": "TOY_CORPUS_FAST_ALIGN_PATH", + "importPath": "testutils.thot_test_helpers", + "description": "testutils.thot_test_helpers", + "isExtraImport": true, + "detail": "testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "TOY_CORPUS_HMM_PATH", + "importPath": "testutils.thot_test_helpers", + "description": "testutils.thot_test_helpers", + "isExtraImport": true, + "detail": "testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "create_test_parallel_corpus", + "importPath": "testutils.thot_test_helpers", + "description": "testutils.thot_test_helpers", + "isExtraImport": true, + "detail": "testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "create_test_parallel_corpus", + "importPath": "testutils.thot_test_helpers", + "description": "testutils.thot_test_helpers", + "isExtraImport": true, + "detail": "testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "TOY_CORPUS_FAST_ALIGN_CONFIG_FILENAME", + "importPath": "testutils.thot_test_helpers", + "description": "testutils.thot_test_helpers", + "isExtraImport": true, + "detail": "testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "TOY_CORPUS_HMM_CONFIG_FILENAME", + "importPath": "testutils.thot_test_helpers", + "description": "testutils.thot_test_helpers", + "isExtraImport": true, + "detail": "testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "ThotFastAlignWordAlignmentModel", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotSymmetrizedWordAlignmentModel", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotHmmWordAlignmentModel", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotSymmetrizedWordAlignmentModel", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotIbm4WordAlignmentModel", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotSmtModel", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotSmtParameters", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotWordAlignmentModelType", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotSmtModel", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotSmtModelTrainer", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotSmtParameters", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotWordAlignmentModelType", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotWordAlignmentModelTrainer", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotWordAlignmentModelType", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "ThotWordAlignmentParameters", + "importPath": "machine.translation.thot", + "description": "machine.translation.thot", + "isExtraImport": true, + "detail": "machine.translation.thot", + "documentation": {} + }, + { + "label": "get_emtpy_parallel_corpus", + "importPath": "translation.thot.thot_model_trainer_helper", + "description": "translation.thot.thot_model_trainer_helper", + "isExtraImport": true, + "detail": "translation.thot.thot_model_trainer_helper", + "documentation": {} + }, + { + "label": "get_parallel_corpus", + "importPath": "translation.thot.thot_model_trainer_helper", + "description": "translation.thot.thot_model_trainer_helper", + "isExtraImport": true, + "detail": "translation.thot.thot_model_trainer_helper", + "documentation": {} + }, + { + "label": "get_emtpy_parallel_corpus", + "importPath": "translation.thot.thot_model_trainer_helper", + "description": "translation.thot.thot_model_trainer_helper", + "isExtraImport": true, + "detail": "translation.thot.thot_model_trainer_helper", + "documentation": {} + }, + { + "label": "get_parallel_corpus", + "importPath": "translation.thot.thot_model_trainer_helper", + "description": "translation.thot.thot_model_trainer_helper", + "isExtraImport": true, + "detail": "translation.thot.thot_model_trainer_helper", + "documentation": {} + }, + { + "label": "ParallelTextCorpus", + "importPath": "machine.corpora.parallel_text_corpus", + "description": "machine.corpora.parallel_text_corpus", + "isExtraImport": true, + "detail": "machine.corpora.parallel_text_corpus", + "documentation": {} + }, + { + "label": "ParallelTextCorpus", + "importPath": "machine.corpora.parallel_text_corpus", + "description": "machine.corpora.parallel_text_corpus", + "isExtraImport": true, + "detail": "machine.corpora.parallel_text_corpus", + "documentation": {} + }, + { + "label": "SymmetrizedWordAlignmentModelTrainer", + "importPath": "machine.translation.symmetrized_word_alignment_model_trainer", + "description": "machine.translation.symmetrized_word_alignment_model_trainer", + "isExtraImport": true, + "detail": "machine.translation.symmetrized_word_alignment_model_trainer", + "documentation": {} + }, + { + "label": "ThotSymmetrizedWordAlignmentModel", + "importPath": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "description": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "isExtraImport": true, + "detail": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "documentation": {} + }, + { + "label": "create_thot_word_alignment_model", + "importPath": "machine.translation.thot.thot_word_alignment_model_utils", + "description": "machine.translation.thot.thot_word_alignment_model_utils", + "isExtraImport": true, + "detail": "machine.translation.thot.thot_word_alignment_model_utils", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "importPath": "machine.translation.word_alignment_matrix", + "description": "machine.translation.word_alignment_matrix", + "isExtraImport": true, + "detail": "machine.translation.word_alignment_matrix", + "documentation": {} + }, + { + "label": "ParallelTextRow", + "importPath": "machine.corpora.parallel_text_row", + "description": "machine.corpora.parallel_text_row", + "isExtraImport": true, + "detail": "machine.corpora.parallel_text_row", + "documentation": {} + }, + { + "label": "Range", + "kind": 6, + "importPath": "machine.annotations.range", + "description": "machine.annotations.range", + "peekOfCode": "class Range(Generic[Offset], Sized, Iterable[Offset], Comparable):\n _factory: _RangeFactory[Offset]\n start: Offset\n end: Offset\n @classmethod\n def create(cls, start: Offset, end: Optional[Offset] = None) -> Range[Offset]:\n if isinstance(start, int):\n factory = cast(_RangeFactory[Offset], _INT_RANGE_FACTORY)\n else:\n raise RuntimeError(\"Range type not supported.\")", + "detail": "machine.annotations.range", + "documentation": {} + }, + { + "label": "_RangeFactory", + "kind": 6, + "importPath": "machine.annotations.range", + "description": "machine.annotations.range", + "peekOfCode": "class _RangeFactory(ABC, Generic[Offset]):\n @property\n @abstractmethod\n def include_endpoint(self) -> bool: ...\n def create(self, start: Offset, end: Optional[Offset]) -> Range[Offset]:\n if end is None:\n end = start\n return Range(self, start, end)\n @abstractmethod\n def get_length(self, start: Offset, end: Offset) -> int: ...", + "detail": "machine.annotations.range", + "documentation": {} + }, + { + "label": "_IntRangeFactory", + "kind": 6, + "importPath": "machine.annotations.range", + "description": "machine.annotations.range", + "peekOfCode": "class _IntRangeFactory(_RangeFactory[int]):\n @property\n def include_endpoint(self) -> bool:\n return False\n def create(self, start: int, end: Optional[int]) -> Range[int]:\n if end is None:\n end = start + 1\n return Range(self, start, end)\n def get_length(self, start: int, end: int) -> int:\n return end - start", + "detail": "machine.annotations.range", + "documentation": {} + }, + { + "label": "Offset", + "kind": 5, + "importPath": "machine.annotations.range", + "description": "machine.annotations.range", + "peekOfCode": "Offset = TypeVar(\"Offset\")\n@dataclass(frozen=True)\nclass Range(Generic[Offset], Sized, Iterable[Offset], Comparable):\n _factory: _RangeFactory[Offset]\n start: Offset\n end: Offset\n @classmethod\n def create(cls, start: Offset, end: Optional[Offset] = None) -> Range[Offset]:\n if isinstance(start, int):\n factory = cast(_RangeFactory[Offset], _INT_RANGE_FACTORY)", + "detail": "machine.annotations.range", + "documentation": {} + }, + { + "label": "_INT_RANGE_FACTORY", + "kind": 5, + "importPath": "machine.annotations.range", + "description": "machine.annotations.range", + "peekOfCode": "_INT_RANGE_FACTORY = _IntRangeFactory()", + "detail": "machine.annotations.range", + "documentation": {} + }, + { + "label": "Cluster", + "kind": 6, + "importPath": "machine.clusterers.cluster", + "description": "machine.clusterers.cluster", + "peekOfCode": "class Cluster(Generic[T]):\n @overload\n def __init__(self, *data_objects: T, noise: bool = False, description: Optional[str] = None) -> None: ...\n @overload\n def __init__(self, data_objects: Iterable[T], noise: bool = False, description: Optional[str] = None) -> None: ...\n def __init__(self, *args, **kwargs) -> None:\n self._data_objects: FrozenSet[T]\n self._noise: bool\n self._description: Optional[str]\n if len(args) == 0:", + "detail": "machine.clusterers.cluster", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.clusterers.cluster", + "description": "machine.clusterers.cluster", + "peekOfCode": "T = TypeVar(\"T\")\nclass Cluster(Generic[T]):\n @overload\n def __init__(self, *data_objects: T, noise: bool = False, description: Optional[str] = None) -> None: ...\n @overload\n def __init__(self, data_objects: Iterable[T], noise: bool = False, description: Optional[str] = None) -> None: ...\n def __init__(self, *args, **kwargs) -> None:\n self._data_objects: FrozenSet[T]\n self._noise: bool\n self._description: Optional[str]", + "detail": "machine.clusterers.cluster", + "documentation": {} + }, + { + "label": "FlatClusterer", + "kind": 6, + "importPath": "machine.clusterers.flat_clusterer", + "description": "machine.clusterers.flat_clusterer", + "peekOfCode": "class FlatClusterer(ABC, Generic[T]):\n @abstractmethod\n def generate_clusters(self, data_objects: Iterable[T]) -> Iterable[Cluster[T]]: ...", + "detail": "machine.clusterers.flat_clusterer", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.clusterers.flat_clusterer", + "description": "machine.clusterers.flat_clusterer", + "peekOfCode": "T = TypeVar(\"T\")\nclass FlatClusterer(ABC, Generic[T]):\n @abstractmethod\n def generate_clusters(self, data_objects: Iterable[T]) -> Iterable[Cluster[T]]: ...", + "detail": "machine.clusterers.flat_clusterer", + "documentation": {} + }, + { + "label": "FlatUpgmaClusterer", + "kind": 6, + "importPath": "machine.clusterers.flat_upgma_clusterer", + "description": "machine.clusterers.flat_upgma_clusterer", + "peekOfCode": "class FlatUpgmaClusterer(FlatClusterer[T]):\n def __init__(self, get_distance: Callable[[T, T], float], threshold: float) -> None:\n self._get_distance = get_distance\n self._threshold = threshold\n def generate_clusters(self, data_objects: Iterable[T]) -> Iterable[Cluster[T]]:\n clusters: List[Cluster[T]] = [\n Cluster[T](data_object, description=str(data_object)) for data_object in data_objects\n ]\n while len(clusters) >= 2:\n min_i = 0", + "detail": "machine.clusterers.flat_upgma_clusterer", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.clusterers.flat_upgma_clusterer", + "description": "machine.clusterers.flat_upgma_clusterer", + "peekOfCode": "T = TypeVar(\"T\")\nclass FlatUpgmaClusterer(FlatClusterer[T]):\n def __init__(self, get_distance: Callable[[T, T], float], threshold: float) -> None:\n self._get_distance = get_distance\n self._threshold = threshold\n def generate_clusters(self, data_objects: Iterable[T]) -> Iterable[Cluster[T]]:\n clusters: List[Cluster[T]] = [\n Cluster[T](data_object, description=str(data_object)) for data_object in data_objects\n ]\n while len(clusters) >= 2:", + "detail": "machine.clusterers.flat_upgma_clusterer", + "documentation": {} + }, + { + "label": "NeighborJoiningClusterer", + "kind": 6, + "importPath": "machine.clusterers.neighbor_joining_clusterer", + "description": "machine.clusterers.neighbor_joining_clusterer", + "peekOfCode": "class NeighborJoiningClusterer(UnrootedHierarchicalClusterer[T]):\n def __init__(self, get_distance: Callable[[T, T], float]) -> None:\n self._get_distance = get_distance\n def generate_clusters(self, data_objects: Iterable[T]) -> Graph[Cluster[T]]:\n tree: DiGraph[Cluster[T]] = DiGraph()\n clusters: List[Cluster[T]] = []\n for data_object in data_objects:\n cluster = Cluster[T](data_object, description=str(data_object))\n clusters.append(cluster)\n tree.add_node(cluster, cluster=cluster)", + "detail": "machine.clusterers.neighbor_joining_clusterer", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.clusterers.neighbor_joining_clusterer", + "description": "machine.clusterers.neighbor_joining_clusterer", + "peekOfCode": "T = TypeVar(\"T\")\nclass NeighborJoiningClusterer(UnrootedHierarchicalClusterer[T]):\n def __init__(self, get_distance: Callable[[T, T], float]) -> None:\n self._get_distance = get_distance\n def generate_clusters(self, data_objects: Iterable[T]) -> Graph[Cluster[T]]:\n tree: DiGraph[Cluster[T]] = DiGraph()\n clusters: List[Cluster[T]] = []\n for data_object in data_objects:\n cluster = Cluster[T](data_object, description=str(data_object))\n clusters.append(cluster)", + "detail": "machine.clusterers.neighbor_joining_clusterer", + "documentation": {} + }, + { + "label": "RootedHierarchicalClusterer", + "kind": 6, + "importPath": "machine.clusterers.rooted_hierarchical_clusterer", + "description": "machine.clusterers.rooted_hierarchical_clusterer", + "peekOfCode": "class RootedHierarchicalClusterer(ABC, Generic[T]):\n @abstractmethod\n def generate_clusters(self, data_objects: Iterable[T]) -> DiGraph[Cluster[T]]: ...", + "detail": "machine.clusterers.rooted_hierarchical_clusterer", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.clusterers.rooted_hierarchical_clusterer", + "description": "machine.clusterers.rooted_hierarchical_clusterer", + "peekOfCode": "T = TypeVar(\"T\")\nclass RootedHierarchicalClusterer(ABC, Generic[T]):\n @abstractmethod\n def generate_clusters(self, data_objects: Iterable[T]) -> DiGraph[Cluster[T]]: ...", + "detail": "machine.clusterers.rooted_hierarchical_clusterer", + "documentation": {} + }, + { + "label": "UnrootedHierarchicalClusterer", + "kind": 6, + "importPath": "machine.clusterers.unrooted_hierarchical_clusterer", + "description": "machine.clusterers.unrooted_hierarchical_clusterer", + "peekOfCode": "class UnrootedHierarchicalClusterer(ABC, Generic[T]):\n @abstractmethod\n def generate_clusters(self, data_objects: Iterable[T]) -> Graph[Cluster[T]]: ...", + "detail": "machine.clusterers.unrooted_hierarchical_clusterer", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.clusterers.unrooted_hierarchical_clusterer", + "description": "machine.clusterers.unrooted_hierarchical_clusterer", + "peekOfCode": "T = TypeVar(\"T\")\nclass UnrootedHierarchicalClusterer(ABC, Generic[T]):\n @abstractmethod\n def generate_clusters(self, data_objects: Iterable[T]) -> Graph[Cluster[T]]: ...", + "detail": "machine.clusterers.unrooted_hierarchical_clusterer", + "documentation": {} + }, + { + "label": "UpgmaClusterer", + "kind": 6, + "importPath": "machine.clusterers.upgma_clusterer", + "description": "machine.clusterers.upgma_clusterer", + "peekOfCode": "class UpgmaClusterer(RootedHierarchicalClusterer[T]):\n def __init__(self, get_distance: Callable[[T, T], float]) -> None:\n self._get_distance = get_distance\n def generate_clusters(self, data_objects: Iterable[T]) -> DiGraph[Cluster[T]]:\n tree: DiGraph[Cluster[T]] = DiGraph()\n clusters: List[Cluster[T]] = []\n for data_object in data_objects:\n cluster = Cluster[T](data_object, description=str(data_object))\n clusters.append(cluster)\n tree.add_node(cluster, cluster=cluster)", + "detail": "machine.clusterers.upgma_clusterer", + "documentation": {} + }, + { + "label": "get_all_data_objects_count", + "kind": 2, + "importPath": "machine.clusterers.upgma_clusterer", + "description": "machine.clusterers.upgma_clusterer", + "peekOfCode": "def get_all_data_objects_count(tree: DiGraph[Cluster[T]], cluster: Cluster[T]) -> int:\n if tree.out_degree(cluster) == 0:\n return len(cluster.data_objects)\n return sum(\n (get_all_data_objects_count(tree, edge[1]) for edge in tree.out_edges(cluster)),\n len(cluster.data_objects),\n )", + "detail": "machine.clusterers.upgma_clusterer", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.clusterers.upgma_clusterer", + "description": "machine.clusterers.upgma_clusterer", + "peekOfCode": "T = TypeVar(\"T\")\nclass UpgmaClusterer(RootedHierarchicalClusterer[T]):\n def __init__(self, get_distance: Callable[[T, T], float]) -> None:\n self._get_distance = get_distance\n def generate_clusters(self, data_objects: Iterable[T]) -> DiGraph[Cluster[T]]:\n tree: DiGraph[Cluster[T]] = DiGraph()\n clusters: List[Cluster[T]] = []\n for data_object in data_objects:\n cluster = Cluster[T](data_object, description=str(data_object))\n clusters.append(cluster)", + "detail": "machine.clusterers.upgma_clusterer", + "documentation": {} + }, + { + "label": "AlignedWordPair", + "kind": 6, + "importPath": "machine.corpora.aligned_word_pair", + "description": "machine.corpora.aligned_word_pair", + "peekOfCode": "class AlignedWordPair:\n @classmethod\n def from_string(cls, alignments: str, invert: bool = False) -> Collection[AlignedWordPair]:\n result: List[AlignedWordPair] = []\n def convert_to_num(token: str) -> int:\n return -1 if token == \"NULL\" else int(token)\n for token in alignments.split():\n dash_index = token.index(\"-\")\n i = convert_to_num(token[:dash_index])\n colon_index = token.find(\":\", dash_index + 1)", + "detail": "machine.corpora.aligned_word_pair", + "documentation": {} + }, + { + "label": "AlignmentCollection", + "kind": 6, + "importPath": "machine.corpora.alignment_collection", + "description": "machine.corpora.alignment_collection", + "peekOfCode": "class AlignmentCollection(Corpus[AlignmentRow]):\n @property\n @abstractmethod\n def id(self) -> str: ...\n @property\n @abstractmethod\n def sort_key(self) -> str: ...", + "detail": "machine.corpora.alignment_collection", + "documentation": {} + }, + { + "label": "AlignmentCorpus", + "kind": 6, + "importPath": "machine.corpora.alignment_corpus", + "description": "machine.corpora.alignment_corpus", + "peekOfCode": "class AlignmentCorpus(Corpus[AlignmentRow]):\n @property\n @abstractmethod\n def alignment_collections(self) -> Iterable[AlignmentCollection]: ...\n def get_rows(self, text_ids: Optional[Iterable[str]] = None) -> ContextManagedGenerator[AlignmentRow, None, None]:\n return ContextManagedGenerator(self._get_rows(text_ids))\n def _get_rows(self, text_ids: Optional[Iterable[str]] = None) -> Generator[AlignmentRow, None, None]:\n alignment_collection_id_set = set((t.id for t in self.alignment_collections) if text_ids is None else text_ids)\n for tac in self.alignment_collections:\n if tac.id in alignment_collection_id_set:", + "detail": "machine.corpora.alignment_corpus", + "documentation": {} + }, + { + "label": "_TransformAlignmentCorpus", + "kind": 6, + "importPath": "machine.corpora.alignment_corpus", + "description": "machine.corpora.alignment_corpus", + "peekOfCode": "class _TransformAlignmentCorpus(AlignmentCorpus):\n def __init__(self, corpus: AlignmentCorpus, transform: Callable[[AlignmentRow], AlignmentRow]):\n self._corpus = corpus\n self._transform = transform\n @property\n def alignment_collections(self) -> Iterable[AlignmentCollection]:\n return self._corpus.alignment_collections\n def count(self, include_empty: bool = True, text_ids: Optional[Iterable[str]] = None) -> int:\n return self._corpus.count(include_empty, text_ids)\n def _get_rows(self, text_ids: Optional[Iterable[str]] = None) -> Generator[AlignmentRow, None, None]:", + "detail": "machine.corpora.alignment_corpus", + "documentation": {} + }, + { + "label": "_FilterAlignmentCorpus", + "kind": 6, + "importPath": "machine.corpora.alignment_corpus", + "description": "machine.corpora.alignment_corpus", + "peekOfCode": "class _FilterAlignmentCorpus(AlignmentCorpus):\n def __init__(self, corpus: AlignmentCorpus, predicate: Callable[[AlignmentRow, int], bool]) -> None:\n self._corpus = corpus\n self._predicate = predicate\n @property\n def alignment_collections(self) -> Iterable[AlignmentCollection]:\n return self._corpus.alignment_collections\n def _get_rows(self, text_ids: Optional[Iterable[str]] = None) -> Generator[AlignmentRow, None, None]:\n with self._corpus.get_rows(text_ids) as rows:\n yield from (row for i, row in enumerate(rows) if self._predicate(row, i))", + "detail": "machine.corpora.alignment_corpus", + "documentation": {} + }, + { + "label": "_TakeAlignmentCorpus", + "kind": 6, + "importPath": "machine.corpora.alignment_corpus", + "description": "machine.corpora.alignment_corpus", + "peekOfCode": "class _TakeAlignmentCorpus(AlignmentCorpus):\n def __init__(self, corpus: AlignmentCorpus, count: int) -> None:\n self._corpus = corpus\n self._count = count\n @property\n def alignment_collections(self) -> Iterable[AlignmentCollection]:\n return self._corpus.alignment_collections\n def _get_rows(self, text_ids: Optional[Iterable[str]] = None) -> Generator[AlignmentRow, None, None]:\n with self._corpus.get_rows(text_ids) as rows:\n yield from islice(rows, self._count)", + "detail": "machine.corpora.alignment_corpus", + "documentation": {} + }, + { + "label": "_FilterTextsAlignmentCorpus", + "kind": 6, + "importPath": "machine.corpora.alignment_corpus", + "description": "machine.corpora.alignment_corpus", + "peekOfCode": "class _FilterTextsAlignmentCorpus(AlignmentCorpus):\n def __init__(self, corpus: AlignmentCorpus, text_ids: Iterable[str]) -> None:\n self._corpus = corpus\n self._text_ids = set(text_ids)\n @property\n def alignment_collections(self) -> Iterable[AlignmentCollection]:\n return (ac for ac in self._corpus.alignment_collections if ac.id in self._text_ids)\n def count(self, include_empty: bool = True, text_ids: Optional[Iterable[str]] = None) -> int:\n return self._corpus.count(\n include_empty, self._text_ids if text_ids is None else self._text_ids.intersection(text_ids)", + "detail": "machine.corpora.alignment_corpus", + "documentation": {} + }, + { + "label": "AlignmentRow", + "kind": 6, + "importPath": "machine.corpora.alignment_row", + "description": "machine.corpora.alignment_row", + "peekOfCode": "class AlignmentRow:\n def __init__(self, text_id: str, ref: Any, aligned_word_pairs: Collection[AlignedWordPair] = []) -> None:\n self._text_id = text_id\n self._ref = ref\n self.aligned_word_pairs = aligned_word_pairs\n @property\n def text_id(self) -> str:\n return self._text_id\n @property\n def ref(self) -> Any:", + "detail": "machine.corpora.alignment_row", + "documentation": {} + }, + { + "label": "batch", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def batch(iterable: Iterable[T], batch_size: int) -> Iterable[Sequence[T]]:\n if isinstance(iterable, Sequence) and len(iterable) <= batch_size:\n yield iterable\n batch: List[T] = []\n for item in iterable:\n batch.append(item)\n if len(batch) == batch_size:\n yield batch\n batch = []\n if len(batch) > 0:", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "get_split_indices", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def get_split_indices(\n corpus_size: int, percent: Optional[float] = None, size: Optional[int] = None, seed: Any = None\n) -> Set[int]:\n if percent is None and size is None:\n percent = 0.1\n if percent is not None:\n split_size = int(percent * corpus_size)\n if size is not None:\n split_size = min(split_size, size)\n else:", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "get_files", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def get_files(file_patterns: Iterable[str]) -> Iterable[Tuple[str, str]]:\n file_patterns = list(file_patterns)\n if len(file_patterns) == 1 and os.path.isfile(file_patterns[0]):\n yield (\"*all*\", file_patterns[0])\n else:\n for file_pattern in file_patterns:\n if \"*\" not in file_pattern and \"?\" not in file_pattern and not os.path.exists(file_pattern):\n raise FileNotFoundError(f\"The specified path does not exist: {file_pattern}.\")\n path = file_pattern\n search_pattern = \"*\"", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "gen", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def gen(iterable: Iterable[T] = []) -> Generator[T, None, None]:\n return (i for i in iterable)\ndef get_scripture_text_sort_key(id: str) -> str:\n return str(book_id_to_number(id)).zfill(3)\ndef get_usx_id(filename: Path) -> str:\n name = filename.stem\n if len(name) == 3:\n return name\n return name[3:6]\ndef get_usx_versification(project_dir: Path, versification: Optional[Versification]) -> Versification:", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "get_scripture_text_sort_key", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def get_scripture_text_sort_key(id: str) -> str:\n return str(book_id_to_number(id)).zfill(3)\ndef get_usx_id(filename: Path) -> str:\n name = filename.stem\n if len(name) == 3:\n return name\n return name[3:6]\ndef get_usx_versification(project_dir: Path, versification: Optional[Versification]) -> Versification:\n versification_filename = project_dir / \"versification.vrs\"\n if versification is None and versification_filename.is_file():", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "get_usx_id", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def get_usx_id(filename: Path) -> str:\n name = filename.stem\n if len(name) == 3:\n return name\n return name[3:6]\ndef get_usx_versification(project_dir: Path, versification: Optional[Versification]) -> Versification:\n versification_filename = project_dir / \"versification.vrs\"\n if versification is None and versification_filename.is_file():\n versification_name = project_dir.name\n versification = Versification.load(versification_filename, fallback_name=versification_name)", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "get_usx_versification", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def get_usx_versification(project_dir: Path, versification: Optional[Versification]) -> Versification:\n versification_filename = project_dir / \"versification.vrs\"\n if versification is None and versification_filename.is_file():\n versification_name = project_dir.name\n versification = Versification.load(versification_filename, fallback_name=versification_name)\n return ENGLISH_VERSIFICATION if versification is None else versification\ndef merge_verse_ranges(verse1: str, verse2: str) -> str:\n text = \"\"\n verse1_nums = set(_get_verse_nums(verse1))\n verse2_nums = set(_get_verse_nums(verse2))", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "merge_verse_ranges", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def merge_verse_ranges(verse1: str, verse2: str) -> str:\n text = \"\"\n verse1_nums = set(_get_verse_nums(verse1))\n verse2_nums = set(_get_verse_nums(verse2))\n start_verse_str = \"\"\n prev_verse_num = -1\n prev_verse_str = \"\"\n for verse_num, verse_str in sorted(verse1_nums | verse2_nums):\n if prev_verse_num == -1:\n start_verse_str = verse_str", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "get_encoding", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def get_encoding(code_page: int) -> Optional[str]:\n return _ENCODINGS.get(code_page)\ndef get_entry(archive: ZipFile, entry_name: str) -> Optional[ZipInfo]:\n return next((zi for zi in archive.filelist if zi.filename == entry_name), None)\ndef find_entry(archive: ZipFile, predicate: Callable[[ZipInfo], bool]) -> Optional[ZipInfo]:\n return next((zi for zi in archive.filelist if predicate(zi)), None)", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "get_entry", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def get_entry(archive: ZipFile, entry_name: str) -> Optional[ZipInfo]:\n return next((zi for zi in archive.filelist if zi.filename == entry_name), None)\ndef find_entry(archive: ZipFile, predicate: Callable[[ZipInfo], bool]) -> Optional[ZipInfo]:\n return next((zi for zi in archive.filelist if predicate(zi)), None)", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "find_entry", + "kind": 2, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "def find_entry(archive: ZipFile, predicate: Callable[[ZipInfo], bool]) -> Optional[ZipInfo]:\n return next((zi for zi in archive.filelist if predicate(zi)), None)", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "T = TypeVar(\"T\")\ndef batch(iterable: Iterable[T], batch_size: int) -> Iterable[Sequence[T]]:\n if isinstance(iterable, Sequence) and len(iterable) <= batch_size:\n yield iterable\n batch: List[T] = []\n for item in iterable:\n batch.append(item)\n if len(batch) == batch_size:\n yield batch\n batch = []", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "_ENCODINGS", + "kind": 5, + "importPath": "machine.corpora.corpora_utils", + "description": "machine.corpora.corpora_utils", + "peekOfCode": "_ENCODINGS = {\n 37: \"cp037\",\n 437: \"cp437\",\n 500: \"cp500\",\n 720: \"cp720\",\n 737: \"cp737\",\n 775: \"cp775\",\n 850: \"cp850\",\n 852: \"cp852\",\n 855: \"cp855\",", + "detail": "machine.corpora.corpora_utils", + "documentation": {} + }, + { + "label": "Corpus", + "kind": 6, + "importPath": "machine.corpora.corpus", + "description": "machine.corpora.corpus", + "peekOfCode": "class Corpus(ABC, Generic[Row], Iterable[Row]):\n def get_rows(self) -> ContextManagedGenerator[Row, None, None]:\n return ContextManagedGenerator(self._get_rows())\n @abstractmethod\n def _get_rows(self) -> Generator[Row, None, None]: ...\n def __iter__(self) -> ContextManagedGenerator[Row, None, None]:\n return self.get_rows()\n def count(self, include_empty: bool = True) -> int:\n with self.get_rows() as rows:\n return sum(1 for row in rows if include_empty or not row.is_empty)", + "detail": "machine.corpora.corpus", + "documentation": {} + }, + { + "label": "Row", + "kind": 5, + "importPath": "machine.corpora.corpus", + "description": "machine.corpora.corpus", + "peekOfCode": "Row = TypeVar(\"Row\", TextRow, ParallelTextRow, AlignmentRow)\nItem = TypeVar(\"Item\")\nclass Corpus(ABC, Generic[Row], Iterable[Row]):\n def get_rows(self) -> ContextManagedGenerator[Row, None, None]:\n return ContextManagedGenerator(self._get_rows())\n @abstractmethod\n def _get_rows(self) -> Generator[Row, None, None]: ...\n def __iter__(self) -> ContextManagedGenerator[Row, None, None]:\n return self.get_rows()\n def count(self, include_empty: bool = True) -> int:", + "detail": "machine.corpora.corpus", + "documentation": {} + }, + { + "label": "Item", + "kind": 5, + "importPath": "machine.corpora.corpus", + "description": "machine.corpora.corpus", + "peekOfCode": "Item = TypeVar(\"Item\")\nclass Corpus(ABC, Generic[Row], Iterable[Row]):\n def get_rows(self) -> ContextManagedGenerator[Row, None, None]:\n return ContextManagedGenerator(self._get_rows())\n @abstractmethod\n def _get_rows(self) -> Generator[Row, None, None]: ...\n def __iter__(self) -> ContextManagedGenerator[Row, None, None]:\n return self.get_rows()\n def count(self, include_empty: bool = True) -> int:\n with self.get_rows() as rows:", + "detail": "machine.corpora.corpus", + "documentation": {} + }, + { + "label": "DblBundleTextCorpus", + "kind": 6, + "importPath": "machine.corpora.dbl_bundle_text_corpus", + "description": "machine.corpora.dbl_bundle_text_corpus", + "peekOfCode": "class DblBundleTextCorpus(ScriptureTextCorpus):\n _SUPPORTED_VERSIONS = {\"2.0\", \"2.1\", \"2.2\"}\n def __init__(self, filename: StrPath) -> None:\n with ZipFile(filename, \"r\") as archive:\n with archive.open(\"metadata.xml\", \"r\") as stream:\n doc = ElementTree.parse(stream)\n version = doc.getroot().get(\"version\", \"2.0\")\n parts = version.split(\".\", maxsplit=3)\n if f\"{parts[0]}.{parts[1]}\" not in DblBundleTextCorpus._SUPPORTED_VERSIONS:\n raise RuntimeError(\"Unsupported version of DBL bundle.\")", + "detail": "machine.corpora.dbl_bundle_text_corpus", + "documentation": {} + }, + { + "label": "DictionaryAlignmentCorpus", + "kind": 6, + "importPath": "machine.corpora.dictionary_alignment_corpus", + "description": "machine.corpora.dictionary_alignment_corpus", + "peekOfCode": "class DictionaryAlignmentCorpus(AlignmentCorpus):\n @overload\n def __init__(self, *alignment_collections: AlignmentCollection) -> None: ...\n @overload\n def __init__(self, alignment_collections: Iterable[AlignmentCollection]) -> None: ...\n def __init__(self, *args, **kwargs) -> None:\n alignment_collections: Iterable[AlignmentCollection]\n if len(args) == 0:\n alignment_collections = kwargs.get(\"alignment_collections\", [])\n elif isinstance(args[0], AlignmentCollection):", + "detail": "machine.corpora.dictionary_alignment_corpus", + "documentation": {} + }, + { + "label": "DictionaryTextCorpus", + "kind": 6, + "importPath": "machine.corpora.dictionary_text_corpus", + "description": "machine.corpora.dictionary_text_corpus", + "peekOfCode": "class DictionaryTextCorpus(TextCorpus):\n @overload\n def __init__(self, *texts: Text) -> None: ...\n @overload\n def __init__(self, texts: Iterable[Text]) -> None: ...\n def __init__(self, *args, **kwargs) -> None:\n texts: Iterable[Text]\n if len(args) == 0:\n texts = kwargs.get(\"texts\", [])\n elif isinstance(args[0], Text):", + "detail": "machine.corpora.dictionary_text_corpus", + "documentation": {} + }, + { + "label": "FileParatextProjectSettingsParser", + "kind": 6, + "importPath": "machine.corpora.file_paratext_project_settings_parser", + "description": "machine.corpora.file_paratext_project_settings_parser", + "peekOfCode": "class FileParatextProjectSettingsParser(ParatextProjectSettingsParserBase):\n def __init__(self, project_dir: StrPath) -> None:\n self._project_dir = Path(project_dir)\n def _create_stylesheet(self, file_name: StrPath) -> UsfmStylesheet:\n custom_stylesheet_filename = self._project_dir / file_name\n return UsfmStylesheet(\n file_name,\n custom_stylesheet_filename if custom_stylesheet_filename.is_file() else None,\n )\n def _exists(self, file_name: StrPath) -> bool:", + "detail": "machine.corpora.file_paratext_project_settings_parser", + "documentation": {} + }, + { + "label": "FileParatextProjectTextUpdater", + "kind": 6, + "importPath": "machine.corpora.file_paratext_project_text_updater", + "description": "machine.corpora.file_paratext_project_text_updater", + "peekOfCode": "class FileParatextProjectTextUpdater(ParatextProjectTextUpdaterBase):\n def __init__(self, project_dir: StrPath) -> None:\n super().__init__(FileParatextProjectSettingsParser(project_dir))\n self._project_dir = project_dir\n def _exists(self, file_name: StrPath) -> bool:\n return (Path(self._project_dir) / file_name).exists()\n def _open(self, file_name: StrPath) -> BinaryIO:\n return open(Path(self._project_dir) / file_name, mode=\"rb\")", + "detail": "machine.corpora.file_paratext_project_text_updater", + "documentation": {} + }, + { + "label": "FileStreamContainer", + "kind": 6, + "importPath": "machine.corpora.file_stream_container", + "description": "machine.corpora.file_stream_container", + "peekOfCode": "class FileStreamContainer(StreamContainer):\n def __init__(self, filename: StrPath) -> None:\n self._filename = filename\n def __enter__(self) -> FileStreamContainer:\n return self\n def __exit__(self, type: Any, value: Any, traceback: Any) -> None: ...\n def open_stream(self) -> BinaryIO:\n return open(self._filename, \"rb\")\n def close(self) -> None: ...", + "detail": "machine.corpora.file_stream_container", + "documentation": {} + }, + { + "label": "_FlattenTextCorpus", + "kind": 6, + "importPath": "machine.corpora.flatten", + "description": "machine.corpora.flatten", + "peekOfCode": "class _FlattenTextCorpus(TextCorpus):\n def __init__(self, corpora: List[TextCorpus]) -> None:\n self._corpora = corpora\n @property\n def texts(self) -> Iterable[Text]:\n return chain.from_iterable(c.texts for c in self._corpora)\n @property\n def is_tokenized(self) -> bool:\n return all(c.is_tokenized for c in self._corpora)\n @property", + "detail": "machine.corpora.flatten", + "documentation": {} + }, + { + "label": "_FlattenAlignmentCorpus", + "kind": 6, + "importPath": "machine.corpora.flatten", + "description": "machine.corpora.flatten", + "peekOfCode": "class _FlattenAlignmentCorpus(AlignmentCorpus):\n def __init__(self, corpora: List[AlignmentCorpus]) -> None:\n self._corpora = corpora\n @property\n def alignment_collections(self) -> Iterable[AlignmentCollection]:\n return chain.from_iterable(c.alignment_collections for c in self._corpora)\n def count(self, include_empty: bool = True, text_ids: Optional[Iterable[str]] = None) -> int:\n return sum(c.count(include_empty, text_ids) for c in self._corpora)\n def _get_rows(self, text_ids: Optional[Iterable[str]] = None) -> Generator[AlignmentRow, None, None]:\n for corpus in self._corpora:", + "detail": "machine.corpora.flatten", + "documentation": {} + }, + { + "label": "_FlattenParallelTextCorpus", + "kind": 6, + "importPath": "machine.corpora.flatten", + "description": "machine.corpora.flatten", + "peekOfCode": "class _FlattenParallelTextCorpus(ParallelTextCorpus):\n def __init__(self, corpora: List[ParallelTextCorpus]) -> None:\n self._corpora = corpora\n @property\n def is_source_tokenized(self) -> bool:\n return all(c.is_source_tokenized for c in self._corpora)\n @property\n def is_target_tokenized(self) -> bool:\n return all(c.is_target_tokenized for c in self._corpora)\n def count(self, include_empty: bool = True, text_ids: Optional[Iterable[str]] = None) -> int:", + "detail": "machine.corpora.flatten", + "documentation": {} + }, + { + "label": "flatten", + "kind": 2, + "importPath": "machine.corpora.flatten", + "description": "machine.corpora.flatten", + "peekOfCode": "def flatten(corpora: Iterable[TextCorpus]) -> TextCorpus: ...\n@overload\ndef flatten(corpora: Iterable[AlignmentCorpus]) -> AlignmentCorpus: ...\n@overload\ndef flatten(corpora: Iterable[ParallelTextCorpus]) -> ParallelTextCorpus: ...\ndef flatten(corpora: Iterable[Corpus]) -> Corpus:\n corpus_list = list(corpora)\n if len(corpus_list) == 0:\n raise ValueError(\"No corpora specified.\")\n if len(corpus_list) == 1:", + "detail": "machine.corpora.flatten", + "documentation": {} + }, + { + "label": "flatten", + "kind": 2, + "importPath": "machine.corpora.flatten", + "description": "machine.corpora.flatten", + "peekOfCode": "def flatten(corpora: Iterable[AlignmentCorpus]) -> AlignmentCorpus: ...\n@overload\ndef flatten(corpora: Iterable[ParallelTextCorpus]) -> ParallelTextCorpus: ...\ndef flatten(corpora: Iterable[Corpus]) -> Corpus:\n corpus_list = list(corpora)\n if len(corpus_list) == 0:\n raise ValueError(\"No corpora specified.\")\n if len(corpus_list) == 1:\n return corpus_list[0]\n if any(type(corpus_list[0]) != type(corpus) for corpus in corpus_list[1:]): # noqa: E721", + "detail": "machine.corpora.flatten", + "documentation": {} + }, + { + "label": "flatten", + "kind": 2, + "importPath": "machine.corpora.flatten", + "description": "machine.corpora.flatten", + "peekOfCode": "def flatten(corpora: Iterable[ParallelTextCorpus]) -> ParallelTextCorpus: ...\ndef flatten(corpora: Iterable[Corpus]) -> Corpus:\n corpus_list = list(corpora)\n if len(corpus_list) == 0:\n raise ValueError(\"No corpora specified.\")\n if len(corpus_list) == 1:\n return corpus_list[0]\n if any(type(corpus_list[0]) != type(corpus) for corpus in corpus_list[1:]): # noqa: E721\n raise TypeError(\"All corpora must be of the same type.\")\n if isinstance(corpus_list[0], TextCorpus):", + "detail": "machine.corpora.flatten", + "documentation": {} + }, + { + "label": "flatten", + "kind": 2, + "importPath": "machine.corpora.flatten", + "description": "machine.corpora.flatten", + "peekOfCode": "def flatten(corpora: Iterable[Corpus]) -> Corpus:\n corpus_list = list(corpora)\n if len(corpus_list) == 0:\n raise ValueError(\"No corpora specified.\")\n if len(corpus_list) == 1:\n return corpus_list[0]\n if any(type(corpus_list[0]) != type(corpus) for corpus in corpus_list[1:]): # noqa: E721\n raise TypeError(\"All corpora must be of the same type.\")\n if isinstance(corpus_list[0], TextCorpus):\n return _FlattenTextCorpus(cast(List[TextCorpus], corpus_list))", + "detail": "machine.corpora.flatten", + "documentation": {} + }, + { + "label": "MemoryAlignmentCollection", + "kind": 6, + "importPath": "machine.corpora.memory_alignment_collection", + "description": "machine.corpora.memory_alignment_collection", + "peekOfCode": "class MemoryAlignmentCollection(AlignmentCollection):\n def __init__(self, id: str, alignments: Iterable[AlignmentRow] = []) -> None:\n self._id = id\n self._alignments = list(alignments)\n @property\n def id(self) -> str:\n return self._id\n @property\n def sort_key(self) -> str:\n return self._id", + "detail": "machine.corpora.memory_alignment_collection", + "documentation": {} + }, + { + "label": "MemoryStreamContainer", + "kind": 6, + "importPath": "machine.corpora.memory_stream_container", + "description": "machine.corpora.memory_stream_container", + "peekOfCode": "class MemoryStreamContainer(StreamContainer):\n def __init__(self, usfm: str) -> None:\n self._usfm = usfm\n def __enter__(self) -> MemoryStreamContainer:\n return self\n def __exit__(self, type, value, traceback) -> None: ...\n def open_stream(self) -> BinaryIO:\n return BytesIO(self._usfm.encode(\"utf-8\"))\n def close(self) -> None: ...", + "detail": "machine.corpora.memory_stream_container", + "documentation": {} + }, + { + "label": "MemoryText", + "kind": 6, + "importPath": "machine.corpora.memory_text", + "description": "machine.corpora.memory_text", + "peekOfCode": "class MemoryText(Text):\n def __init__(self, id: str, rows: Iterable[TextRow] = []) -> None:\n self._id = id\n self._rows = list(rows)\n @property\n def id(self) -> str:\n return self._id\n @property\n def sort_key(self) -> str:\n return self._id", + "detail": "machine.corpora.memory_text", + "documentation": {} + }, + { + "label": "MultiKeyRef", + "kind": 6, + "importPath": "machine.corpora.multi_key_ref", + "description": "machine.corpora.multi_key_ref", + "peekOfCode": "class MultiKeyRef(Comparable):\n text_id: str\n keys: List[Any]\n def compare_to(self, other: object) -> int:\n if not isinstance(other, MultiKeyRef):\n raise TypeError(\"other is not a TextFileRef object.\")\n if self is other:\n return 0\n result = compare(self.text_id, other.text_id)\n if result != 0:", + "detail": "machine.corpora.multi_key_ref", + "documentation": {} + }, + { + "label": "ParallelTextCorpus", + "kind": 6, + "importPath": "machine.corpora.parallel_text_corpus", + "description": "machine.corpora.parallel_text_corpus", + "peekOfCode": "class ParallelTextCorpus(Corpus[ParallelTextRow]):\n @classmethod\n def from_pandas(\n cls,\n df: pd.DataFrame,\n text_id_column: Optional[str] = \"text\",\n ref_column: Optional[str] = \"ref\",\n source_column: str = \"source\",\n target_column: str = \"target\",\n alignment_column: Optional[str] = \"alignment\",", + "detail": "machine.corpora.parallel_text_corpus", + "documentation": {} + }, + { + "label": "_TransformParallelTextCorpus", + "kind": 6, + "importPath": "machine.corpora.parallel_text_corpus", + "description": "machine.corpora.parallel_text_corpus", + "peekOfCode": "class _TransformParallelTextCorpus(ParallelTextCorpus):\n def __init__(\n self,\n corpus: ParallelTextCorpus,\n transform: Callable[[ParallelTextRow], ParallelTextRow],\n is_source_tokenized: Optional[bool],\n is_target_tokenized: Optional[bool],\n ):\n self._corpus = corpus\n self._transform = transform", + "detail": "machine.corpora.parallel_text_corpus", + "documentation": {} + }, + { + "label": "_FilterParallelTextCorpus", + "kind": 6, + "importPath": "machine.corpora.parallel_text_corpus", + "description": "machine.corpora.parallel_text_corpus", + "peekOfCode": "class _FilterParallelTextCorpus(ParallelTextCorpus):\n def __init__(self, corpus: ParallelTextCorpus, predicate: Callable[[ParallelTextRow, int], bool]) -> None:\n self._corpus = corpus\n self._predicate = predicate\n @property\n def is_source_tokenized(self) -> bool:\n return self._corpus.is_source_tokenized\n @property\n def is_target_tokenized(self) -> bool:\n return self._corpus.is_target_tokenized", + "detail": "machine.corpora.parallel_text_corpus", + "documentation": {} + }, + { + "label": "_TakeParallelTextCorpus", + "kind": 6, + "importPath": "machine.corpora.parallel_text_corpus", + "description": "machine.corpora.parallel_text_corpus", + "peekOfCode": "class _TakeParallelTextCorpus(ParallelTextCorpus):\n def __init__(self, corpus: ParallelTextCorpus, count: int) -> None:\n self._corpus = corpus\n self._count = count\n @property\n def is_source_tokenized(self) -> bool:\n return self._corpus.is_source_tokenized\n @property\n def is_target_tokenized(self) -> bool:\n return self._corpus.is_target_tokenized", + "detail": "machine.corpora.parallel_text_corpus", + "documentation": {} + }, + { + "label": "_PandasParallelTextCorpus", + "kind": 6, + "importPath": "machine.corpora.parallel_text_corpus", + "description": "machine.corpora.parallel_text_corpus", + "peekOfCode": "class _PandasParallelTextCorpus(ParallelTextCorpus):\n def __init__(\n self,\n df: pd.DataFrame,\n text_id_column: Optional[str],\n ref_column: Optional[str],\n source_column: str,\n target_column: str,\n alignment_column: Optional[str],\n default_text_id: str,", + "detail": "machine.corpora.parallel_text_corpus", + "documentation": {} + }, + { + "label": "_DatasetParallelTextCorpus", + "kind": 6, + "importPath": "machine.corpora.parallel_text_corpus", + "description": "machine.corpora.parallel_text_corpus", + "peekOfCode": "class _DatasetParallelTextCorpus(ParallelTextCorpus):\n def __init__(\n self,\n ds: Union[Dataset, IterableDataset],\n source_lang: str,\n target_lang: str,\n text_id_column: Optional[str],\n ref_column: Optional[str],\n translation_column: str,\n alignment_column: Optional[str],", + "detail": "machine.corpora.parallel_text_corpus", + "documentation": {} + }, + { + "label": "ParallelTextRow", + "kind": 6, + "importPath": "machine.corpora.parallel_text_row", + "description": "machine.corpora.parallel_text_row", + "peekOfCode": "class ParallelTextRow(Sequence[Sequence[str]]):\n def __init__(\n self,\n text_id: str,\n source_refs: Sequence[Any],\n target_refs: Sequence[Any],\n source_segment: Sequence[str] = [],\n target_segment: Sequence[str] = [],\n aligned_word_pairs: Optional[Collection[AlignedWordPair]] = None,\n source_flags: TextRowFlags = TextRowFlags.SENTENCE_START,", + "detail": "machine.corpora.parallel_text_row", + "documentation": {} + }, + { + "label": "ParatextBackupTermsCorpus", + "kind": 6, + "importPath": "machine.corpora.paratext_backup_terms_corpus", + "description": "machine.corpora.paratext_backup_terms_corpus", + "peekOfCode": "class ParatextBackupTermsCorpus(DictionaryTextCorpus):\n def __init__(self, filename: StrPath, term_categories: Sequence[str], use_term_glosses: bool = True) -> None:\n super().__init__()\n with ZipFile(filename, \"r\") as archive:\n settings = ZipParatextProjectSettingsParser(archive).parse()\n glosses: List[Tuple[str, List[str]]] = ZipParatextProjectTermsParser(archive, settings).parse(\n term_categories, use_term_glosses\n )\n text_id = (\n f\"{settings.biblical_terms_list_type}:\"", + "detail": "machine.corpora.paratext_backup_terms_corpus", + "documentation": {} + }, + { + "label": "ParatextBackupTextCorpus", + "kind": 6, + "importPath": "machine.corpora.paratext_backup_text_corpus", + "description": "machine.corpora.paratext_backup_text_corpus", + "peekOfCode": "class ParatextBackupTextCorpus(ScriptureTextCorpus):\n def __init__(self, filename: StrPath, include_markers: bool = False, include_all_text: bool = False) -> None:\n with ZipFile(filename, \"r\") as archive:\n parser = ZipParatextProjectSettingsParser(archive)\n settings = parser.parse()\n versification = settings.versification\n texts: List[UsfmZipText] = []\n for sfm_entry in archive.filelist:\n book_id = settings.get_book_id(sfm_entry.filename)\n if book_id:", + "detail": "machine.corpora.paratext_backup_text_corpus", + "documentation": {} + }, + { + "label": "ParatextProjectSettings", + "kind": 6, + "importPath": "machine.corpora.paratext_project_settings", + "description": "machine.corpora.paratext_project_settings", + "peekOfCode": "class ParatextProjectSettings:\n name: str\n full_name: str\n encoding: str\n versification: Versification\n stylesheet: UsfmStylesheet\n file_name_prefix: str\n file_name_form: str\n file_name_suffix: str\n biblical_terms_list_type: str", + "detail": "machine.corpora.paratext_project_settings", + "documentation": {} + }, + { + "label": "ParatextProjectSettingsParserBase", + "kind": 6, + "importPath": "machine.corpora.paratext_project_settings_parser_base", + "description": "machine.corpora.paratext_project_settings_parser_base", + "peekOfCode": "class ParatextProjectSettingsParserBase(ABC):\n @abstractmethod\n def _exists(self, file_name: str) -> bool: ...\n @abstractmethod\n def _find(self, extension: str) -> str: ...\n @abstractmethod\n def _open(self, file_name: str) -> BinaryIO: ...\n @abstractmethod\n def _create_stylesheet(self, file_name: str) -> UsfmStylesheet: ...\n def parse(self) -> ParatextProjectSettings:", + "detail": "machine.corpora.paratext_project_settings_parser_base", + "documentation": {} + }, + { + "label": "ParatextProjectTermsParserBase", + "kind": 6, + "importPath": "machine.corpora.paratext_project_terms_parser_base", + "description": "machine.corpora.paratext_project_terms_parser_base", + "peekOfCode": "class ParatextProjectTermsParserBase(ABC):\n def __init__(self, settings: Union[ParatextProjectSettings, ParatextProjectSettingsParserBase]) -> None:\n self._settings: ParatextProjectSettings\n if isinstance(settings, ParatextProjectSettingsParserBase):\n self._settings = settings.parse()\n else:\n self._settings = settings\n def parse(self, term_categories: Sequence[str], use_term_glosses: bool = True) -> List[Tuple[str, List[str]]]:\n biblical_terms_doc = None\n if self._settings.biblical_terms_list_type == \"Project\":", + "detail": "machine.corpora.paratext_project_terms_parser_base", + "documentation": {} + }, + { + "label": "_PREDEFINED_TERMS_LIST_TYPES", + "kind": 5, + "importPath": "machine.corpora.paratext_project_terms_parser_base", + "description": "machine.corpora.paratext_project_terms_parser_base", + "peekOfCode": "_PREDEFINED_TERMS_LIST_TYPES = [\"Major\", \"All\", \"SilNt\", \"Pt6\"]\n_SUPPORTED_LANGUAGE_TERMS_LOCALIZATION_XMLS_PACKAGE = \"machine.corpora\"\n_SUPPORTED_LANGUAGE_TERMS_LOCALIZATION_XMLS = {\n \"en\": \"BiblicalTermsEn.xml\",\n \"es\": \"BiblicalTermsEs.xml\",\n \"fr\": \"BiblicalTermsFr.xml\",\n \"id\": \"BiblicalTermsId.xml\",\n \"pt\": \"BiblicalTermsPt.xml\",\n}\n_CONTENT_IN_BRACKETS_REGEX = re.compile(r\"^\\[(.+?)\\]$\")", + "detail": "machine.corpora.paratext_project_terms_parser_base", + "documentation": {} + }, + { + "label": "_SUPPORTED_LANGUAGE_TERMS_LOCALIZATION_XMLS_PACKAGE", + "kind": 5, + "importPath": "machine.corpora.paratext_project_terms_parser_base", + "description": "machine.corpora.paratext_project_terms_parser_base", + "peekOfCode": "_SUPPORTED_LANGUAGE_TERMS_LOCALIZATION_XMLS_PACKAGE = \"machine.corpora\"\n_SUPPORTED_LANGUAGE_TERMS_LOCALIZATION_XMLS = {\n \"en\": \"BiblicalTermsEn.xml\",\n \"es\": \"BiblicalTermsEs.xml\",\n \"fr\": \"BiblicalTermsFr.xml\",\n \"id\": \"BiblicalTermsId.xml\",\n \"pt\": \"BiblicalTermsPt.xml\",\n}\n_CONTENT_IN_BRACKETS_REGEX = re.compile(r\"^\\[(.+?)\\]$\")\n_NUMERICAL_INFORMATION_REGEX = re.compile(r\"\\s+\\d+(\\.\\d+)*$\")", + "detail": "machine.corpora.paratext_project_terms_parser_base", + "documentation": {} + }, + { + "label": "_SUPPORTED_LANGUAGE_TERMS_LOCALIZATION_XMLS", + "kind": 5, + "importPath": "machine.corpora.paratext_project_terms_parser_base", + "description": "machine.corpora.paratext_project_terms_parser_base", + "peekOfCode": "_SUPPORTED_LANGUAGE_TERMS_LOCALIZATION_XMLS = {\n \"en\": \"BiblicalTermsEn.xml\",\n \"es\": \"BiblicalTermsEs.xml\",\n \"fr\": \"BiblicalTermsFr.xml\",\n \"id\": \"BiblicalTermsId.xml\",\n \"pt\": \"BiblicalTermsPt.xml\",\n}\n_CONTENT_IN_BRACKETS_REGEX = re.compile(r\"^\\[(.+?)\\]$\")\n_NUMERICAL_INFORMATION_REGEX = re.compile(r\"\\s+\\d+(\\.\\d+)*$\")\nclass ParatextProjectTermsParserBase(ABC):", + "detail": "machine.corpora.paratext_project_terms_parser_base", + "documentation": {} + }, + { + "label": "_CONTENT_IN_BRACKETS_REGEX", + "kind": 5, + "importPath": "machine.corpora.paratext_project_terms_parser_base", + "description": "machine.corpora.paratext_project_terms_parser_base", + "peekOfCode": "_CONTENT_IN_BRACKETS_REGEX = re.compile(r\"^\\[(.+?)\\]$\")\n_NUMERICAL_INFORMATION_REGEX = re.compile(r\"\\s+\\d+(\\.\\d+)*$\")\nclass ParatextProjectTermsParserBase(ABC):\n def __init__(self, settings: Union[ParatextProjectSettings, ParatextProjectSettingsParserBase]) -> None:\n self._settings: ParatextProjectSettings\n if isinstance(settings, ParatextProjectSettingsParserBase):\n self._settings = settings.parse()\n else:\n self._settings = settings\n def parse(self, term_categories: Sequence[str], use_term_glosses: bool = True) -> List[Tuple[str, List[str]]]:", + "detail": "machine.corpora.paratext_project_terms_parser_base", + "documentation": {} + }, + { + "label": "_NUMERICAL_INFORMATION_REGEX", + "kind": 5, + "importPath": "machine.corpora.paratext_project_terms_parser_base", + "description": "machine.corpora.paratext_project_terms_parser_base", + "peekOfCode": "_NUMERICAL_INFORMATION_REGEX = re.compile(r\"\\s+\\d+(\\.\\d+)*$\")\nclass ParatextProjectTermsParserBase(ABC):\n def __init__(self, settings: Union[ParatextProjectSettings, ParatextProjectSettingsParserBase]) -> None:\n self._settings: ParatextProjectSettings\n if isinstance(settings, ParatextProjectSettingsParserBase):\n self._settings = settings.parse()\n else:\n self._settings = settings\n def parse(self, term_categories: Sequence[str], use_term_glosses: bool = True) -> List[Tuple[str, List[str]]]:\n biblical_terms_doc = None", + "detail": "machine.corpora.paratext_project_terms_parser_base", + "documentation": {} + }, + { + "label": "ParatextProjectTextUpdaterBase", + "kind": 6, + "importPath": "machine.corpora.paratext_project_text_updater_base", + "description": "machine.corpora.paratext_project_text_updater_base", + "peekOfCode": "class ParatextProjectTextUpdaterBase(ABC):\n def __init__(self, settings: Union[ParatextProjectSettings, ParatextProjectSettingsParserBase]) -> None:\n if isinstance(settings, ParatextProjectSettingsParserBase):\n self._settings = settings.parse()\n else:\n self._settings = settings\n def update_usfm(\n self,\n book_id: str,\n rows: Optional[Sequence[Tuple[Sequence[ScriptureRef], str]]] = None,", + "detail": "machine.corpora.paratext_project_text_updater_base", + "documentation": {} + }, + { + "label": "ParatextTextCorpus", + "kind": 6, + "importPath": "machine.corpora.paratext_text_corpus", + "description": "machine.corpora.paratext_text_corpus", + "peekOfCode": "class ParatextTextCorpus(ScriptureTextCorpus):\n def __init__(self, project_dir: StrPath, include_markers: bool = False, include_all_text: bool = False) -> None:\n parser = FileParatextProjectSettingsParser(project_dir)\n settings = parser.parse()\n versification = settings.versification\n texts: List[UsfmFileText] = []\n for sfm_filename in Path(project_dir).glob(f\"{settings.file_name_prefix}*{settings.file_name_suffix}\"):\n book_id = settings.get_book_id(sfm_filename.name)\n if book_id:\n texts.append(", + "detail": "machine.corpora.paratext_text_corpus", + "documentation": {} + }, + { + "label": "ScriptureElement", + "kind": 6, + "importPath": "machine.corpora.scripture_element", + "description": "machine.corpora.scripture_element", + "peekOfCode": "class ScriptureElement(Comparable):\n def __init__(self, position: int, name: str) -> None:\n self._position = position\n self._name = name\n @property\n def position(self) -> int:\n return self._position\n @property\n def name(self) -> str:\n return self._name", + "detail": "machine.corpora.scripture_element", + "documentation": {} + }, + { + "label": "ScriptureRef", + "kind": 6, + "importPath": "machine.corpora.scripture_ref", + "description": "machine.corpora.scripture_ref", + "peekOfCode": "class ScriptureRef(Comparable):\n def __init__(self, ref: Optional[VerseRef] = None, path: Optional[List[ScriptureElement]] = None) -> None:\n self._verse_ref: VerseRef = ref if ref is not None else VerseRef()\n self._path: List[ScriptureElement] = path if path is not None else []\n _empty: Optional[ScriptureRef] = None\n @classmethod\n def parse(cls, selection: str, versification: Optional[Versification] = None) -> ScriptureRef:\n parts: List[str] = selection.split(\"/\")\n if len(parts) == 1:\n return cls(", + "detail": "machine.corpora.scripture_ref", + "documentation": {} + }, + { + "label": "EMPTY_SCRIPTURE_REF", + "kind": 5, + "importPath": "machine.corpora.scripture_ref", + "description": "machine.corpora.scripture_ref", + "peekOfCode": "EMPTY_SCRIPTURE_REF = ScriptureRef()", + "detail": "machine.corpora.scripture_ref", + "documentation": {} + }, + { + "label": "ScriptureTextType", + "kind": 6, + "importPath": "machine.corpora.scripture_ref_usfm_parser_handler", + "description": "machine.corpora.scripture_ref_usfm_parser_handler", + "peekOfCode": "class ScriptureTextType(Enum):\n NONE = auto()\n NONVERSE = auto()\n VERSE = auto()\n NOTE = auto()\nclass ScriptureRefUsfmParserHandler(UsfmParserHandler, ABC):\n def __init__(self) -> None:\n self._cur_verse_ref: VerseRef = VerseRef()\n self._cur_elements_stack: List[ScriptureElement] = []\n self._cur_text_type_stack: List[ScriptureTextType] = []", + "detail": "machine.corpora.scripture_ref_usfm_parser_handler", + "documentation": {} + }, + { + "label": "ScriptureRefUsfmParserHandler", + "kind": 6, + "importPath": "machine.corpora.scripture_ref_usfm_parser_handler", + "description": "machine.corpora.scripture_ref_usfm_parser_handler", + "peekOfCode": "class ScriptureRefUsfmParserHandler(UsfmParserHandler, ABC):\n def __init__(self) -> None:\n self._cur_verse_ref: VerseRef = VerseRef()\n self._cur_elements_stack: List[ScriptureElement] = []\n self._cur_text_type_stack: List[ScriptureTextType] = []\n self._duplicate_verse: bool = False\n @property\n def _current_text_type(self) -> ScriptureTextType:\n return ScriptureTextType.NONE if len(self._cur_text_type_stack) == 0 else self._cur_text_type_stack[-1]\n def end_usfm(self, state: UsfmParserState) -> None:", + "detail": "machine.corpora.scripture_ref_usfm_parser_handler", + "documentation": {} + }, + { + "label": "ScriptureText", + "kind": 6, + "importPath": "machine.corpora.scripture_text", + "description": "machine.corpora.scripture_text", + "peekOfCode": "class ScriptureText(TextBase):\n def __init__(self, id: str, versification: Optional[Versification] = None) -> None:\n super().__init__(id, get_scripture_text_sort_key(id))\n self._versification = ENGLISH_VERSIFICATION if versification is None else versification\n @property\n def versification(self) -> Versification:\n return self._versification\n def get_rows(self) -> ContextManagedGenerator[TextRow, None, None]:\n seg_list: List[TextRow] = []\n out_of_order = False", + "detail": "machine.corpora.scripture_text", + "documentation": {} + }, + { + "label": "ScriptureTextCorpus", + "kind": 6, + "importPath": "machine.corpora.scripture_text_corpus", + "description": "machine.corpora.scripture_text_corpus", + "peekOfCode": "class ScriptureTextCorpus(DictionaryTextCorpus):\n def __init__(\n self, versification: Versification = ENGLISH_VERSIFICATION, texts: Iterable[ScriptureText] = []\n ) -> None:\n super().__init__(texts)\n self._versification = versification\n @property\n def versification(self) -> Versification:\n return self._versification\nclass _VersificationRefCorpusText(ScriptureText):", + "detail": "machine.corpora.scripture_text_corpus", + "documentation": {} + }, + { + "label": "_VersificationRefCorpusText", + "kind": 6, + "importPath": "machine.corpora.scripture_text_corpus", + "description": "machine.corpora.scripture_text_corpus", + "peekOfCode": "class _VersificationRefCorpusText(ScriptureText):\n def __init__(self, book_num: int, versification: Versification) -> None:\n super().__init__(book_number_to_id(book_num), versification)\n def _get_rows(self) -> Generator[TextRow, None, None]:\n b = book_id_to_number(self.id)\n for c in range(1, self.versification.get_last_chapter(b) + 1):\n for v in range(1, self.versification.get_last_verse(b, c) + 1):\n vref = self._create_verse_ref(str(c), str(v))\n if not self._versification.is_excluded(vref.bbbcccvvv):\n yield from self._create_scripture_rows(vref)", + "detail": "machine.corpora.scripture_text_corpus", + "documentation": {} + }, + { + "label": "create_versification_ref_corpus", + "kind": 2, + "importPath": "machine.corpora.scripture_text_corpus", + "description": "machine.corpora.scripture_text_corpus", + "peekOfCode": "def create_versification_ref_corpus(\n versification: Versification = ORIGINAL_VERSIFICATION,\n) -> ScriptureTextCorpus:\n return ScriptureTextCorpus(\n versification,\n (\n _VersificationRefCorpusText(b, versification)\n for b in range(1, versification.get_last_book() + 1)\n if is_canonical(b)\n and (", + "detail": "machine.corpora.scripture_text_corpus", + "documentation": {} + }, + { + "label": "extract_scripture_corpus", + "kind": 2, + "importPath": "machine.corpora.scripture_text_corpus", + "description": "machine.corpora.scripture_text_corpus", + "peekOfCode": "def extract_scripture_corpus(\n corpus: TextCorpus,\n ref_corpus: TextCorpus = create_versification_ref_corpus(),\n) -> ContextManagedGenerator[Tuple[str, VerseRef, Optional[VerseRef]], None, None]:\n parallel_corpus = ref_corpus.align_rows(corpus, all_source_rows=True)\n def extract() -> Generator[Tuple[str, VerseRef, Optional[VerseRef]], None, None]:\n with parallel_corpus.get_rows() as rows:\n cur_ref: Optional[VerseRef] = None\n cur_trg_ref: Optional[VerseRef] = None\n cur_trg_line = \"\"", + "detail": "machine.corpora.scripture_text_corpus", + "documentation": {} + }, + { + "label": "is_scripture", + "kind": 2, + "importPath": "machine.corpora.scripture_text_corpus", + "description": "machine.corpora.scripture_text_corpus", + "peekOfCode": "def is_scripture(text_corpus: TextCorpus) -> bool:\n return text_corpus.versification is not None", + "detail": "machine.corpora.scripture_text_corpus", + "documentation": {} + }, + { + "label": "StandardParallelTextCorpus", + "kind": 6, + "importPath": "machine.corpora.standard_parallel_text_corpus", + "description": "machine.corpora.standard_parallel_text_corpus", + "peekOfCode": "class StandardParallelTextCorpus(ParallelTextCorpus):\n def __init__(\n self,\n source_corpus: TextCorpus,\n target_corpus: TextCorpus,\n alignment_corpus: Optional[AlignmentCorpus] = None,\n all_source_rows: bool = False,\n all_target_rows: bool = False,\n ) -> None:\n self._source_corpus = source_corpus", + "detail": "machine.corpora.standard_parallel_text_corpus", + "documentation": {} + }, + { + "label": "_RangeInfo", + "kind": 6, + "importPath": "machine.corpora.standard_parallel_text_corpus", + "description": "machine.corpora.standard_parallel_text_corpus", + "peekOfCode": "class _RangeInfo:\n text_id: str = field(default=\"\", init=False)\n source_refs: List[Any] = field(default_factory=list, init=False)\n target_refs: List[Any] = field(default_factory=list, init=False)\n source_segment: List[str] = field(default_factory=list, init=False)\n target_segment: List[str] = field(default_factory=list, init=False)\n is_source_sentence_start: bool = field(default=False, init=False)\n is_target_sentence_start: bool = field(default=False, init=False)\n is_source_empty: bool = field(default=True, init=False)\n is_target_empty: bool = field(default=True, init=False)", + "detail": "machine.corpora.standard_parallel_text_corpus", + "documentation": {} + }, + { + "label": "_TargetCorpusGenerator", + "kind": 6, + "importPath": "machine.corpora.standard_parallel_text_corpus", + "description": "machine.corpora.standard_parallel_text_corpus", + "peekOfCode": "class _TargetCorpusGenerator(ContextManager[\"_TargetCorpusGenerator\"], Generator[TextRow, None, None]):\n def __init__(\n self,\n generator: ContextManagedGenerator[TextRow, None, None],\n source_versification: Versification,\n target_versification: Versification,\n ) -> None:\n self._generator = generator\n self._source_versification = source_versification\n self._is_scripture = (", + "detail": "machine.corpora.standard_parallel_text_corpus", + "documentation": {} + }, + { + "label": "StreamContainer", + "kind": 6, + "importPath": "machine.corpora.stream_container", + "description": "machine.corpora.stream_container", + "peekOfCode": "class StreamContainer(ABC):\n @abstractmethod\n def __enter__(self) -> StreamContainer: ...\n @abstractmethod\n def __exit__(self, type: Any, value: Any, traceback: Any) -> None: ...\n @abstractmethod\n def open_stream(self) -> BinaryIO: ...\n @abstractmethod\n def close(self) -> None: ...", + "detail": "machine.corpora.stream_container", + "documentation": {} + }, + { + "label": "Text", + "kind": 6, + "importPath": "machine.corpora.text", + "description": "machine.corpora.text", + "peekOfCode": "class Text(Corpus[TextRow]):\n @property\n @abstractmethod\n def id(self) -> str: ...\n @property\n @abstractmethod\n def sort_key(self) -> str: ...", + "detail": "machine.corpora.text", + "documentation": {} + }, + { + "label": "TextBase", + "kind": 6, + "importPath": "machine.corpora.text_base", + "description": "machine.corpora.text_base", + "peekOfCode": "class TextBase(Text):\n def __init__(self, id: str, sort_key: str) -> None:\n self._id = id\n self._sort_key = sort_key\n @property\n def id(self) -> str:\n return self._id\n @property\n def sort_key(self) -> str:\n return self._sort_key", + "detail": "machine.corpora.text_base", + "documentation": {} + }, + { + "label": "TextCorpus", + "kind": 6, + "importPath": "machine.corpora.text_corpus", + "description": "machine.corpora.text_corpus", + "peekOfCode": "class TextCorpus(Corpus[TextRow]):\n @property\n @abstractmethod\n def texts(self) -> Iterable[Text]: ...\n @property\n @abstractmethod\n def is_tokenized(self) -> bool: ...\n @property\n @abstractmethod\n def versification(self) -> Versification: ...", + "detail": "machine.corpora.text_corpus", + "documentation": {} + }, + { + "label": "_TransformTextCorpus", + "kind": 6, + "importPath": "machine.corpora.text_corpus", + "description": "machine.corpora.text_corpus", + "peekOfCode": "class _TransformTextCorpus(TextCorpus):\n def __init__(\n self, corpus: TextCorpus, transform: Callable[[TextRow], TextRow], is_tokenized: Optional[bool]\n ) -> None:\n self._corpus = corpus\n self._transform = transform\n self._is_tokenized = corpus.is_tokenized if is_tokenized is None else is_tokenized\n @property\n def texts(self) -> Iterable[Text]:\n return self._corpus.texts", + "detail": "machine.corpora.text_corpus", + "documentation": {} + }, + { + "label": "_TextFilterTextCorpus", + "kind": 6, + "importPath": "machine.corpora.text_corpus", + "description": "machine.corpora.text_corpus", + "peekOfCode": "class _TextFilterTextCorpus(TextCorpus):\n def __init__(self, corpus: TextCorpus, predicate: Callable[[Text], bool]) -> None:\n self._corpus = corpus\n self._predicate = predicate\n @property\n def texts(self) -> Iterable[Text]:\n return (t for t in self._corpus.texts if self._predicate(t))\n @property\n def is_tokenized(self) -> bool:\n return self._corpus.is_tokenized", + "detail": "machine.corpora.text_corpus", + "documentation": {} + }, + { + "label": "_FilterTextCorpus", + "kind": 6, + "importPath": "machine.corpora.text_corpus", + "description": "machine.corpora.text_corpus", + "peekOfCode": "class _FilterTextCorpus(TextCorpus):\n def __init__(self, corpus: TextCorpus, predicate: Callable[[TextRow, int], bool]) -> None:\n self._corpus = corpus\n self._predicate = predicate\n @property\n def texts(self) -> Iterable[Text]:\n return self._corpus.texts\n @property\n def is_tokenized(self) -> bool:\n return self._corpus.is_tokenized", + "detail": "machine.corpora.text_corpus", + "documentation": {} + }, + { + "label": "_TakeTextCorpus", + "kind": 6, + "importPath": "machine.corpora.text_corpus", + "description": "machine.corpora.text_corpus", + "peekOfCode": "class _TakeTextCorpus(TextCorpus):\n def __init__(self, corpus: TextCorpus, count: int) -> None:\n self._corpus = corpus\n self._count = count\n @property\n def texts(self) -> Iterable[Text]:\n return self._corpus.texts\n @property\n def is_tokenized(self) -> bool:\n return self._corpus.is_tokenized", + "detail": "machine.corpora.text_corpus", + "documentation": {} + }, + { + "label": "_FilterTextsTextCorpus", + "kind": 6, + "importPath": "machine.corpora.text_corpus", + "description": "machine.corpora.text_corpus", + "peekOfCode": "class _FilterTextsTextCorpus(TextCorpus):\n def __init__(self, corpus: TextCorpus, text_ids: Iterable[str]) -> None:\n self._corpus = corpus\n self._text_ids = set(text_ids)\n @property\n def texts(self) -> Iterable[Text]:\n return (t for t in self._corpus.texts if t.id in self._text_ids)\n @property\n def is_tokenized(self) -> bool:\n return self._corpus.is_tokenized", + "detail": "machine.corpora.text_corpus", + "documentation": {} + }, + { + "label": "TextFileAlignmentCollection", + "kind": 6, + "importPath": "machine.corpora.text_file_alignment_collection", + "description": "machine.corpora.text_file_alignment_collection", + "peekOfCode": "class TextFileAlignmentCollection(AlignmentCollection):\n def __init__(self, id: str, filename: StrPath) -> None:\n self._id = id\n self._filename = filename\n @property\n def id(self) -> str:\n return self._id\n @property\n def sort_key(self) -> str:\n return self._id", + "detail": "machine.corpora.text_file_alignment_collection", + "documentation": {} + }, + { + "label": "TextFileAlignmentCorpus", + "kind": 6, + "importPath": "machine.corpora.text_file_alignment_corpus", + "description": "machine.corpora.text_file_alignment_corpus", + "peekOfCode": "class TextFileAlignmentCorpus(DictionaryAlignmentCorpus):\n @overload\n def __init__(self, file_patterns: Iterable[StrPath]) -> None: ...\n @overload\n def __init__(self, *file_patterns: StrPath) -> None: ...\n def __init__(self, *args, **kwargs) -> None:\n file_patterns: Iterable[str]\n if len(args) == 0:\n file_patterns = kwargs.get(\"file_patterns\", [])\n elif isinstance(args[0], str) or isinstance(args[0], PurePath):", + "detail": "machine.corpora.text_file_alignment_corpus", + "documentation": {} + }, + { + "label": "TextFileText", + "kind": 6, + "importPath": "machine.corpora.text_file_text", + "description": "machine.corpora.text_file_text", + "peekOfCode": "class TextFileText(TextBase):\n def __init__(self, id: str, filename: StrPath) -> None:\n super().__init__(id, id)\n self._filename = Path(filename)\n @property\n def filename(self) -> Path:\n return self._filename\n def _get_rows(self) -> Generator[TextRow, None, None]:\n with open(self._filename, \"r\", encoding=\"utf-8-sig\") as file:\n line_num = 1", + "detail": "machine.corpora.text_file_text", + "documentation": {} + }, + { + "label": "TextFileTextCorpus", + "kind": 6, + "importPath": "machine.corpora.text_file_text_corpus", + "description": "machine.corpora.text_file_text_corpus", + "peekOfCode": "class TextFileTextCorpus(DictionaryTextCorpus):\n @overload\n def __init__(self, file_patterns: Iterable[StrPath]) -> None: ...\n @overload\n def __init__(self, *file_patterns: StrPath) -> None: ...\n def __init__(self, *args, **kwargs) -> None:\n file_patterns: Iterable[str]\n if len(args) == 0:\n file_patterns = kwargs.get(\"file_patterns\", [])\n elif isinstance(args[0], str) or isinstance(args[0], PurePath):", + "detail": "machine.corpora.text_file_text_corpus", + "documentation": {} + }, + { + "label": "TextRowFlags", + "kind": 6, + "importPath": "machine.corpora.text_row", + "description": "machine.corpora.text_row", + "peekOfCode": "class TextRowFlags(Flag):\n NONE = 0\n SENTENCE_START = auto()\n IN_RANGE = auto()\n RANGE_START = auto()\nclass TextRow(Sequence[str]):\n def __init__(\n self,\n text_id: str,\n ref: Any,", + "detail": "machine.corpora.text_row", + "documentation": {} + }, + { + "label": "TextRow", + "kind": 6, + "importPath": "machine.corpora.text_row", + "description": "machine.corpora.text_row", + "peekOfCode": "class TextRow(Sequence[str]):\n def __init__(\n self,\n text_id: str,\n ref: Any,\n segment: Sequence[str] = [],\n flags: TextRowFlags = TextRowFlags.SENTENCE_START,\n ) -> None:\n self._text_id = text_id\n self._ref = ref", + "detail": "machine.corpora.text_row", + "documentation": {} + }, + { + "label": "lowercase", + "kind": 2, + "importPath": "machine.corpora.token_processors", + "description": "machine.corpora.token_processors", + "peekOfCode": "def lowercase(tokens: Sequence[str]) -> Sequence[str]:\n return [t.lower() for t in tokens]\ndef escape_spaces(tokens: Sequence[str]) -> Sequence[str]:\n return [(\"\" if len(t) > 0 and t.isspace() else t) for t in tokens]\ndef unescape_spaces(tokens: Sequence[str]) -> Sequence[str]:\n return [(\" \" if t == \"\" else t) for t in tokens]\ndef normalize(normalization_form: Literal[\"NFC\", \"NFD\", \"NFKC\", \"NFKD\"], tokens: Sequence[str]) -> Sequence[str]:\n return [unicodedata.normalize(normalization_form, t) for t in tokens]\ndef nfc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFC\", tokens)", + "detail": "machine.corpora.token_processors", + "documentation": {} + }, + { + "label": "escape_spaces", + "kind": 2, + "importPath": "machine.corpora.token_processors", + "description": "machine.corpora.token_processors", + "peekOfCode": "def escape_spaces(tokens: Sequence[str]) -> Sequence[str]:\n return [(\"\" if len(t) > 0 and t.isspace() else t) for t in tokens]\ndef unescape_spaces(tokens: Sequence[str]) -> Sequence[str]:\n return [(\" \" if t == \"\" else t) for t in tokens]\ndef normalize(normalization_form: Literal[\"NFC\", \"NFD\", \"NFKC\", \"NFKD\"], tokens: Sequence[str]) -> Sequence[str]:\n return [unicodedata.normalize(normalization_form, t) for t in tokens]\ndef nfc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFC\", tokens)\ndef nfd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFD\", tokens)", + "detail": "machine.corpora.token_processors", + "documentation": {} + }, + { + "label": "unescape_spaces", + "kind": 2, + "importPath": "machine.corpora.token_processors", + "description": "machine.corpora.token_processors", + "peekOfCode": "def unescape_spaces(tokens: Sequence[str]) -> Sequence[str]:\n return [(\" \" if t == \"\" else t) for t in tokens]\ndef normalize(normalization_form: Literal[\"NFC\", \"NFD\", \"NFKC\", \"NFKD\"], tokens: Sequence[str]) -> Sequence[str]:\n return [unicodedata.normalize(normalization_form, t) for t in tokens]\ndef nfc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFC\", tokens)\ndef nfd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFD\", tokens)\ndef nfkc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKC\", tokens)", + "detail": "machine.corpora.token_processors", + "documentation": {} + }, + { + "label": "normalize", + "kind": 2, + "importPath": "machine.corpora.token_processors", + "description": "machine.corpora.token_processors", + "peekOfCode": "def normalize(normalization_form: Literal[\"NFC\", \"NFD\", \"NFKC\", \"NFKD\"], tokens: Sequence[str]) -> Sequence[str]:\n return [unicodedata.normalize(normalization_form, t) for t in tokens]\ndef nfc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFC\", tokens)\ndef nfd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFD\", tokens)\ndef nfkc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKC\", tokens)\ndef nfkd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKD\", tokens)", + "detail": "machine.corpora.token_processors", + "documentation": {} + }, + { + "label": "nfc_normalize", + "kind": 2, + "importPath": "machine.corpora.token_processors", + "description": "machine.corpora.token_processors", + "peekOfCode": "def nfc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFC\", tokens)\ndef nfd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFD\", tokens)\ndef nfkc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKC\", tokens)\ndef nfkd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKD\", tokens)", + "detail": "machine.corpora.token_processors", + "documentation": {} + }, + { + "label": "nfd_normalize", + "kind": 2, + "importPath": "machine.corpora.token_processors", + "description": "machine.corpora.token_processors", + "peekOfCode": "def nfd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFD\", tokens)\ndef nfkc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKC\", tokens)\ndef nfkd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKD\", tokens)", + "detail": "machine.corpora.token_processors", + "documentation": {} + }, + { + "label": "nfkc_normalize", + "kind": 2, + "importPath": "machine.corpora.token_processors", + "description": "machine.corpora.token_processors", + "peekOfCode": "def nfkc_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKC\", tokens)\ndef nfkd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKD\", tokens)", + "detail": "machine.corpora.token_processors", + "documentation": {} + }, + { + "label": "nfkd_normalize", + "kind": 2, + "importPath": "machine.corpora.token_processors", + "description": "machine.corpora.token_processors", + "peekOfCode": "def nfkd_normalize(tokens: Sequence[str]) -> Sequence[str]:\n return normalize(\"NFKD\", tokens)", + "detail": "machine.corpora.token_processors", + "documentation": {} + }, + { + "label": "UpdateUsfmParserHandler", + "kind": 6, + "importPath": "machine.corpora.update_usfm_parser_handler", + "description": "machine.corpora.update_usfm_parser_handler", + "peekOfCode": "class UpdateUsfmParserHandler(ScriptureRefUsfmParserHandler):\n def __init__(\n self,\n rows: Optional[Sequence[Tuple[Sequence[ScriptureRef], str]]] = None,\n id_text: Optional[str] = None,\n strip_all_text: bool = False,\n prefer_existing_text: bool = False,\n ) -> None:\n super().__init__()\n self._rows = rows or []", + "detail": "machine.corpora.update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "UsfmFileText", + "kind": 6, + "importPath": "machine.corpora.usfm_file_text", + "description": "machine.corpora.usfm_file_text", + "peekOfCode": "class UsfmFileText(UsfmTextBase):\n def __init__(\n self,\n stylesheet: UsfmStylesheet,\n encoding: str,\n id: str,\n filename: StrPath,\n versification: Optional[Versification] = None,\n include_markers: bool = False,\n include_all_text: bool = False,", + "detail": "machine.corpora.usfm_file_text", + "documentation": {} + }, + { + "label": "UsfmFileTextCorpus", + "kind": 6, + "importPath": "machine.corpora.usfm_file_text_corpus", + "description": "machine.corpora.usfm_file_text_corpus", + "peekOfCode": "class UsfmFileTextCorpus(ScriptureTextCorpus):\n def __init__(\n self,\n project_dir: StrPath,\n stylesheet_filename: StrPath = \"usfm.sty\",\n encoding: str = \"utf-8-sig\",\n versification: Optional[Versification] = None,\n include_markers: bool = False,\n file_pattern: str = \"*.SFM\",\n include_all_text: bool = False,", + "detail": "machine.corpora.usfm_file_text_corpus", + "documentation": {} + }, + { + "label": "UsfmMemoryText", + "kind": 6, + "importPath": "machine.corpora.usfm_memory_text", + "description": "machine.corpora.usfm_memory_text", + "peekOfCode": "class UsfmMemoryText(UsfmTextBase):\n def __init__(\n self,\n stylesheet: UsfmStylesheet,\n encoding: str,\n id: str,\n usfm: str,\n versification: Optional[Versification] = None,\n include_markers: bool = False,\n include_all_text: bool = False,", + "detail": "machine.corpora.usfm_memory_text", + "documentation": {} + }, + { + "label": "UsfmParser", + "kind": 6, + "importPath": "machine.corpora.usfm_parser", + "description": "machine.corpora.usfm_parser", + "peekOfCode": "class UsfmParser:\n def __init__(\n self,\n usfm: Union[str, Sequence[UsfmToken]],\n handler: Optional[UsfmParserHandler] = None,\n stylesheet: Union[StrPath, UsfmStylesheet] = \"usfm.sty\",\n versification: Optional[Versification] = None,\n tokens_preserve_whitespace: bool = False,\n ) -> None:\n if isinstance(stylesheet, UsfmStylesheet):", + "detail": "machine.corpora.usfm_parser", + "documentation": {} + }, + { + "label": "parse_usfm", + "kind": 2, + "importPath": "machine.corpora.usfm_parser", + "description": "machine.corpora.usfm_parser", + "peekOfCode": "def parse_usfm(\n usfm: str,\n handler: UsfmParserHandler,\n stylesheet: Union[StrPath, UsfmStylesheet] = \"usfm.sty\",\n versification: Optional[Versification] = None,\n preserve_whitespace: bool = False,\n) -> None:\n parser = UsfmParser(usfm, handler, stylesheet, versification, preserve_whitespace)\n parser.process_tokens()\nclass UsfmParser:", + "detail": "machine.corpora.usfm_parser", + "documentation": {} + }, + { + "label": "_OPT_BREAK_SPLITTER", + "kind": 5, + "importPath": "machine.corpora.usfm_parser", + "description": "machine.corpora.usfm_parser", + "peekOfCode": "_OPT_BREAK_SPLITTER = re.compile(r\"(//)\")\ndef parse_usfm(\n usfm: str,\n handler: UsfmParserHandler,\n stylesheet: Union[StrPath, UsfmStylesheet] = \"usfm.sty\",\n versification: Optional[Versification] = None,\n preserve_whitespace: bool = False,\n) -> None:\n parser = UsfmParser(usfm, handler, stylesheet, versification, preserve_whitespace)\n parser.process_tokens()", + "detail": "machine.corpora.usfm_parser", + "documentation": {} + }, + { + "label": "UsfmParserHandler", + "kind": 6, + "importPath": "machine.corpora.usfm_parser_handler", + "description": "machine.corpora.usfm_parser_handler", + "peekOfCode": "class UsfmParserHandler:\n def start_usfm(self, state: UsfmParserState) -> None: ...\n def end_usfm(self, state: UsfmParserState) -> None: ...\n def got_marker(self, state: UsfmParserState, marker: str) -> None: ...\n def start_book(self, state: UsfmParserState, marker: str, code: str) -> None: ...\n def end_book(self, state: UsfmParserState, marker: str) -> None: ...\n def chapter(\n self,\n state: UsfmParserState,\n number: str,", + "detail": "machine.corpora.usfm_parser_handler", + "documentation": {} + }, + { + "label": "UsfmElementType", + "kind": 6, + "importPath": "machine.corpora.usfm_parser_state", + "description": "machine.corpora.usfm_parser_state", + "peekOfCode": "class UsfmElementType(Enum):\n BOOK = auto()\n PARA = auto()\n CHAR = auto()\n TABLE = auto()\n ROW = auto()\n CELL = auto()\n NOTE = auto()\n SIDEBAR = auto()\n@dataclass", + "detail": "machine.corpora.usfm_parser_state", + "documentation": {} + }, + { + "label": "UsfmParserElement", + "kind": 6, + "importPath": "machine.corpora.usfm_parser_state", + "description": "machine.corpora.usfm_parser_state", + "peekOfCode": "class UsfmParserElement:\n type: UsfmElementType\n marker: Optional[str]\n attributes: Optional[Sequence[UsfmAttribute]] = None\nclass UsfmParserState:\n def __init__(self, stylesheet: UsfmStylesheet, versification: Versification, tokens: Sequence[UsfmToken]) -> None:\n self._stylesheet = stylesheet\n self._stack: List[UsfmParserElement] = []\n self.verse_ref = VerseRef(versification=versification)\n self.verse_offset = 0", + "detail": "machine.corpora.usfm_parser_state", + "documentation": {} + }, + { + "label": "UsfmParserState", + "kind": 6, + "importPath": "machine.corpora.usfm_parser_state", + "description": "machine.corpora.usfm_parser_state", + "peekOfCode": "class UsfmParserState:\n def __init__(self, stylesheet: UsfmStylesheet, versification: Versification, tokens: Sequence[UsfmToken]) -> None:\n self._stylesheet = stylesheet\n self._stack: List[UsfmParserElement] = []\n self.verse_ref = VerseRef(versification=versification)\n self.verse_offset = 0\n self.line_number = 1\n self.column_number = 0\n self._tokens = tokens\n self.index = -1", + "detail": "machine.corpora.usfm_parser_state", + "documentation": {} + }, + { + "label": "UsfmStylesheet", + "kind": 6, + "importPath": "machine.corpora.usfm_stylesheet", + "description": "machine.corpora.usfm_stylesheet", + "peekOfCode": "class UsfmStylesheet:\n def __init__(self, filename: StrPath, alternate_filename: Optional[StrPath] = None) -> None:\n self._tags: Dict[str, UsfmTag] = {}\n self._parse(filename)\n if alternate_filename is not None:\n try:\n self._parse(alternate_filename)\n except UnicodeDecodeError:\n encoding = detect_encoding(alternate_filename)\n self._parse(alternate_filename, encoding)", + "detail": "machine.corpora.usfm_stylesheet", + "documentation": {} + }, + { + "label": "is_cell_range", + "kind": 2, + "importPath": "machine.corpora.usfm_stylesheet", + "description": "machine.corpora.usfm_stylesheet", + "peekOfCode": "def is_cell_range(marker: str) -> Tuple[bool, str, int]:\n match = _CELL_RANGE_REGEX.match(marker)\n if match is not None:\n base_tag = match.group(1)\n col_span = int(match.group(2)[0]) - int(base_tag[-1]) + 1\n if col_span >= 2:\n return True, base_tag, col_span\n return False, marker, 0\nclass UsfmStylesheet:\n def __init__(self, filename: StrPath, alternate_filename: Optional[StrPath] = None) -> None:", + "detail": "machine.corpora.usfm_stylesheet", + "documentation": {} + }, + { + "label": "_CELL_RANGE_REGEX", + "kind": 5, + "importPath": "machine.corpora.usfm_stylesheet", + "description": "machine.corpora.usfm_stylesheet", + "peekOfCode": "_CELL_RANGE_REGEX = re.compile(r\"^(t[ch][cr]?[1-5])-([2-5])$\")\ndef is_cell_range(marker: str) -> Tuple[bool, str, int]:\n match = _CELL_RANGE_REGEX.match(marker)\n if match is not None:\n base_tag = match.group(1)\n col_span = int(match.group(2)[0]) - int(base_tag[-1]) + 1\n if col_span >= 2:\n return True, base_tag, col_span\n return False, marker, 0\nclass UsfmStylesheet:", + "detail": "machine.corpora.usfm_stylesheet", + "documentation": {} + }, + { + "label": "_JUSTIFICATION_MAPPINGS", + "kind": 5, + "importPath": "machine.corpora.usfm_stylesheet", + "description": "machine.corpora.usfm_stylesheet", + "peekOfCode": "_JUSTIFICATION_MAPPINGS = {\n \"left\": UsfmJustification.LEFT,\n \"center\": UsfmJustification.CENTER,\n \"right\": UsfmJustification.RIGHT,\n \"both\": UsfmJustification.BOTH,\n}\n_STYLE_MAPPINGS = {\n \"character\": UsfmStyleType.CHARACTER,\n \"paragraph\": UsfmStyleType.PARAGRAPH,\n \"note\": UsfmStyleType.NOTE,", + "detail": "machine.corpora.usfm_stylesheet", + "documentation": {} + }, + { + "label": "_STYLE_MAPPINGS", + "kind": 5, + "importPath": "machine.corpora.usfm_stylesheet", + "description": "machine.corpora.usfm_stylesheet", + "peekOfCode": "_STYLE_MAPPINGS = {\n \"character\": UsfmStyleType.CHARACTER,\n \"paragraph\": UsfmStyleType.PARAGRAPH,\n \"note\": UsfmStyleType.NOTE,\n \"milestone\": UsfmStyleType.MILESTONE,\n}\n_TEXT_TYPE_MAPPINGS = {\n \"title\": UsfmTextType.TITLE,\n \"section\": UsfmTextType.SECTION,\n \"versetext\": UsfmTextType.VERSE_TEXT,", + "detail": "machine.corpora.usfm_stylesheet", + "documentation": {} + }, + { + "label": "_TEXT_TYPE_MAPPINGS", + "kind": 5, + "importPath": "machine.corpora.usfm_stylesheet", + "description": "machine.corpora.usfm_stylesheet", + "peekOfCode": "_TEXT_TYPE_MAPPINGS = {\n \"title\": UsfmTextType.TITLE,\n \"section\": UsfmTextType.SECTION,\n \"versetext\": UsfmTextType.VERSE_TEXT,\n \"notetext\": UsfmTextType.NOTE_TEXT,\n \"other\": UsfmTextType.OTHER,\n \"backtranslation\": UsfmTextType.BACK_TRANSLATION,\n \"translationnote\": UsfmTextType.TRANSLATION_NOTE,\n \"versenumber\": UsfmTextType.VERSE_TEXT,\n \"chapternumber\": UsfmTextType.OTHER,", + "detail": "machine.corpora.usfm_stylesheet", + "documentation": {} + }, + { + "label": "_TEXT_PROPERTY_MAPPINGS", + "kind": 5, + "importPath": "machine.corpora.usfm_stylesheet", + "description": "machine.corpora.usfm_stylesheet", + "peekOfCode": "_TEXT_PROPERTY_MAPPINGS = {\n \"verse\": UsfmTextProperties.VERSE,\n \"chapter\": UsfmTextProperties.CHAPTER,\n \"paragraph\": UsfmTextProperties.PARAGRAPH,\n \"publishable\": UsfmTextProperties.PUBLISHABLE,\n \"vernacular\": UsfmTextProperties.VERNACULAR,\n \"poetic\": UsfmTextProperties.POETIC,\n \"level_1\": UsfmTextProperties.LEVEL1,\n \"level_2\": UsfmTextProperties.LEVEL2,\n \"level_3\": UsfmTextProperties.LEVEL3,", + "detail": "machine.corpora.usfm_stylesheet", + "documentation": {} + }, + { + "label": "UsfmTextType", + "kind": 6, + "importPath": "machine.corpora.usfm_tag", + "description": "machine.corpora.usfm_tag", + "peekOfCode": "class UsfmTextType(Flag):\n NOT_SPECIFIED = 0\n TITLE = auto()\n SECTION = auto()\n VERSE_TEXT = auto()\n NOTE_TEXT = auto()\n OTHER = auto()\n BACK_TRANSLATION = auto()\n TRANSLATION_NOTE = auto()\nclass UsfmJustification(Enum):", + "detail": "machine.corpora.usfm_tag", + "documentation": {} + }, + { + "label": "UsfmJustification", + "kind": 6, + "importPath": "machine.corpora.usfm_tag", + "description": "machine.corpora.usfm_tag", + "peekOfCode": "class UsfmJustification(Enum):\n LEFT = auto()\n CENTER = auto()\n RIGHT = auto()\n BOTH = auto()\nclass UsfmStyleType(Enum):\n UNKNOWN = auto()\n CHARACTER = auto()\n NOTE = auto()\n PARAGRAPH = auto()", + "detail": "machine.corpora.usfm_tag", + "documentation": {} + }, + { + "label": "UsfmStyleType", + "kind": 6, + "importPath": "machine.corpora.usfm_tag", + "description": "machine.corpora.usfm_tag", + "peekOfCode": "class UsfmStyleType(Enum):\n UNKNOWN = auto()\n CHARACTER = auto()\n NOTE = auto()\n PARAGRAPH = auto()\n END = auto()\n MILESTONE = auto()\n MILESTONE_END = auto()\nclass UsfmTextProperties(Flag):\n NONE = 0", + "detail": "machine.corpora.usfm_tag", + "documentation": {} + }, + { + "label": "UsfmTextProperties", + "kind": 6, + "importPath": "machine.corpora.usfm_tag", + "description": "machine.corpora.usfm_tag", + "peekOfCode": "class UsfmTextProperties(Flag):\n NONE = 0\n VERSE = auto()\n CHAPTER = auto()\n PARAGRAPH = auto()\n PUBLISHABLE = auto()\n VERNACULAR = auto()\n POETIC = auto()\n OTHER_TEXT_BEGIN = auto()\n OTHER_TEXT_END = auto()", + "detail": "machine.corpora.usfm_tag", + "documentation": {} + }, + { + "label": "UsfmStyleAttribute", + "kind": 6, + "importPath": "machine.corpora.usfm_tag", + "description": "machine.corpora.usfm_tag", + "peekOfCode": "class UsfmStyleAttribute:\n name: str\n is_required: bool\nclass UsfmTag:\n def __init__(self, marker: str) -> None:\n self.marker = marker\n self.bold: bool = False\n self.description: Optional[str] = None\n self.encoding: Optional[str] = None\n self.end_marker: Optional[str] = None", + "detail": "machine.corpora.usfm_tag", + "documentation": {} + }, + { + "label": "UsfmTag", + "kind": 6, + "importPath": "machine.corpora.usfm_tag", + "description": "machine.corpora.usfm_tag", + "peekOfCode": "class UsfmTag:\n def __init__(self, marker: str) -> None:\n self.marker = marker\n self.bold: bool = False\n self.description: Optional[str] = None\n self.encoding: Optional[str] = None\n self.end_marker: Optional[str] = None\n self.first_line_indent: int = 0\n self.font_name: Optional[str] = None\n self.font_size: int = 0", + "detail": "machine.corpora.usfm_tag", + "documentation": {} + }, + { + "label": "UsfmTextBase", + "kind": 6, + "importPath": "machine.corpora.usfm_text_base", + "description": "machine.corpora.usfm_text_base", + "peekOfCode": "class UsfmTextBase(ScriptureText):\n def __init__(\n self,\n id: str,\n stylesheet: UsfmStylesheet,\n encoding: str,\n versification: Optional[Versification],\n include_markers: bool,\n include_all_text: bool,\n project: Optional[str] = None,", + "detail": "machine.corpora.usfm_text_base", + "documentation": {} + }, + { + "label": "_TextRowCollector", + "kind": 6, + "importPath": "machine.corpora.usfm_text_base", + "description": "machine.corpora.usfm_text_base", + "peekOfCode": "class _TextRowCollector(ScriptureRefUsfmParserHandler):\n def __init__(self, text: UsfmTextBase) -> None:\n super().__init__()\n self._text = text\n self._rows: List[TextRow] = []\n self._next_para_tokens: List[UsfmToken] = []\n self._row_texts_stack: List[str] = []\n self._sentence_start: bool = False\n self._next_para_text_started = False\n @property", + "detail": "machine.corpora.usfm_text_base", + "documentation": {} + }, + { + "label": "UsfmTokenType", + "kind": 6, + "importPath": "machine.corpora.usfm_token", + "description": "machine.corpora.usfm_token", + "peekOfCode": "class UsfmTokenType(Enum):\n BOOK = auto()\n CHAPTER = auto()\n VERSE = auto()\n TEXT = auto()\n PARAGRAPH = auto()\n CHARACTER = auto()\n NOTE = auto()\n END = auto()\n MILESTONE = auto()", + "detail": "machine.corpora.usfm_token", + "documentation": {} + }, + { + "label": "UsfmAttribute", + "kind": 6, + "importPath": "machine.corpora.usfm_token", + "description": "machine.corpora.usfm_token", + "peekOfCode": "class UsfmAttribute:\n name: str\n value: str\n offset: int = 0\n def __repr__(self) -> str:\n return f'{self.name}=\"{self.value}\"'\n@dataclass\nclass UsfmToken:\n type: UsfmTokenType\n marker: Optional[str] = None", + "detail": "machine.corpora.usfm_token", + "documentation": {} + }, + { + "label": "UsfmToken", + "kind": 6, + "importPath": "machine.corpora.usfm_token", + "description": "machine.corpora.usfm_token", + "peekOfCode": "class UsfmToken:\n type: UsfmTokenType\n marker: Optional[str] = None\n text: Optional[str] = None\n end_marker: Optional[str] = None\n data: Optional[str] = None\n line_number: int = -1\n column_number: int = -1\n @property\n def nestless_marker(self) -> Optional[str]:", + "detail": "machine.corpora.usfm_token", + "documentation": {} + }, + { + "label": "_ATTRIBUTE_STR", + "kind": 5, + "importPath": "machine.corpora.usfm_token", + "description": "machine.corpora.usfm_token", + "peekOfCode": "_ATTRIBUTE_STR = r\"([-\\w]+)\\s*\\=\\s*\\\"(.+?)\\\"\\s*\"\n_ATTRIBUTE_REGEX = re.compile(_ATTRIBUTE_STR)\n_ATTRIBUTES_REGEX = re.compile(r\"(?(\" + _ATTRIBUTE_STR + r\")+)|(?[^\\\\=|]*)\")\n@dataclass\nclass UsfmAttribute:\n name: str\n value: str\n offset: int = 0\n def __repr__(self) -> str:\n return f'{self.name}=\"{self.value}\"'", + "detail": "machine.corpora.usfm_token", + "documentation": {} + }, + { + "label": "_ATTRIBUTE_REGEX", + "kind": 5, + "importPath": "machine.corpora.usfm_token", + "description": "machine.corpora.usfm_token", + "peekOfCode": "_ATTRIBUTE_REGEX = re.compile(_ATTRIBUTE_STR)\n_ATTRIBUTES_REGEX = re.compile(r\"(?(\" + _ATTRIBUTE_STR + r\")+)|(?[^\\\\=|]*)\")\n@dataclass\nclass UsfmAttribute:\n name: str\n value: str\n offset: int = 0\n def __repr__(self) -> str:\n return f'{self.name}=\"{self.value}\"'\n@dataclass", + "detail": "machine.corpora.usfm_token", + "documentation": {} + }, + { + "label": "_ATTRIBUTES_REGEX", + "kind": 5, + "importPath": "machine.corpora.usfm_token", + "description": "machine.corpora.usfm_token", + "peekOfCode": "_ATTRIBUTES_REGEX = re.compile(r\"(?(\" + _ATTRIBUTE_STR + r\")+)|(?[^\\\\=|]*)\")\n@dataclass\nclass UsfmAttribute:\n name: str\n value: str\n offset: int = 0\n def __repr__(self) -> str:\n return f'{self.name}=\"{self.value}\"'\n@dataclass\nclass UsfmToken:", + "detail": "machine.corpora.usfm_token", + "documentation": {} + }, + { + "label": "RtlReferenceOrder", + "kind": 6, + "importPath": "machine.corpora.usfm_tokenizer", + "description": "machine.corpora.usfm_tokenizer", + "peekOfCode": "class RtlReferenceOrder(Enum):\n NOT_SET = auto()\n BOOK_CHAPTER_VERSE = auto()\n BOOK_VERSE_CHAPTER = auto()\nclass UsfmTokenizer:\n def __init__(\n self,\n stylesheet: Union[StrPath, UsfmStylesheet] = \"usfm.sty\",\n rtl_reference_order: RtlReferenceOrder = RtlReferenceOrder.NOT_SET,\n ) -> None:", + "detail": "machine.corpora.usfm_tokenizer", + "documentation": {} + }, + { + "label": "UsfmTokenizer", + "kind": 6, + "importPath": "machine.corpora.usfm_tokenizer", + "description": "machine.corpora.usfm_tokenizer", + "peekOfCode": "class UsfmTokenizer:\n def __init__(\n self,\n stylesheet: Union[StrPath, UsfmStylesheet] = \"usfm.sty\",\n rtl_reference_order: RtlReferenceOrder = RtlReferenceOrder.NOT_SET,\n ) -> None:\n if isinstance(stylesheet, UsfmStylesheet):\n self.stylesheet = stylesheet\n else:\n self.stylesheet = UsfmStylesheet(stylesheet)", + "detail": "machine.corpora.usfm_tokenizer", + "documentation": {} + }, + { + "label": "_RTL_VERSE_REGEX", + "kind": 5, + "importPath": "machine.corpora.usfm_tokenizer", + "description": "machine.corpora.usfm_tokenizer", + "peekOfCode": "_RTL_VERSE_REGEX = re.compile(r\"[\\u200E\\u200F]*(\\d+\\w?)[\\u200E\\u200F]*([\\p{P}\\p{S}])[\\u200E\\u200F]*(?=\\d)\")\nclass RtlReferenceOrder(Enum):\n NOT_SET = auto()\n BOOK_CHAPTER_VERSE = auto()\n BOOK_VERSE_CHAPTER = auto()\nclass UsfmTokenizer:\n def __init__(\n self,\n stylesheet: Union[StrPath, UsfmStylesheet] = \"usfm.sty\",\n rtl_reference_order: RtlReferenceOrder = RtlReferenceOrder.NOT_SET,", + "detail": "machine.corpora.usfm_tokenizer", + "documentation": {} + }, + { + "label": "_ZERO_WIDTH_SPACE", + "kind": 5, + "importPath": "machine.corpora.usfm_tokenizer", + "description": "machine.corpora.usfm_tokenizer", + "peekOfCode": "_ZERO_WIDTH_SPACE = \"\\u200B\"\ndef _get_next_word(usfm: str, index: int, preserve_whitespace: bool) -> Tuple[int, str]:\n # Skip over leading spaces\n while index < len(usfm) and _is_nonsemantic_whitespace(usfm[index]):\n index += 1\n data_start = index\n while index < len(usfm) and not _is_nonsemantic_whitespace(usfm[index]) and usfm[index] != \"\\\\\":\n index += 1\n data = usfm[data_start:index]\n # Skip over trailing spaces", + "detail": "machine.corpora.usfm_tokenizer", + "documentation": {} + }, + { + "label": "UsfmZipText", + "kind": 6, + "importPath": "machine.corpora.usfm_zip_text", + "description": "machine.corpora.usfm_zip_text", + "peekOfCode": "class UsfmZipText(UsfmTextBase):\n def __init__(\n self,\n stylesheet: UsfmStylesheet,\n encoding: str,\n id: str,\n archive_filename: StrPath,\n path: str,\n versification: Optional[Versification] = None,\n include_markers: bool = False,", + "detail": "machine.corpora.usfm_zip_text", + "documentation": {} + }, + { + "label": "UsxFileAlignmentCollection", + "kind": 6, + "importPath": "machine.corpora.usx_file_alignment_collection", + "description": "machine.corpora.usx_file_alignment_collection", + "peekOfCode": "class UsxFileAlignmentCollection(AlignmentCollection):\n def __init__(\n self,\n src_word_tokenizer: RangeTokenizer[str, int, str],\n trg_word_tokenizer: RangeTokenizer[str, int, str],\n src_filename: StrPath,\n trg_filename: StrPath,\n src_versification: Optional[Versification] = None,\n trg_versification: Optional[Versification] = None,\n ) -> None:", + "detail": "machine.corpora.usx_file_alignment_collection", + "documentation": {} + }, + { + "label": "_RangeInfo", + "kind": 6, + "importPath": "machine.corpora.usx_file_alignment_collection", + "description": "machine.corpora.usx_file_alignment_collection", + "peekOfCode": "class _RangeInfo:\n verse_ref: Optional[VerseRef] = None\n source_tokens: List[UsxToken] = field(default_factory=list)\n target_tokens: List[UsxToken] = field(default_factory=list)\ndef _get_links(word_tokenizer: RangeTokenizer[str, int, str], tokens: Sequence[UsxToken]) -> DefaultDict[str, Set[int]]:\n prev_para_elem: Optional[ElementTree.Element] = None\n text = \"\"\n link_strs: List[Tuple[Range[int], str]] = []\n for token in tokens:\n if token.para_element != prev_para_elem and len(text) > 0:", + "detail": "machine.corpora.usx_file_alignment_collection", + "documentation": {} + }, + { + "label": "UsxFileAlignmentCorpus", + "kind": 6, + "importPath": "machine.corpora.usx_file_alignment_corpus", + "description": "machine.corpora.usx_file_alignment_corpus", + "peekOfCode": "class UsxFileAlignmentCorpus(DictionaryAlignmentCorpus):\n def __init__(\n self,\n src_word_tokenizer: RangeTokenizer[str, int, str],\n trg_word_tokenizer: RangeTokenizer[str, int, str],\n src_project_dir: StrPath,\n trg_project_dir: StrPath,\n src_versification: Optional[Versification] = None,\n trg_versification: Optional[Versification] = None,\n ) -> None:", + "detail": "machine.corpora.usx_file_alignment_corpus", + "documentation": {} + }, + { + "label": "UsxFileText", + "kind": 6, + "importPath": "machine.corpora.usx_file_text", + "description": "machine.corpora.usx_file_text", + "peekOfCode": "class UsxFileText(UsxTextBase):\n def __init__(self, filename: StrPath, versification: Optional[Versification] = None) -> None:\n self._filename = Path(filename)\n super().__init__(get_usx_id(self._filename), versification)\n def _create_stream_container(self) -> StreamContainer:\n return FileStreamContainer(self._filename)", + "detail": "machine.corpora.usx_file_text", + "documentation": {} + }, + { + "label": "UsxFileTextCorpus", + "kind": 6, + "importPath": "machine.corpora.usx_file_text_corpus", + "description": "machine.corpora.usx_file_text_corpus", + "peekOfCode": "class UsxFileTextCorpus(ScriptureTextCorpus):\n def __init__(\n self,\n project_dir: StrPath,\n versification: Optional[Versification] = None,\n ) -> None:\n project_dir = Path(project_dir)\n versification = get_usx_versification(project_dir, versification)\n texts: List[UsxFileText] = []\n for filename in project_dir.glob(\"*.usx\"):", + "detail": "machine.corpora.usx_file_text_corpus", + "documentation": {} + }, + { + "label": "UsxTextBase", + "kind": 6, + "importPath": "machine.corpora.usx_text_base", + "description": "machine.corpora.usx_text_base", + "peekOfCode": "class UsxTextBase(ScriptureText):\n def __init__(self, id: str, versification: Optional[Versification]) -> None:\n super().__init__(id, versification)\n self._parser = UsxVerseParser()\n @abstractmethod\n def _create_stream_container(self) -> StreamContainer: ...\n def _get_rows(self) -> Generator[TextRow, None, None]:\n with self._create_stream_container() as stream_container, stream_container.open_stream() as stream:\n for verse in self._parser.parse(stream):\n verse_ref = self._create_verse_ref(verse.chapter, verse.verse)", + "detail": "machine.corpora.usx_text_base", + "documentation": {} + }, + { + "label": "UsxToken", + "kind": 6, + "importPath": "machine.corpora.usx_token", + "description": "machine.corpora.usx_token", + "peekOfCode": "class UsxToken:\n para_element: ElementTree.Element\n text: str\n element: Optional[ElementTree.Element]\n def __repr__(self) -> str:\n return self.text", + "detail": "machine.corpora.usx_token", + "documentation": {} + }, + { + "label": "UsxVerse", + "kind": 6, + "importPath": "machine.corpora.usx_verse", + "description": "machine.corpora.usx_verse", + "peekOfCode": "class UsxVerse:\n def __init__(self, chapter: str, verse: str, is_sentence_start: bool, tokens: Iterable[UsxToken]) -> None:\n self._chapter = chapter\n self._verse = verse\n self._is_sentence_start = is_sentence_start\n self._tokens = list(tokens)\n prev_token: Optional[UsxToken] = None\n text = \"\"\n ends_with_space = False\n for token in self._tokens:", + "detail": "machine.corpora.usx_verse", + "documentation": {} + }, + { + "label": "UsxVerseParser", + "kind": 6, + "importPath": "machine.corpora.usx_verse_parser", + "description": "machine.corpora.usx_verse_parser", + "peekOfCode": "class UsxVerseParser:\n def __init__(self, merge_segments: bool = False) -> None:\n self._merge_segments = merge_segments\n def parse(self, stream: BinaryIO) -> Iterable[UsxVerse]:\n ctxt = _ParseContext()\n tree = ElementTree.parse(stream)\n root_elem = tree.find(\".//book/..\")\n if root_elem is None:\n raise RuntimeError(\"USX does not contain a book element.\")\n assert root_elem is not None", + "detail": "machine.corpora.usx_verse_parser", + "documentation": {} + }, + { + "label": "_ParseContext", + "kind": 6, + "importPath": "machine.corpora.usx_verse_parser", + "description": "machine.corpora.usx_verse_parser", + "peekOfCode": "class _ParseContext:\n chapter: Optional[str] = None\n verse: Optional[str] = None\n is_sentence_start: bool = True\n para_element: Optional[ElementTree.Element] = None\n _verse_tokens: List[UsxToken] = field(default_factory=list)\n def add_token(self, text: str, elem: Optional[ElementTree.Element] = None) -> None:\n assert self.para_element is not None\n self._verse_tokens.append(UsxToken(self.para_element, text, elem))\n def create_verse(self) -> UsxVerse:", + "detail": "machine.corpora.usx_verse_parser", + "documentation": {} + }, + { + "label": "_NONVERSE_PARA_STYLES", + "kind": 5, + "importPath": "machine.corpora.usx_verse_parser", + "description": "machine.corpora.usx_verse_parser", + "peekOfCode": "_NONVERSE_PARA_STYLES = {\"ms\", \"mr\", \"s\", \"sr\", \"r\", \"d\", \"sp\", \"rem\", \"restore\", \"cl\"}\ndef _is_numbered_style(style_prefix: str, style: str) -> bool:\n return style.startswith(style_prefix) and is_integer(style[len(style_prefix) :])\ndef _is_verse_para(para_elem: ElementTree.Element) -> bool:\n style = para_elem.get(\"style\", \"\")\n if style in _NONVERSE_PARA_STYLES:\n return False\n if _is_numbered_style(\"ms\", style):\n return False\n if _is_numbered_style(\"s\", style):", + "detail": "machine.corpora.usx_verse_parser", + "documentation": {} + }, + { + "label": "UsxZipText", + "kind": 6, + "importPath": "machine.corpora.usx_zip_text", + "description": "machine.corpora.usx_zip_text", + "peekOfCode": "class UsxZipText(UsxTextBase):\n def __init__(\n self,\n id: str,\n archive_filename: StrPath,\n path: str,\n versification: Optional[Versification] = None,\n ) -> None:\n super().__init__(id, versification)\n self._archive_filename = archive_filename", + "detail": "machine.corpora.usx_zip_text", + "documentation": {} + }, + { + "label": "ZipEntryStreamContainer", + "kind": 6, + "importPath": "machine.corpora.zip_entry_stream_container", + "description": "machine.corpora.zip_entry_stream_container", + "peekOfCode": "class ZipEntryStreamContainer(StreamContainer):\n def __init__(self, archive_filename: StrPath, entry_path: str) -> None:\n self._archive = ZipFile(archive_filename, \"r\")\n self._entry = self._archive.getinfo(entry_path)\n def __enter__(self) -> ZipEntryStreamContainer:\n return self\n def __exit__(self, type: Any, value: Any, traceback: Any) -> None:\n self.close()\n def open_stream(self) -> BinaryIO:\n return BytesIO(self._archive.read(self._entry))", + "detail": "machine.corpora.zip_entry_stream_container", + "documentation": {} + }, + { + "label": "ZipParatextProjectSettingsParser", + "kind": 6, + "importPath": "machine.corpora.zip_paratext_project_settings_parser", + "description": "machine.corpora.zip_paratext_project_settings_parser", + "peekOfCode": "class ZipParatextProjectSettingsParser(ZipParatextProjectSettingsParserBase):\n def __init__(self, archive: ZipFile) -> None:\n self._archive = archive\n def _exists(self, file_name: str) -> bool:\n return file_name in self._archive.namelist()\n def _find(self, extension: str) -> Optional[str]:\n for entry in self._archive.namelist():\n if entry.endswith(extension):\n return entry\n return None", + "detail": "machine.corpora.zip_paratext_project_settings_parser", + "documentation": {} + }, + { + "label": "ZipParatextProjectSettingsParserBase", + "kind": 6, + "importPath": "machine.corpora.zip_paratext_project_settings_parser_base", + "description": "machine.corpora.zip_paratext_project_settings_parser_base", + "peekOfCode": "class ZipParatextProjectSettingsParserBase(ParatextProjectSettingsParserBase):\n def _create_stylesheet(self, file_name: str) -> UsfmStylesheet:\n with TemporaryFile() as stylesheet_temp_file, TemporaryFile() as custom_stylesheet_temp_file:\n stylesheet_path: str = file_name\n if self._exists(file_name):\n with self._open(file_name) as source:\n stylesheet_temp_file.write(source.read())\n stylesheet_path = stylesheet_temp_file.name\n custom_stylesheet_path: Optional[str] = None\n if self._exists(\"custom.sty\"):", + "detail": "machine.corpora.zip_paratext_project_settings_parser_base", + "documentation": {} + }, + { + "label": "ZipParatextProjectTermsParser", + "kind": 6, + "importPath": "machine.corpora.zip_paratext_project_terms_parser", + "description": "machine.corpora.zip_paratext_project_terms_parser", + "peekOfCode": "class ZipParatextProjectTermsParser(ParatextProjectTermsParserBase):\n def __init__(self, archive: ZipFile, settings: Optional[ParatextProjectSettings] = None) -> None:\n super().__init__(settings or ZipParatextProjectSettingsParser(archive).parse())\n self._archive = archive\n def _exists(self, file_name: StrPath) -> bool:\n return file_name in self._archive.namelist()\n def _open(self, file_name: StrPath) -> Optional[BinaryIO]:\n if file_name in self._archive.namelist():\n return BytesIO(self._archive.read(file_name))\n return None", + "detail": "machine.corpora.zip_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "ZipParatextProjectTextUpdater", + "kind": 6, + "importPath": "machine.corpora.zip_paratext_project_text_updater", + "description": "machine.corpora.zip_paratext_project_text_updater", + "peekOfCode": "class ZipParatextProjectTextUpdater(ParatextProjectTextUpdaterBase):\n def __init__(self, archive: ZipFile) -> None:\n super().__init__(ZipParatextProjectSettingsParser(archive))\n self._archive = archive\n def _exists(self, file_name: StrPath) -> bool:\n return file_name in self._archive.namelist()\n def _open(self, file_name: StrPath) -> Optional[BinaryIO]:\n if file_name in self._archive.namelist():\n return BytesIO(self._archive.read(file_name))\n return None", + "detail": "machine.corpora.zip_paratext_project_text_updater", + "documentation": {} + }, + { + "label": "HuggingFaceNmtModelFactory", + "kind": 6, + "importPath": "machine.jobs.huggingface.hugging_face_nmt_model_factory", + "description": "machine.jobs.huggingface.hugging_face_nmt_model_factory", + "peekOfCode": "class HuggingFaceNmtModelFactory(NmtModelFactory):\n def __init__(self, config: Any) -> None:\n self._config = config\n args = config.huggingface.train_params.to_dict()\n args[\"output_dir\"] = str(self._model_dir)\n args[\"overwrite_output_dir\"] = True\n # Use \"max_steps\" from root for backward compatibility\n if \"max_steps\" in self._config.huggingface:\n args[\"max_steps\"] = self._config.huggingface.max_steps\n parser = HfArgumentParser(cast(Any, Seq2SeqTrainingArguments))", + "detail": "machine.jobs.huggingface.hugging_face_nmt_model_factory", + "documentation": {} + }, + { + "label": "on_train_end", + "kind": 2, + "importPath": "machine.jobs.huggingface.hugging_face_nmt_model_factory", + "description": "machine.jobs.huggingface.hugging_face_nmt_model_factory", + "peekOfCode": "def on_train_end(\n self: ClearMLCallback, args, state, control, model=None, tokenizer=None, metrics=None, logs=None, **kwargs\n):\n pass\nsetattr(ClearMLCallback, \"on_train_end\", on_train_end)", + "detail": "machine.jobs.huggingface.hugging_face_nmt_model_factory", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.huggingface.hugging_face_nmt_model_factory", + "description": "machine.jobs.huggingface.hugging_face_nmt_model_factory", + "peekOfCode": "logger = logging.getLogger(__name__)\nclass HuggingFaceNmtModelFactory(NmtModelFactory):\n def __init__(self, config: Any) -> None:\n self._config = config\n args = config.huggingface.train_params.to_dict()\n args[\"output_dir\"] = str(self._model_dir)\n args[\"overwrite_output_dir\"] = True\n # Use \"max_steps\" from root for backward compatibility\n if \"max_steps\" in self._config.huggingface:\n args[\"max_steps\"] = self._config.huggingface.max_steps", + "detail": "machine.jobs.huggingface.hugging_face_nmt_model_factory", + "documentation": {} + }, + { + "label": "ThotSmtModelFactory", + "kind": 6, + "importPath": "machine.jobs.thot.thot_smt_model_factory", + "description": "machine.jobs.thot.thot_smt_model_factory", + "peekOfCode": "class ThotSmtModelFactory(SmtModelFactory):\n def init(self) -> None:\n shutil.copytree(_THOT_NEW_MODEL_DIRECTORY, self._model_dir, dirs_exist_ok=True)\n def create_model_trainer(self, tokenizer: Tokenizer[str, int, str], corpus: ParallelTextCorpus) -> Trainer:\n return ThotSmtModelTrainer(\n word_alignment_model_type=self._config.thot_mt.word_alignment_model_type,\n corpus=corpus,\n config=self._model_dir / \"smt.cfg\",\n source_tokenizer=tokenizer,\n target_tokenizer=tokenizer,", + "detail": "machine.jobs.thot.thot_smt_model_factory", + "documentation": {} + }, + { + "label": "ThotWordAlignmentModelFactory", + "kind": 6, + "importPath": "machine.jobs.thot.thot_word_alignment_model_factory", + "description": "machine.jobs.thot.thot_word_alignment_model_factory", + "peekOfCode": "class ThotWordAlignmentModelFactory(WordAlignmentModelFactory):\n def create_model_trainer(self, tokenizer: Tokenizer[str, int, str], corpus: ParallelTextCorpus) -> Trainer:\n (self._model_dir / \"tm\").mkdir(parents=True, exist_ok=True)\n direct_trainer = ThotWordAlignmentModelTrainer(\n self._config.thot_align.model_type,\n corpus.lowercase(),\n prefix_filename=self._direct_model_path,\n source_tokenizer=tokenizer,\n target_tokenizer=tokenizer,\n )", + "detail": "machine.jobs.thot.thot_word_alignment_model_factory", + "documentation": {} + }, + { + "label": "AsyncScheduler", + "kind": 6, + "importPath": "machine.jobs.async_scheduler", + "description": "machine.jobs.async_scheduler", + "peekOfCode": "class AsyncScheduler:\n def __init__(self) -> None:\n self._loop = asyncio.new_event_loop()\n threading.Thread(target=self._start_background_loop, daemon=True).start()\n self._tasks: Set[concurrent.futures.Future] = set()\n def _start_background_loop(self) -> None:\n asyncio.set_event_loop(self._loop)\n self._loop.run_forever()\n def schedule(self, coro) -> None:\n task = asyncio.run_coroutine_threadsafe(coro, self._loop)", + "detail": "machine.jobs.async_scheduler", + "documentation": {} + }, + { + "label": "ProgressInfo", + "kind": 6, + "importPath": "machine.jobs.build_clearml_helper", + "description": "machine.jobs.build_clearml_helper", + "peekOfCode": "class ProgressInfo:\n last_percent_completed: Union[int, None] = 0\n last_message: Union[str, None] = \"\"\n last_progress_time: Union[datetime, None] = None\n last_check_canceled_time: Union[datetime, None] = None\ndef get_clearml_check_canceled(progress_info: ProgressInfo, task: Task) -> Callable[[], None]:\n def clearml_check_canceled() -> None:\n current_time = datetime.now()\n if (\n progress_info.last_check_canceled_time is None", + "detail": "machine.jobs.build_clearml_helper", + "documentation": {} + }, + { + "label": "get_clearml_check_canceled", + "kind": 2, + "importPath": "machine.jobs.build_clearml_helper", + "description": "machine.jobs.build_clearml_helper", + "peekOfCode": "def get_clearml_check_canceled(progress_info: ProgressInfo, task: Task) -> Callable[[], None]:\n def clearml_check_canceled() -> None:\n current_time = datetime.now()\n if (\n progress_info.last_check_canceled_time is None\n or (current_time - progress_info.last_check_canceled_time).seconds > 20\n ):\n if task.get_status() == \"stopped\":\n raise CanceledError\n progress_info.last_check_canceled_time = current_time", + "detail": "machine.jobs.build_clearml_helper", + "documentation": {} + }, + { + "label": "get_clearml_progress_caller", + "kind": 2, + "importPath": "machine.jobs.build_clearml_helper", + "description": "machine.jobs.build_clearml_helper", + "peekOfCode": "def get_clearml_progress_caller(\n progress_info: ProgressInfo, task: Task, scheduler: AsyncScheduler, logger: logging.Logger\n) -> Callable[[ProgressStatus], None]:\n def clearml_progress(progress_status: ProgressStatus) -> None:\n percent_completed: Optional[int] = None\n if progress_status.percent_completed is not None:\n percent_completed = round(progress_status.percent_completed * 100)\n message = progress_status.message\n if percent_completed != progress_info.last_percent_completed or message != progress_info.last_message:\n logger.info(f\"{percent_completed}% - {message}\")", + "detail": "machine.jobs.build_clearml_helper", + "documentation": {} + }, + { + "label": "get_local_progress_caller", + "kind": 2, + "importPath": "machine.jobs.build_clearml_helper", + "description": "machine.jobs.build_clearml_helper", + "peekOfCode": "def get_local_progress_caller(progress_info: ProgressInfo, logger: logging.Logger) -> Callable[[ProgressStatus], None]:\n def local_progress(progress_status: ProgressStatus) -> None:\n percent_completed: Optional[int] = None\n if progress_status.percent_completed is not None:\n percent_completed = round(progress_status.percent_completed * 100)\n message = progress_status.message\n if percent_completed != progress_info.last_percent_completed or message != progress_info.last_message:\n logger.info(f\"{percent_completed}% - {message}\")\n progress_info.last_percent_completed = percent_completed\n progress_info.last_message = message", + "detail": "machine.jobs.build_clearml_helper", + "documentation": {} + }, + { + "label": "update_settings", + "kind": 2, + "importPath": "machine.jobs.build_clearml_helper", + "description": "machine.jobs.build_clearml_helper", + "peekOfCode": "def update_settings(settings: Settings, args: dict):\n settings.update(args)\n settings.model_type = cast(str, settings.model_type).lower()\n if \"build_options\" in settings:\n try:\n build_options = json.loads(cast(str, settings.build_options))\n except ValueError as e:\n raise ValueError(\"Build options could not be parsed: Invalid JSON\") from e\n except TypeError as e:\n raise TypeError(f\"Build options could not be parsed: {e}\") from e", + "detail": "machine.jobs.build_clearml_helper", + "documentation": {} + }, + { + "label": "create_runtime_properties", + "kind": 2, + "importPath": "machine.jobs.build_clearml_helper", + "description": "machine.jobs.build_clearml_helper", + "peekOfCode": "def create_runtime_properties(task, percent_completed: Optional[int], message: Optional[str]) -> dict:\n runtime_props = task.data.runtime.copy() or {}\n if percent_completed is not None:\n runtime_props[\"progress\"] = str(percent_completed)\n else:\n del runtime_props[\"progress\"]\n if message is not None:\n runtime_props[\"message\"] = message\n else:\n del runtime_props[\"message\"]", + "detail": "machine.jobs.build_clearml_helper", + "documentation": {} + }, + { + "label": "run", + "kind": 2, + "importPath": "machine.jobs.build_nmt_engine", + "description": "machine.jobs.build_nmt_engine", + "peekOfCode": "def run(args: dict) -> None:\n progress: Optional[Callable[[ProgressStatus], None]] = None\n check_canceled: Optional[Callable[[], None]] = None\n task = None\n if args[\"clearml\"]:\n task = Task.init()\n def clearml_check_canceled() -> None:\n if task.get_status() == \"stopped\":\n raise CanceledError\n check_canceled = clearml_check_canceled", + "detail": "machine.jobs.build_nmt_engine", + "documentation": {} + }, + { + "label": "main", + "kind": 2, + "importPath": "machine.jobs.build_nmt_engine", + "description": "machine.jobs.build_nmt_engine", + "peekOfCode": "def main() -> None:\n parser = argparse.ArgumentParser(description=\"Trains an NMT model.\")\n parser.add_argument(\"--model-type\", required=True, type=str, help=\"Model type\")\n parser.add_argument(\"--engine-id\", required=True, type=str, help=\"Engine id\")\n parser.add_argument(\"--build-id\", required=True, type=str, help=\"Build id\")\n parser.add_argument(\"--src-lang\", required=True, type=str, help=\"Source language tag\")\n parser.add_argument(\"--trg-lang\", required=True, type=str, help=\"Target language tag\")\n parser.add_argument(\"--clearml\", default=False, action=\"store_true\", help=\"Initializes a ClearML task\")\n parser.add_argument(\"--build-options\", default=None, type=str, help=\"Build configurations\")\n parser.add_argument(\"--save-model\", default=None, type=str, help=\"Save the model using the specified base name\")", + "detail": "machine.jobs.build_nmt_engine", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.build_nmt_engine", + "description": "machine.jobs.build_nmt_engine", + "peekOfCode": "logger = logging.getLogger(str(__package__) + \".build_nmt_engine\")\ndef run(args: dict) -> None:\n progress: Optional[Callable[[ProgressStatus], None]] = None\n check_canceled: Optional[Callable[[], None]] = None\n task = None\n if args[\"clearml\"]:\n task = Task.init()\n def clearml_check_canceled() -> None:\n if task.get_status() == \"stopped\":\n raise CanceledError", + "detail": "machine.jobs.build_nmt_engine", + "documentation": {} + }, + { + "label": "run", + "kind": 2, + "importPath": "machine.jobs.build_smt_engine", + "description": "machine.jobs.build_smt_engine", + "peekOfCode": "def run(args: dict) -> None:\n progress: Callable[[ProgressStatus], None]\n check_canceled: Optional[Callable[[], None]] = None\n task = None\n scheduler: Optional[AsyncScheduler] = None\n progress_info = ProgressInfo()\n if args[\"clearml\"]:\n task = Task.init()\n scheduler = AsyncScheduler()\n check_canceled = get_clearml_check_canceled(progress_info, task)", + "detail": "machine.jobs.build_smt_engine", + "documentation": {} + }, + { + "label": "main", + "kind": 2, + "importPath": "machine.jobs.build_smt_engine", + "description": "machine.jobs.build_smt_engine", + "peekOfCode": "def main() -> None:\n parser = argparse.ArgumentParser(description=\"Trains an SMT model.\")\n parser.add_argument(\"--model-type\", required=True, type=str, help=\"Model type\")\n parser.add_argument(\"--build-id\", required=True, type=str, help=\"Build id\")\n parser.add_argument(\"--clearml\", default=False, action=\"store_true\", help=\"Initializes a ClearML task\")\n parser.add_argument(\"--build-options\", default=None, type=str, help=\"Build configurations\")\n args = parser.parse_args()\n input_args = {k: v for k, v in vars(args).items() if v is not None}\n run(input_args)\nif __name__ == \"__main__\":", + "detail": "machine.jobs.build_smt_engine", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.build_smt_engine", + "description": "machine.jobs.build_smt_engine", + "peekOfCode": "logger = logging.getLogger(str(__package__) + \".build_smt_engine\")\ndef run(args: dict) -> None:\n progress: Callable[[ProgressStatus], None]\n check_canceled: Optional[Callable[[], None]] = None\n task = None\n scheduler: Optional[AsyncScheduler] = None\n progress_info = ProgressInfo()\n if args[\"clearml\"]:\n task = Task.init()\n scheduler = AsyncScheduler()", + "detail": "machine.jobs.build_smt_engine", + "documentation": {} + }, + { + "label": "run", + "kind": 2, + "importPath": "machine.jobs.build_word_alignment_model", + "description": "machine.jobs.build_word_alignment_model", + "peekOfCode": "def run(args: dict):\n progress: Callable[[ProgressStatus], None]\n check_canceled: Optional[Callable[[], None]] = None\n task = None\n scheduler: Optional[AsyncScheduler] = None\n progress_info = ProgressInfo()\n if args[\"clearml\"]:\n task = Task.init()\n scheduler = AsyncScheduler()\n check_canceled = get_clearml_check_canceled(progress_info, task)", + "detail": "machine.jobs.build_word_alignment_model", + "documentation": {} + }, + { + "label": "main", + "kind": 2, + "importPath": "machine.jobs.build_word_alignment_model", + "description": "machine.jobs.build_word_alignment_model", + "peekOfCode": "def main() -> None:\n parser = argparse.ArgumentParser(description=\"Trains an SMT model.\")\n parser.add_argument(\"--model-type\", required=True, type=str, help=\"Model type\")\n parser.add_argument(\"--build-id\", required=True, type=str, help=\"Build id\")\n parser.add_argument(\"--clearml\", default=False, action=\"store_true\", help=\"Initializes a ClearML task\")\n parser.add_argument(\"--build-options\", default=None, type=str, help=\"Build configurations\")\n args = parser.parse_args()\n input_args = {k: v for k, v in vars(args).items() if v is not None}\n run(input_args)\nif __name__ == \"__main__\":", + "detail": "machine.jobs.build_word_alignment_model", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.build_word_alignment_model", + "description": "machine.jobs.build_word_alignment_model", + "peekOfCode": "logger = logging.getLogger(str(__package__) + \".build_word_alignment_model\")\ndef run(args: dict):\n progress: Callable[[ProgressStatus], None]\n check_canceled: Optional[Callable[[], None]] = None\n task = None\n scheduler: Optional[AsyncScheduler] = None\n progress_info = ProgressInfo()\n if args[\"clearml\"]:\n task = Task.init()\n scheduler = AsyncScheduler()", + "detail": "machine.jobs.build_word_alignment_model", + "documentation": {} + }, + { + "label": "ClearMLSharedFileService", + "kind": 6, + "importPath": "machine.jobs.clearml_shared_file_service", + "description": "machine.jobs.clearml_shared_file_service", + "peekOfCode": "class ClearMLSharedFileService(SharedFileServiceBase):\n def download_file(self, path: str) -> Path:\n local_folder = str(self._data_dir)\n file_path = try_n_times(\n lambda: StorageManager.download_file(self._get_uri(path), local_folder, skip_zero_size_check=True)\n )\n if file_path is None:\n raise RuntimeError(f\"Failed to download file: {self._get_uri(path)}\")\n return Path(file_path)\n def _download_folder(self, path: str) -> Path:", + "detail": "machine.jobs.clearml_shared_file_service", + "documentation": {} + }, + { + "label": "try_n_times", + "kind": 2, + "importPath": "machine.jobs.clearml_shared_file_service", + "description": "machine.jobs.clearml_shared_file_service", + "peekOfCode": "def try_n_times(func: Callable, n=10):\n for i in range(n):\n try:\n return func()\n except Exception as e:\n if i < n - 1:\n logger.exception(f\"Failed {i+1} of {n} times. Retrying.\")\n time.sleep(5)\n else:\n raise e", + "detail": "machine.jobs.clearml_shared_file_service", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.clearml_shared_file_service", + "description": "machine.jobs.clearml_shared_file_service", + "peekOfCode": "logger = logging.getLogger(__name__)\nclass ClearMLSharedFileService(SharedFileServiceBase):\n def download_file(self, path: str) -> Path:\n local_folder = str(self._data_dir)\n file_path = try_n_times(\n lambda: StorageManager.download_file(self._get_uri(path), local_folder, skip_zero_size_check=True)\n )\n if file_path is None:\n raise RuntimeError(f\"Failed to download file: {self._get_uri(path)}\")\n return Path(file_path)", + "detail": "machine.jobs.clearml_shared_file_service", + "documentation": {} + }, + { + "label": "CONFIG_DIR", + "kind": 5, + "importPath": "machine.jobs.config", + "description": "machine.jobs.config", + "peekOfCode": "CONFIG_DIR = Path(__file__).parent\nSETTINGS = cast(\n Settings,\n Dynaconf(\n envvar_prefix=\"MACHINE\",\n settings_files=[str(CONFIG_DIR / \"settings.yaml\")],\n environments=True,\n merge_enabled=True,\n ),\n)", + "detail": "machine.jobs.config", + "documentation": {} + }, + { + "label": "SETTINGS", + "kind": 5, + "importPath": "machine.jobs.config", + "description": "machine.jobs.config", + "peekOfCode": "SETTINGS = cast(\n Settings,\n Dynaconf(\n envvar_prefix=\"MACHINE\",\n settings_files=[str(CONFIG_DIR / \"settings.yaml\")],\n environments=True,\n merge_enabled=True,\n ),\n)\n# `envvar_prefix` = export envvars with `export DYNACONF_FOO=bar`.", + "detail": "machine.jobs.config", + "documentation": {} + }, + { + "label": "LocalSharedFileService", + "kind": 6, + "importPath": "machine.jobs.local_shared_file_service", + "description": "machine.jobs.local_shared_file_service", + "peekOfCode": "class LocalSharedFileService(SharedFileServiceBase):\n def download_file(self, path: str) -> Path:\n src_path = self._get_path(path)\n dst_path = self._data_dir / self._shared_file_folder / path\n dst_path.parent.mkdir(parents=True, exist_ok=True)\n shutil.copyfile(src_path, dst_path)\n return dst_path\n def _download_folder(self, path: str) -> Path:\n src_path = self._get_path(path)\n dst_path = self._data_dir / self._shared_file_folder / path", + "detail": "machine.jobs.local_shared_file_service", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.local_shared_file_service", + "description": "machine.jobs.local_shared_file_service", + "peekOfCode": "logger = logging.getLogger(__name__)\nclass LocalSharedFileService(SharedFileServiceBase):\n def download_file(self, path: str) -> Path:\n src_path = self._get_path(path)\n dst_path = self._data_dir / self._shared_file_folder / path\n dst_path.parent.mkdir(parents=True, exist_ok=True)\n shutil.copyfile(src_path, dst_path)\n return dst_path\n def _download_folder(self, path: str) -> Path:\n src_path = self._get_path(path)", + "detail": "machine.jobs.local_shared_file_service", + "documentation": {} + }, + { + "label": "NmtEngineBuildJob", + "kind": 6, + "importPath": "machine.jobs.nmt_engine_build_job", + "description": "machine.jobs.nmt_engine_build_job", + "peekOfCode": "class NmtEngineBuildJob(TranslationEngineBuildJob):\n def __init__(\n self, config: Any, nmt_model_factory: NmtModelFactory, translation_file_service: TranslationFileService\n ) -> None:\n self._nmt_model_factory = nmt_model_factory\n self._nmt_model_factory.init()\n super().__init__(config, translation_file_service)\n def _get_progress_reporter(\n self, progress: Optional[Callable[[ProgressStatus], None]], corpus_size: int\n ) -> PhasedProgressReporter:", + "detail": "machine.jobs.nmt_engine_build_job", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.nmt_engine_build_job", + "description": "machine.jobs.nmt_engine_build_job", + "peekOfCode": "logger = logging.getLogger(__name__)\nclass NmtEngineBuildJob(TranslationEngineBuildJob):\n def __init__(\n self, config: Any, nmt_model_factory: NmtModelFactory, translation_file_service: TranslationFileService\n ) -> None:\n self._nmt_model_factory = nmt_model_factory\n self._nmt_model_factory.init()\n super().__init__(config, translation_file_service)\n def _get_progress_reporter(\n self, progress: Optional[Callable[[ProgressStatus], None]], corpus_size: int", + "detail": "machine.jobs.nmt_engine_build_job", + "documentation": {} + }, + { + "label": "NmtModelFactory", + "kind": 6, + "importPath": "machine.jobs.nmt_model_factory", + "description": "machine.jobs.nmt_model_factory", + "peekOfCode": "class NmtModelFactory(ABC):\n @property\n @abstractmethod\n def train_tokenizer(self) -> bool: ...\n @abstractmethod\n def init(self) -> None: ...\n @abstractmethod\n def create_source_tokenizer_trainer(self, corpus: TextCorpus) -> Trainer: ...\n @abstractmethod\n def create_target_tokenizer_trainer(self, corpus: TextCorpus) -> Trainer: ...", + "detail": "machine.jobs.nmt_model_factory", + "documentation": {} + }, + { + "label": "DictToJsonWriter", + "kind": 6, + "importPath": "machine.jobs.shared_file_service_base", + "description": "machine.jobs.shared_file_service_base", + "peekOfCode": "class DictToJsonWriter:\n def __init__(self, file: TextIO) -> None:\n self._file = file\n self._first = True\n def write(self, pi: object) -> None:\n if not self._first:\n self._file.write(\",\\n\")\n self._file.write(\" \" + json.dumps(pi))\n self._first = False\nclass SharedFileServiceBase(ABC):", + "detail": "machine.jobs.shared_file_service_base", + "documentation": {} + }, + { + "label": "SharedFileServiceBase", + "kind": 6, + "importPath": "machine.jobs.shared_file_service_base", + "description": "machine.jobs.shared_file_service_base", + "peekOfCode": "class SharedFileServiceBase(ABC):\n def __init__(\n self,\n config: Any,\n ) -> None:\n self._config = config\n def upload_path(self, path: Path, destination: str) -> None:\n if path.is_file():\n self._upload_file(destination, path)\n else:", + "detail": "machine.jobs.shared_file_service_base", + "documentation": {} + }, + { + "label": "SharedFileServiceType", + "kind": 6, + "importPath": "machine.jobs.shared_file_service_factory", + "description": "machine.jobs.shared_file_service_factory", + "peekOfCode": "class SharedFileServiceType(IntEnum):\n LOCAL = auto()\n CLEARML = auto()\ndef get_shared_file_service(type: Union[str, SharedFileServiceType], config: Any) -> SharedFileServiceBase:\n if isinstance(type, str):\n type = SharedFileServiceType[type.upper()]\n if type == SharedFileServiceType.LOCAL:\n return LocalSharedFileService(config)\n elif type == SharedFileServiceType.CLEARML:\n return ClearMLSharedFileService(config)", + "detail": "machine.jobs.shared_file_service_factory", + "documentation": {} + }, + { + "label": "get_shared_file_service", + "kind": 2, + "importPath": "machine.jobs.shared_file_service_factory", + "description": "machine.jobs.shared_file_service_factory", + "peekOfCode": "def get_shared_file_service(type: Union[str, SharedFileServiceType], config: Any) -> SharedFileServiceBase:\n if isinstance(type, str):\n type = SharedFileServiceType[type.upper()]\n if type == SharedFileServiceType.LOCAL:\n return LocalSharedFileService(config)\n elif type == SharedFileServiceType.CLEARML:\n return ClearMLSharedFileService(config)", + "detail": "machine.jobs.shared_file_service_factory", + "documentation": {} + }, + { + "label": "SmtEngineBuildJob", + "kind": 6, + "importPath": "machine.jobs.smt_engine_build_job", + "description": "machine.jobs.smt_engine_build_job", + "peekOfCode": "class SmtEngineBuildJob(TranslationEngineBuildJob):\n def __init__(\n self, config: Any, smt_model_factory: SmtModelFactory, shared_file_service: TranslationFileService\n ) -> None:\n self._smt_model_factory = smt_model_factory\n self._smt_model_factory.init()\n self._tokenizer = create_tokenizer(config.thot_mt.tokenizer)\n logger.info(f\"Tokenizer: {type(self._tokenizer).__name__}\")\n super().__init__(config, shared_file_service)\n def _get_progress_reporter(", + "detail": "machine.jobs.smt_engine_build_job", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.smt_engine_build_job", + "description": "machine.jobs.smt_engine_build_job", + "peekOfCode": "logger = logging.getLogger(__name__)\nclass SmtEngineBuildJob(TranslationEngineBuildJob):\n def __init__(\n self, config: Any, smt_model_factory: SmtModelFactory, shared_file_service: TranslationFileService\n ) -> None:\n self._smt_model_factory = smt_model_factory\n self._smt_model_factory.init()\n self._tokenizer = create_tokenizer(config.thot_mt.tokenizer)\n logger.info(f\"Tokenizer: {type(self._tokenizer).__name__}\")\n super().__init__(config, shared_file_service)", + "detail": "machine.jobs.smt_engine_build_job", + "documentation": {} + }, + { + "label": "SmtModelFactory", + "kind": 6, + "importPath": "machine.jobs.smt_model_factory", + "description": "machine.jobs.smt_model_factory", + "peekOfCode": "class SmtModelFactory(ABC):\n def __init__(self, config: Any) -> None:\n self._config = config\n def init(self) -> None:\n pass\n @abstractmethod\n def create_model_trainer(self, tokenizer: Tokenizer[str, int, str], corpus: ParallelTextCorpus) -> Trainer: ...\n @abstractmethod\n def create_engine(\n self,", + "detail": "machine.jobs.smt_model_factory", + "documentation": {} + }, + { + "label": "TranslationEngineBuildJob", + "kind": 6, + "importPath": "machine.jobs.translation_engine_build_job", + "description": "machine.jobs.translation_engine_build_job", + "peekOfCode": "class TranslationEngineBuildJob(ABC):\n def __init__(self, config: Any, translation_file_service: TranslationFileService) -> None:\n self._config = config\n self._translation_file_service = translation_file_service\n def run(\n self,\n progress: Optional[Callable[[ProgressStatus], None]] = None,\n check_canceled: Optional[Callable[[], None]] = None,\n ) -> Tuple[int, float]:\n if check_canceled is not None:", + "detail": "machine.jobs.translation_engine_build_job", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.translation_engine_build_job", + "description": "machine.jobs.translation_engine_build_job", + "peekOfCode": "logger = logging.getLogger(__name__)\nclass TranslationEngineBuildJob(ABC):\n def __init__(self, config: Any, translation_file_service: TranslationFileService) -> None:\n self._config = config\n self._translation_file_service = translation_file_service\n def run(\n self,\n progress: Optional[Callable[[ProgressStatus], None]] = None,\n check_canceled: Optional[Callable[[], None]] = None,\n ) -> Tuple[int, float]:", + "detail": "machine.jobs.translation_engine_build_job", + "documentation": {} + }, + { + "label": "PretranslationInfo", + "kind": 6, + "importPath": "machine.jobs.translation_file_service", + "description": "machine.jobs.translation_file_service", + "peekOfCode": "class PretranslationInfo(TypedDict):\n corpusId: str # noqa: N815\n textId: str # noqa: N815\n refs: List[str]\n translation: str\nSOURCE_FILENAME = \"train.src.txt\"\nTARGET_FILENAME = \"train.trg.txt\"\nSOURCE_PRETRANSLATION_FILENAME = \"pretranslate.src.json\"\nTARGET_PRETRANSLATION_FILENAME = \"pretranslate.trg.json\"\nclass TranslationFileService:", + "detail": "machine.jobs.translation_file_service", + "documentation": {} + }, + { + "label": "TranslationFileService", + "kind": 6, + "importPath": "machine.jobs.translation_file_service", + "description": "machine.jobs.translation_file_service", + "peekOfCode": "class TranslationFileService:\n def __init__(\n self,\n type: SharedFileServiceType,\n config: Any,\n ) -> None:\n self.shared_file_service: SharedFileServiceBase = get_shared_file_service(type, config)\n def create_source_corpus(self) -> TextCorpus:\n return TextFileTextCorpus(\n self.shared_file_service.download_file(f\"{self.shared_file_service.build_path}/{SOURCE_FILENAME}\")", + "detail": "machine.jobs.translation_file_service", + "documentation": {} + }, + { + "label": "SOURCE_FILENAME", + "kind": 5, + "importPath": "machine.jobs.translation_file_service", + "description": "machine.jobs.translation_file_service", + "peekOfCode": "SOURCE_FILENAME = \"train.src.txt\"\nTARGET_FILENAME = \"train.trg.txt\"\nSOURCE_PRETRANSLATION_FILENAME = \"pretranslate.src.json\"\nTARGET_PRETRANSLATION_FILENAME = \"pretranslate.trg.json\"\nclass TranslationFileService:\n def __init__(\n self,\n type: SharedFileServiceType,\n config: Any,\n ) -> None:", + "detail": "machine.jobs.translation_file_service", + "documentation": {} + }, + { + "label": "TARGET_FILENAME", + "kind": 5, + "importPath": "machine.jobs.translation_file_service", + "description": "machine.jobs.translation_file_service", + "peekOfCode": "TARGET_FILENAME = \"train.trg.txt\"\nSOURCE_PRETRANSLATION_FILENAME = \"pretranslate.src.json\"\nTARGET_PRETRANSLATION_FILENAME = \"pretranslate.trg.json\"\nclass TranslationFileService:\n def __init__(\n self,\n type: SharedFileServiceType,\n config: Any,\n ) -> None:\n self.shared_file_service: SharedFileServiceBase = get_shared_file_service(type, config)", + "detail": "machine.jobs.translation_file_service", + "documentation": {} + }, + { + "label": "SOURCE_PRETRANSLATION_FILENAME", + "kind": 5, + "importPath": "machine.jobs.translation_file_service", + "description": "machine.jobs.translation_file_service", + "peekOfCode": "SOURCE_PRETRANSLATION_FILENAME = \"pretranslate.src.json\"\nTARGET_PRETRANSLATION_FILENAME = \"pretranslate.trg.json\"\nclass TranslationFileService:\n def __init__(\n self,\n type: SharedFileServiceType,\n config: Any,\n ) -> None:\n self.shared_file_service: SharedFileServiceBase = get_shared_file_service(type, config)\n def create_source_corpus(self) -> TextCorpus:", + "detail": "machine.jobs.translation_file_service", + "documentation": {} + }, + { + "label": "TARGET_PRETRANSLATION_FILENAME", + "kind": 5, + "importPath": "machine.jobs.translation_file_service", + "description": "machine.jobs.translation_file_service", + "peekOfCode": "TARGET_PRETRANSLATION_FILENAME = \"pretranslate.trg.json\"\nclass TranslationFileService:\n def __init__(\n self,\n type: SharedFileServiceType,\n config: Any,\n ) -> None:\n self.shared_file_service: SharedFileServiceBase = get_shared_file_service(type, config)\n def create_source_corpus(self) -> TextCorpus:\n return TextFileTextCorpus(", + "detail": "machine.jobs.translation_file_service", + "documentation": {} + }, + { + "label": "WordAlignmentBuildJob", + "kind": 6, + "importPath": "machine.jobs.word_alignment_build_job", + "description": "machine.jobs.word_alignment_build_job", + "peekOfCode": "class WordAlignmentBuildJob:\n def __init__(\n self,\n config: Any,\n word_alignment_model_factory: WordAlignmentModelFactory,\n word_alignment_file_service: WordAlignmentFileService,\n ) -> None:\n self._word_alignment_model_factory = word_alignment_model_factory\n self._word_alignment_model_factory.init()\n self._config = config", + "detail": "machine.jobs.word_alignment_build_job", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.jobs.word_alignment_build_job", + "description": "machine.jobs.word_alignment_build_job", + "peekOfCode": "logger = logging.getLogger(__name__)\nclass WordAlignmentBuildJob:\n def __init__(\n self,\n config: Any,\n word_alignment_model_factory: WordAlignmentModelFactory,\n word_alignment_file_service: WordAlignmentFileService,\n ) -> None:\n self._word_alignment_model_factory = word_alignment_model_factory\n self._word_alignment_model_factory.init()", + "detail": "machine.jobs.word_alignment_build_job", + "documentation": {} + }, + { + "label": "WordAlignmentFileService", + "kind": 6, + "importPath": "machine.jobs.word_alignment_file_service", + "description": "machine.jobs.word_alignment_file_service", + "peekOfCode": "class WordAlignmentFileService:\n def __init__(\n self,\n type: SharedFileServiceType,\n config: Any,\n source_filename: str = \"train.src.txt\",\n target_filename: str = \"train.trg.txt\",\n word_alignment_filename: str = \"word_alignments.json\",\n ) -> None:\n self._source_filename = source_filename", + "detail": "machine.jobs.word_alignment_file_service", + "documentation": {} + }, + { + "label": "WordAlignmentModelFactory", + "kind": 6, + "importPath": "machine.jobs.word_alignment_model_factory", + "description": "machine.jobs.word_alignment_model_factory", + "peekOfCode": "class WordAlignmentModelFactory(ABC):\n def __init__(self, config: Any) -> None:\n self._config = config\n def init(self) -> None:\n pass\n @abstractmethod\n def create_model_trainer(self, tokenizer: Tokenizer[str, int, str], corpus: ParallelTextCorpus) -> Trainer: ...\n @abstractmethod\n def create_alignment_model(\n self,", + "detail": "machine.jobs.word_alignment_model_factory", + "documentation": {} + }, + { + "label": "MinimizationExitCondition", + "kind": 6, + "importPath": "machine.optimization.minimization_result", + "description": "machine.optimization.minimization_result", + "peekOfCode": "class MinimizationExitCondition(Enum):\n NONE = auto()\n CONVERGED = auto()\n MAX_FUNCTION_EVALUATIONS = auto()\n@dataclass\nclass MinimizationResult:\n reason_for_exit: MinimizationExitCondition\n minimizing_point: np.ndarray\n error_value: float\n function_evaluation_count: int", + "detail": "machine.optimization.minimization_result", + "documentation": {} + }, + { + "label": "MinimizationResult", + "kind": 6, + "importPath": "machine.optimization.minimization_result", + "description": "machine.optimization.minimization_result", + "peekOfCode": "class MinimizationResult:\n reason_for_exit: MinimizationExitCondition\n minimizing_point: np.ndarray\n error_value: float\n function_evaluation_count: int", + "detail": "machine.optimization.minimization_result", + "documentation": {} + }, + { + "label": "_ErrorProfile", + "kind": 6, + "importPath": "machine.optimization.nelder_mead_simplex", + "description": "machine.optimization.nelder_mead_simplex", + "peekOfCode": "class _ErrorProfile:\n highest_index: int = 0\n next_highest_index: int = 0\n lowest_index: int = 0\ndef _evaluate_simplex(error_values: List[float]) -> _ErrorProfile:\n \"\"\"Examine all error values to determine the error profile\"\"\"\n error_profile = _ErrorProfile()\n if error_values[0] > error_values[1]:\n error_profile.highest_index = 0\n error_profile.next_highest_index = 1", + "detail": "machine.optimization.nelder_mead_simplex", + "documentation": {} + }, + { + "label": "NelderMeadSimplex", + "kind": 6, + "importPath": "machine.optimization.nelder_mead_simplex", + "description": "machine.optimization.nelder_mead_simplex", + "peekOfCode": "class NelderMeadSimplex:\n \"\"\"Class implementing the Nelder-Mead simplex algorithm, used to find a minima when no gradient is available.\n Called fminsearch() in Matlab. A description of the algorithm can be found at\n http://se.mathworks.com/help/matlab/math/optimizing-nonlinear-functions.html#bsgpq6p-11\n or\n https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method\n \"\"\"\n def __init__(self, convergence_tolerance: float, max_function_evaluations: int, scale: float) -> None:\n self.convergence_tolerance = convergence_tolerance\n self.max_function_evaluations = max_function_evaluations", + "detail": "machine.optimization.nelder_mead_simplex", + "documentation": {} + }, + { + "label": "book_number_to_id", + "kind": 2, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "def book_number_to_id(number: int, error_value: str = \"***\") -> str:\n if number < 1 or number >= len(ALL_BOOK_IDS):\n return error_value\n index = number - 1\n return ALL_BOOK_IDS[index]\ndef book_id_to_number(id: str) -> int:\n return BOOK_NUMBERS.get(id.upper(), 0)\ndef is_nt(book_num: int) -> bool:\n return book_num >= 40 and book_num < 67\ndef is_ot(book_num: int) -> bool:", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "book_id_to_number", + "kind": 2, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "def book_id_to_number(id: str) -> int:\n return BOOK_NUMBERS.get(id.upper(), 0)\ndef is_nt(book_num: int) -> bool:\n return book_num >= 40 and book_num < 67\ndef is_ot(book_num: int) -> bool:\n return book_num < 40\ndef is_ot_nt(book_num: int) -> bool:\n return is_ot(book_num) or is_nt(book_num)\ndef is_book_id_valid(book_id: str) -> bool:\n return book_id_to_number(book_id) > 0", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "is_nt", + "kind": 2, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "def is_nt(book_num: int) -> bool:\n return book_num >= 40 and book_num < 67\ndef is_ot(book_num: int) -> bool:\n return book_num < 40\ndef is_ot_nt(book_num: int) -> bool:\n return is_ot(book_num) or is_nt(book_num)\ndef is_book_id_valid(book_id: str) -> bool:\n return book_id_to_number(book_id) > 0\ndef is_canonical(book: Union[str, int]) -> bool:\n if isinstance(book, int):", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "is_ot", + "kind": 2, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "def is_ot(book_num: int) -> bool:\n return book_num < 40\ndef is_ot_nt(book_num: int) -> bool:\n return is_ot(book_num) or is_nt(book_num)\ndef is_book_id_valid(book_id: str) -> bool:\n return book_id_to_number(book_id) > 0\ndef is_canonical(book: Union[str, int]) -> bool:\n if isinstance(book, int):\n book = book_number_to_id(book)\n return is_book_id_valid(book) and book not in NON_CANONICAL_IDS", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "is_ot_nt", + "kind": 2, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "def is_ot_nt(book_num: int) -> bool:\n return is_ot(book_num) or is_nt(book_num)\ndef is_book_id_valid(book_id: str) -> bool:\n return book_id_to_number(book_id) > 0\ndef is_canonical(book: Union[str, int]) -> bool:\n if isinstance(book, int):\n book = book_number_to_id(book)\n return is_book_id_valid(book) and book not in NON_CANONICAL_IDS", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "is_book_id_valid", + "kind": 2, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "def is_book_id_valid(book_id: str) -> bool:\n return book_id_to_number(book_id) > 0\ndef is_canonical(book: Union[str, int]) -> bool:\n if isinstance(book, int):\n book = book_number_to_id(book)\n return is_book_id_valid(book) and book not in NON_CANONICAL_IDS", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "is_canonical", + "kind": 2, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "def is_canonical(book: Union[str, int]) -> bool:\n if isinstance(book, int):\n book = book_number_to_id(book)\n return is_book_id_valid(book) and book not in NON_CANONICAL_IDS", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "ALL_BOOK_IDS", + "kind": 5, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "ALL_BOOK_IDS = [\n \"GEN\",\n \"EXO\",\n \"LEV\",\n \"NUM\",\n \"DEU\",\n \"JOS\",\n \"JDG\",\n \"RUT\",\n \"1SA\",", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "NON_CANONICAL_IDS", + "kind": 5, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "NON_CANONICAL_IDS = {\n \"XXA\",\n \"XXB\",\n \"XXC\",\n \"XXD\",\n \"XXE\",\n \"XXF\",\n \"XXG\",\n \"FRT\",\n \"BAK\",", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "BOOK_NUMBERS", + "kind": 5, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "BOOK_NUMBERS = dict((id, i + 1) for i, id in enumerate(ALL_BOOK_IDS))\nFIRST_BOOK = 1\nLAST_BOOK = len(ALL_BOOK_IDS)\ndef book_number_to_id(number: int, error_value: str = \"***\") -> str:\n if number < 1 or number >= len(ALL_BOOK_IDS):\n return error_value\n index = number - 1\n return ALL_BOOK_IDS[index]\ndef book_id_to_number(id: str) -> int:\n return BOOK_NUMBERS.get(id.upper(), 0)", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "FIRST_BOOK", + "kind": 5, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "FIRST_BOOK = 1\nLAST_BOOK = len(ALL_BOOK_IDS)\ndef book_number_to_id(number: int, error_value: str = \"***\") -> str:\n if number < 1 or number >= len(ALL_BOOK_IDS):\n return error_value\n index = number - 1\n return ALL_BOOK_IDS[index]\ndef book_id_to_number(id: str) -> int:\n return BOOK_NUMBERS.get(id.upper(), 0)\ndef is_nt(book_num: int) -> bool:", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "LAST_BOOK", + "kind": 5, + "importPath": "machine.scripture.canon", + "description": "machine.scripture.canon", + "peekOfCode": "LAST_BOOK = len(ALL_BOOK_IDS)\ndef book_number_to_id(number: int, error_value: str = \"***\") -> str:\n if number < 1 or number >= len(ALL_BOOK_IDS):\n return error_value\n index = number - 1\n return ALL_BOOK_IDS[index]\ndef book_id_to_number(id: str) -> int:\n return BOOK_NUMBERS.get(id.upper(), 0)\ndef is_nt(book_num: int) -> bool:\n return book_num >= 40 and book_num < 67", + "detail": "machine.scripture.canon", + "documentation": {} + }, + { + "label": "ORIGINAL_VERSIFICATION", + "kind": 5, + "importPath": "machine.scripture.constants", + "description": "machine.scripture.constants", + "peekOfCode": "ORIGINAL_VERSIFICATION = Versification.get_builtin(\"Original\")\nENGLISH_VERSIFICATION = Versification.get_builtin(\"English\")\nSEPTUAGINT_VERSIFICATION = Versification.get_builtin(\"Septuagint\")\nVULGATE_VERSIFICATION = Versification.get_builtin(\"Vulgate\")\nRUSSIAN_ORTHODOX_VERSIFICATION = Versification.get_builtin(\"RussianOrthodox\")\nRUSSIAN_PROTESTANT_VERSIFICATION = Versification.get_builtin(\"RussianProtestant\")", + "detail": "machine.scripture.constants", + "documentation": {} + }, + { + "label": "ENGLISH_VERSIFICATION", + "kind": 5, + "importPath": "machine.scripture.constants", + "description": "machine.scripture.constants", + "peekOfCode": "ENGLISH_VERSIFICATION = Versification.get_builtin(\"English\")\nSEPTUAGINT_VERSIFICATION = Versification.get_builtin(\"Septuagint\")\nVULGATE_VERSIFICATION = Versification.get_builtin(\"Vulgate\")\nRUSSIAN_ORTHODOX_VERSIFICATION = Versification.get_builtin(\"RussianOrthodox\")\nRUSSIAN_PROTESTANT_VERSIFICATION = Versification.get_builtin(\"RussianProtestant\")", + "detail": "machine.scripture.constants", + "documentation": {} + }, + { + "label": "SEPTUAGINT_VERSIFICATION", + "kind": 5, + "importPath": "machine.scripture.constants", + "description": "machine.scripture.constants", + "peekOfCode": "SEPTUAGINT_VERSIFICATION = Versification.get_builtin(\"Septuagint\")\nVULGATE_VERSIFICATION = Versification.get_builtin(\"Vulgate\")\nRUSSIAN_ORTHODOX_VERSIFICATION = Versification.get_builtin(\"RussianOrthodox\")\nRUSSIAN_PROTESTANT_VERSIFICATION = Versification.get_builtin(\"RussianProtestant\")", + "detail": "machine.scripture.constants", + "documentation": {} + }, + { + "label": "VULGATE_VERSIFICATION", + "kind": 5, + "importPath": "machine.scripture.constants", + "description": "machine.scripture.constants", + "peekOfCode": "VULGATE_VERSIFICATION = Versification.get_builtin(\"Vulgate\")\nRUSSIAN_ORTHODOX_VERSIFICATION = Versification.get_builtin(\"RussianOrthodox\")\nRUSSIAN_PROTESTANT_VERSIFICATION = Versification.get_builtin(\"RussianProtestant\")", + "detail": "machine.scripture.constants", + "documentation": {} + }, + { + "label": "RUSSIAN_ORTHODOX_VERSIFICATION", + "kind": 5, + "importPath": "machine.scripture.constants", + "description": "machine.scripture.constants", + "peekOfCode": "RUSSIAN_ORTHODOX_VERSIFICATION = Versification.get_builtin(\"RussianOrthodox\")\nRUSSIAN_PROTESTANT_VERSIFICATION = Versification.get_builtin(\"RussianProtestant\")", + "detail": "machine.scripture.constants", + "documentation": {} + }, + { + "label": "RUSSIAN_PROTESTANT_VERSIFICATION", + "kind": 5, + "importPath": "machine.scripture.constants", + "description": "machine.scripture.constants", + "peekOfCode": "RUSSIAN_PROTESTANT_VERSIFICATION = Versification.get_builtin(\"RussianProtestant\")", + "detail": "machine.scripture.constants", + "documentation": {} + }, + { + "label": "get_books", + "kind": 2, + "importPath": "machine.scripture.parse", + "description": "machine.scripture.parse", + "peekOfCode": "def get_books(books: Union[str, List[str]]) -> Set[int]:\n if isinstance(books, str):\n books = re.split(\",|;\", books)\n book_set: Set[int] = set()\n for book_id in books:\n book_id = book_id.strip().strip(\"*\").upper()\n subtraction = False\n if book_id.startswith(\"-\"):\n subtraction = True\n book_id = book_id[1:]", + "detail": "machine.scripture.parse", + "documentation": {} + }, + { + "label": "parse_selection", + "kind": 2, + "importPath": "machine.scripture.parse", + "description": "machine.scripture.parse", + "peekOfCode": "def parse_selection(selection: str, versification: Versification) -> Dict[int, List[int]]:\n selection = selection.strip()\n chapters = {}\n if selection[-1].isdigit() and len(selection) > 3: # Specific chapters from one book\n book = book_id_to_number(selection[:3])\n if book == 0:\n raise ValueError(f\"{selection[:3]} is an invalid book ID.\")\n book_chapters = set()\n last_chapter = versification.get_last_chapter(book)\n chapter_nums = selection[3:].split(\",\")", + "detail": "machine.scripture.parse", + "documentation": {} + }, + { + "label": "get_chapters", + "kind": 2, + "importPath": "machine.scripture.parse", + "description": "machine.scripture.parse", + "peekOfCode": "def get_chapters(\n selections: Union[str, List[str]], versification: Versification = ORIGINAL_VERSIFICATION\n) -> Dict[int, List[int]]:\n chapters = {}\n if isinstance(selections, str):\n selections = selections.strip()\n if len(selections) == 0:\n return chapters\n delimiter = \";\"\n if \";\" in selections:", + "detail": "machine.scripture.parse", + "documentation": {} + }, + { + "label": "COMMA_SEPARATED_BOOKS", + "kind": 5, + "importPath": "machine.scripture.parse", + "description": "machine.scripture.parse", + "peekOfCode": "COMMA_SEPARATED_BOOKS = re.compile(r\"([A-Z\\d]{3}|OT|NT)(, ?([A-Z\\d]{3}|OT|NT))*\")\nBOOK_RANGE = re.compile(r\"-?[A-Z\\d]{3}-[A-Z\\d]{3}\")\nCHAPTER_SELECTION = re.compile(r\"-?[A-Z\\d]{3} ?(\\d+|\\d+-\\d+)(, ?(\\d+|\\d+-\\d+))*\")\ndef get_books(books: Union[str, List[str]]) -> Set[int]:\n if isinstance(books, str):\n books = re.split(\",|;\", books)\n book_set: Set[int] = set()\n for book_id in books:\n book_id = book_id.strip().strip(\"*\").upper()\n subtraction = False", + "detail": "machine.scripture.parse", + "documentation": {} + }, + { + "label": "BOOK_RANGE", + "kind": 5, + "importPath": "machine.scripture.parse", + "description": "machine.scripture.parse", + "peekOfCode": "BOOK_RANGE = re.compile(r\"-?[A-Z\\d]{3}-[A-Z\\d]{3}\")\nCHAPTER_SELECTION = re.compile(r\"-?[A-Z\\d]{3} ?(\\d+|\\d+-\\d+)(, ?(\\d+|\\d+-\\d+))*\")\ndef get_books(books: Union[str, List[str]]) -> Set[int]:\n if isinstance(books, str):\n books = re.split(\",|;\", books)\n book_set: Set[int] = set()\n for book_id in books:\n book_id = book_id.strip().strip(\"*\").upper()\n subtraction = False\n if book_id.startswith(\"-\"):", + "detail": "machine.scripture.parse", + "documentation": {} + }, + { + "label": "CHAPTER_SELECTION", + "kind": 5, + "importPath": "machine.scripture.parse", + "description": "machine.scripture.parse", + "peekOfCode": "CHAPTER_SELECTION = re.compile(r\"-?[A-Z\\d]{3} ?(\\d+|\\d+-\\d+)(, ?(\\d+|\\d+-\\d+))*\")\ndef get_books(books: Union[str, List[str]]) -> Set[int]:\n if isinstance(books, str):\n books = re.split(\",|;\", books)\n book_set: Set[int] = set()\n for book_id in books:\n book_id = book_id.strip().strip(\"*\").upper()\n subtraction = False\n if book_id.startswith(\"-\"):\n subtraction = True", + "detail": "machine.scripture.parse", + "documentation": {} + }, + { + "label": "ValidStatus", + "kind": 6, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "class ValidStatus(Enum):\n VALID = auto()\n UNKNOWN_VERSIFICATION = auto()\n OUT_OF_RANGE = auto()\n VERSE_OUT_OF_ORDER = auto()\n VERSE_REPEATED = auto()\nclass VerseRef(Comparable):\n def __init__(\n self,\n book: Union[str, int] = 0,", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "VerseRef", + "kind": 6, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "class VerseRef(Comparable):\n def __init__(\n self,\n book: Union[str, int] = 0,\n chapter: Union[str, int] = 0,\n verse: Union[str, int] = 0,\n versification: Optional[Versification] = None,\n ) -> None:\n if book == 0 and chapter == 0 and verse == 0 and versification is None:\n self._book_num = 0", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "VersificationType", + "kind": 6, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "class VersificationType(IntEnum):\n UNKNOWN = 0\n ORIGINAL = 1\n SEPTUAGINT = 2\n VULGATE = 3\n ENGLISH = 4\n RUSSIAN_PROTESTANT = 5\n RUSSIAN_ORTHODOX = 6\nclass Versification:\n _BUILTIN_VERSIFICATIONS: Dict[VersificationType, \"Versification\"] = {}", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "Versification", + "kind": 6, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "class Versification:\n _BUILTIN_VERSIFICATIONS: Dict[VersificationType, \"Versification\"] = {}\n _BUILTIN_VERSIFICATION_FILENAMES = {\n VersificationType.ORIGINAL: \"org.vrs.txt\",\n VersificationType.ENGLISH: \"eng.vrs.txt\",\n VersificationType.SEPTUAGINT: \"lxx.vrs.txt\",\n VersificationType.VULGATE: \"vul.vrs.txt\",\n VersificationType.RUSSIAN_ORTHODOX: \"rso.vrs.txt\",\n VersificationType.RUSSIAN_PROTESTANT: \"rsc.vrs.txt\",\n }", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "VerseMappings", + "kind": 6, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "class VerseMappings:\n def __init__(self) -> None:\n self._versification_to_standard: Dict[VerseRef, VerseRef] = {}\n self._standard_to_versification: Dict[VerseRef, VerseRef] = {}\n def add_mapping(self, versification_ref: VerseRef, standard_ref: VerseRef) -> None:\n if sum(1 for _ in versification_ref.all_verses()) != 1 or sum(1 for _ in standard_ref.all_verses()) != 1:\n raise ValueError(\"Mappings must resolve into a single reference on both sides.\")\n self._versification_to_standard[versification_ref] = standard_ref\n self._standard_to_versification[standard_ref] = versification_ref\n def add_mappings(self, versification_refs: List[VerseRef], standard_refs: List[VerseRef]) -> None:", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "_LineType", + "kind": 6, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "class _LineType(Enum):\n COMMENT = auto()\n CHAPTER_VERSE = auto()\n STANDARD_MAPPING = auto()\n ONE_TO_MANY_MAPPING = auto()\n EXCLUDED_VERSE = auto()\n VERSE_SEGMENTS = auto()\n@dataclass(frozen=True)\nclass _VersificationLine:\n type: _LineType", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "_VersificationLine", + "kind": 6, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "class _VersificationLine:\n type: _LineType\n line: str\n comment: str\n line_num: int\n def __repr__(self) -> str:\n if self.type == _LineType.CHAPTER_VERSE:\n return self.line\n elif self.type == _LineType.ONE_TO_MANY_MAPPING:\n return f\"#! {self.line}\"", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "get_bbbcccvvv", + "kind": 2, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "def get_bbbcccvvv(book_num: int, chapter_num: int, verse_num: int) -> int:\n return (\n (book_num % _BCV_MAX_VALUE) * _BOOK_DIGIT_SHIFTER\n + ((chapter_num % _BCV_MAX_VALUE) * _CHAPTER_DIGIT_SHIFTER if chapter_num >= 0 else 0)\n + (verse_num % _BCV_MAX_VALUE if verse_num >= 0 else 0)\n )\ndef are_overlapping_verse_ranges(verse1: Union[str, VerseRef], verse2: Union[str, VerseRef]) -> bool:\n if isinstance(verse1, str) and isinstance(verse2, str):\n return are_overlapping_verse_ranges_str(verse1, verse2)\n elif isinstance(verse1, VerseRef) and isinstance(verse2, VerseRef):", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "are_overlapping_verse_ranges", + "kind": 2, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "def are_overlapping_verse_ranges(verse1: Union[str, VerseRef], verse2: Union[str, VerseRef]) -> bool:\n if isinstance(verse1, str) and isinstance(verse2, str):\n return are_overlapping_verse_ranges_str(verse1, verse2)\n elif isinstance(verse1, VerseRef) and isinstance(verse2, VerseRef):\n return are_overlapping_verse_ranges_vref(verse1, verse2)\n else:\n raise TypeError(\"verse1 and verse2 are not both str or both VerseRef objects.\")\ndef are_overlapping_verse_ranges_str(verse1: str, verse2: str) -> bool:\n verse1_parts = verse1.split(VERSE_SEQUENCE_INDICATOR)\n verse2_parts = verse2.split(VERSE_SEQUENCE_INDICATOR)", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "are_overlapping_verse_ranges_str", + "kind": 2, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "def are_overlapping_verse_ranges_str(verse1: str, verse2: str) -> bool:\n verse1_parts = verse1.split(VERSE_SEQUENCE_INDICATOR)\n verse2_parts = verse2.split(VERSE_SEQUENCE_INDICATOR)\n for verse1_part in verse1_parts:\n for verse2_part in verse2_parts:\n verse1_num, verse1_seg, verse1_end_num, verse1_end_seg = _parse_verse_number_range(verse1_part)\n verse2_num, verse2_seg, verse2_end_num, verse2_end_seg = _parse_verse_number_range(verse2_part)\n if (\n verse1_num == verse1_end_num\n and verse2_num == verse2_end_num", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "are_overlapping_verse_ranges_vref", + "kind": 2, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "def are_overlapping_verse_ranges_vref(verse_ref1: VerseRef, verse_ref2: VerseRef) -> bool:\n if verse_ref1.is_default or verse_ref2.is_default:\n return False\n if verse_ref1.versification != verse_ref2.versification:\n raise ValueError(\"Versification of verse references does not match.\")\n if verse_ref1.book_num != verse_ref2.book_num or verse_ref1.chapter_num != verse_ref2.chapter_num:\n return False\n if not verse_ref1.verse and not verse_ref2.verse:\n return verse_ref1.verse_num == verse_ref2.verse_num\n return are_overlapping_verse_ranges_str(verse_ref1.verse, verse_ref2.verse)", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "VERSE_RANGE_SEPARATOR", + "kind": 5, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "VERSE_RANGE_SEPARATOR = \"-\"\nVERSE_SEQUENCE_INDICATOR = \",\"\n_CHAPTER_DIGIT_SHIFTER = 1000\n_BOOK_DIGIT_SHIFTER = _CHAPTER_DIGIT_SHIFTER * _CHAPTER_DIGIT_SHIFTER\n_BCV_MAX_VALUE = _CHAPTER_DIGIT_SHIFTER\nclass ValidStatus(Enum):\n VALID = auto()\n UNKNOWN_VERSIFICATION = auto()\n OUT_OF_RANGE = auto()\n VERSE_OUT_OF_ORDER = auto()", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "VERSE_SEQUENCE_INDICATOR", + "kind": 5, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "VERSE_SEQUENCE_INDICATOR = \",\"\n_CHAPTER_DIGIT_SHIFTER = 1000\n_BOOK_DIGIT_SHIFTER = _CHAPTER_DIGIT_SHIFTER * _CHAPTER_DIGIT_SHIFTER\n_BCV_MAX_VALUE = _CHAPTER_DIGIT_SHIFTER\nclass ValidStatus(Enum):\n VALID = auto()\n UNKNOWN_VERSIFICATION = auto()\n OUT_OF_RANGE = auto()\n VERSE_OUT_OF_ORDER = auto()\n VERSE_REPEATED = auto()", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "_CHAPTER_DIGIT_SHIFTER", + "kind": 5, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "_CHAPTER_DIGIT_SHIFTER = 1000\n_BOOK_DIGIT_SHIFTER = _CHAPTER_DIGIT_SHIFTER * _CHAPTER_DIGIT_SHIFTER\n_BCV_MAX_VALUE = _CHAPTER_DIGIT_SHIFTER\nclass ValidStatus(Enum):\n VALID = auto()\n UNKNOWN_VERSIFICATION = auto()\n OUT_OF_RANGE = auto()\n VERSE_OUT_OF_ORDER = auto()\n VERSE_REPEATED = auto()\nclass VerseRef(Comparable):", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "_BOOK_DIGIT_SHIFTER", + "kind": 5, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "_BOOK_DIGIT_SHIFTER = _CHAPTER_DIGIT_SHIFTER * _CHAPTER_DIGIT_SHIFTER\n_BCV_MAX_VALUE = _CHAPTER_DIGIT_SHIFTER\nclass ValidStatus(Enum):\n VALID = auto()\n UNKNOWN_VERSIFICATION = auto()\n OUT_OF_RANGE = auto()\n VERSE_OUT_OF_ORDER = auto()\n VERSE_REPEATED = auto()\nclass VerseRef(Comparable):\n def __init__(", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "_BCV_MAX_VALUE", + "kind": 5, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "_BCV_MAX_VALUE = _CHAPTER_DIGIT_SHIFTER\nclass ValidStatus(Enum):\n VALID = auto()\n UNKNOWN_VERSIFICATION = auto()\n OUT_OF_RANGE = auto()\n VERSE_OUT_OF_ORDER = auto()\n VERSE_REPEATED = auto()\nclass VerseRef(Comparable):\n def __init__(\n self,", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "NULL_VERSIFICATION", + "kind": 5, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "NULL_VERSIFICATION = Versification(\"NULL\")\n_VERSIFICATION_NAME_REGEX = re.compile(r\"#\\s*Versification\\s+\\\"(?[^\\\"]+)\\\"\\s*\")\nclass _LineType(Enum):\n COMMENT = auto()\n CHAPTER_VERSE = auto()\n STANDARD_MAPPING = auto()\n ONE_TO_MANY_MAPPING = auto()\n EXCLUDED_VERSE = auto()\n VERSE_SEGMENTS = auto()\n@dataclass(frozen=True)", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "_VERSIFICATION_NAME_REGEX", + "kind": 5, + "importPath": "machine.scripture.verse_ref", + "description": "machine.scripture.verse_ref", + "peekOfCode": "_VERSIFICATION_NAME_REGEX = re.compile(r\"#\\s*Versification\\s+\\\"(?[^\\\"]+)\\\"\\s*\")\nclass _LineType(Enum):\n COMMENT = auto()\n CHAPTER_VERSE = auto()\n STANDARD_MAPPING = auto()\n ONE_TO_MANY_MAPPING = auto()\n EXCLUDED_VERSE = auto()\n VERSE_SEGMENTS = auto()\n@dataclass(frozen=True)\nclass _VersificationLine:", + "detail": "machine.scripture.verse_ref", + "documentation": {} + }, + { + "label": "Alignment", + "kind": 6, + "importPath": "machine.sequence_alignment.alignment", + "description": "machine.sequence_alignment.alignment", + "peekOfCode": "class Alignment(Generic[Seq, Item]):\n def __init__(\n self,\n raw_score: int,\n normalized_score: float,\n sequences: Iterable[Tuple[Seq, AlignmentCell[Item], Iterable[AlignmentCell[Item]], AlignmentCell[Item]]],\n ) -> None:\n if isnan(normalized_score) or normalized_score < 0 or normalized_score > 1:\n raise ValueError(\"normalized_score is out of range.\")\n self._raw_score = raw_score", + "detail": "machine.sequence_alignment.alignment", + "documentation": {} + }, + { + "label": "Seq", + "kind": 5, + "importPath": "machine.sequence_alignment.alignment", + "description": "machine.sequence_alignment.alignment", + "peekOfCode": "Seq = TypeVar(\"Seq\")\nItem = TypeVar(\"Item\")\nclass Alignment(Generic[Seq, Item]):\n def __init__(\n self,\n raw_score: int,\n normalized_score: float,\n sequences: Iterable[Tuple[Seq, AlignmentCell[Item], Iterable[AlignmentCell[Item]], AlignmentCell[Item]]],\n ) -> None:\n if isnan(normalized_score) or normalized_score < 0 or normalized_score > 1:", + "detail": "machine.sequence_alignment.alignment", + "documentation": {} + }, + { + "label": "Item", + "kind": 5, + "importPath": "machine.sequence_alignment.alignment", + "description": "machine.sequence_alignment.alignment", + "peekOfCode": "Item = TypeVar(\"Item\")\nclass Alignment(Generic[Seq, Item]):\n def __init__(\n self,\n raw_score: int,\n normalized_score: float,\n sequences: Iterable[Tuple[Seq, AlignmentCell[Item], Iterable[AlignmentCell[Item]], AlignmentCell[Item]]],\n ) -> None:\n if isnan(normalized_score) or normalized_score < 0 or normalized_score > 1:\n raise ValueError(\"normalized_score is out of range.\")", + "detail": "machine.sequence_alignment.alignment", + "documentation": {} + }, + { + "label": "AlignmentCell", + "kind": 6, + "importPath": "machine.sequence_alignment.alignment_cell", + "description": "machine.sequence_alignment.alignment_cell", + "peekOfCode": "class AlignmentCell(Sequence[T]):\n def __init__(self, items: Iterable[T] = []) -> None:\n item_list = list(items)\n self._items = None\n if len(item_list) > 0:\n self._items = item_list\n @property\n def is_null(self) -> bool:\n return self._items is None\n @property", + "detail": "machine.sequence_alignment.alignment_cell", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.sequence_alignment.alignment_cell", + "description": "machine.sequence_alignment.alignment_cell", + "peekOfCode": "T = TypeVar(\"T\")\nclass AlignmentCell(Sequence[T]):\n def __init__(self, items: Iterable[T] = []) -> None:\n item_list = list(items)\n self._items = None\n if len(item_list) > 0:\n self._items = item_list\n @property\n def is_null(self) -> bool:\n return self._items is None", + "detail": "machine.sequence_alignment.alignment_cell", + "documentation": {} + }, + { + "label": "AlignmentMode", + "kind": 6, + "importPath": "machine.sequence_alignment.pairwise_alignment_algorithm", + "description": "machine.sequence_alignment.pairwise_alignment_algorithm", + "peekOfCode": "class AlignmentMode(Enum):\n GLOBAL = auto()\n SEMI_GLOBAL = auto()\n HALF_LOCAL = auto()\n LOCAL = auto()\nclass PairwiseAlignmentAlgorithm(Generic[Seq, Item]):\n def __init__(\n self,\n scorer: PairwiseAlignmentScorer[Seq, Item],\n sequence1: Seq,", + "detail": "machine.sequence_alignment.pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "PairwiseAlignmentAlgorithm", + "kind": 6, + "importPath": "machine.sequence_alignment.pairwise_alignment_algorithm", + "description": "machine.sequence_alignment.pairwise_alignment_algorithm", + "peekOfCode": "class PairwiseAlignmentAlgorithm(Generic[Seq, Item]):\n def __init__(\n self,\n scorer: PairwiseAlignmentScorer[Seq, Item],\n sequence1: Seq,\n sequence2: Seq,\n items_selector: Callable[[Seq], Tuple[Iterable[Item], int, int]],\n mode: AlignmentMode = AlignmentMode.GLOBAL,\n expansion_compression_enabled: bool = False,\n transposition_enabled: bool = False,", + "detail": "machine.sequence_alignment.pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "Seq", + "kind": 5, + "importPath": "machine.sequence_alignment.pairwise_alignment_algorithm", + "description": "machine.sequence_alignment.pairwise_alignment_algorithm", + "peekOfCode": "Seq = TypeVar(\"Seq\")\nItem = TypeVar(\"Item\")\nMIN_SCORE = -sys.maxsize - 1\nclass AlignmentMode(Enum):\n GLOBAL = auto()\n SEMI_GLOBAL = auto()\n HALF_LOCAL = auto()\n LOCAL = auto()\nclass PairwiseAlignmentAlgorithm(Generic[Seq, Item]):\n def __init__(", + "detail": "machine.sequence_alignment.pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "Item", + "kind": 5, + "importPath": "machine.sequence_alignment.pairwise_alignment_algorithm", + "description": "machine.sequence_alignment.pairwise_alignment_algorithm", + "peekOfCode": "Item = TypeVar(\"Item\")\nMIN_SCORE = -sys.maxsize - 1\nclass AlignmentMode(Enum):\n GLOBAL = auto()\n SEMI_GLOBAL = auto()\n HALF_LOCAL = auto()\n LOCAL = auto()\nclass PairwiseAlignmentAlgorithm(Generic[Seq, Item]):\n def __init__(\n self,", + "detail": "machine.sequence_alignment.pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "MIN_SCORE", + "kind": 5, + "importPath": "machine.sequence_alignment.pairwise_alignment_algorithm", + "description": "machine.sequence_alignment.pairwise_alignment_algorithm", + "peekOfCode": "MIN_SCORE = -sys.maxsize - 1\nclass AlignmentMode(Enum):\n GLOBAL = auto()\n SEMI_GLOBAL = auto()\n HALF_LOCAL = auto()\n LOCAL = auto()\nclass PairwiseAlignmentAlgorithm(Generic[Seq, Item]):\n def __init__(\n self,\n scorer: PairwiseAlignmentScorer[Seq, Item],", + "detail": "machine.sequence_alignment.pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "PairwiseAlignmentScorer", + "kind": 6, + "importPath": "machine.sequence_alignment.pairwise_alignment_scorer", + "description": "machine.sequence_alignment.pairwise_alignment_scorer", + "peekOfCode": "class PairwiseAlignmentScorer(ABC, Generic[Seq, Item]):\n @abstractmethod\n def get_gap_penalty(self, sequence1: Seq, sequence2: Seq) -> int: ...\n @abstractmethod\n def get_insertion_score(self, sequence1: Seq, p: Optional[Item], sequence2: Seq, q: Item) -> int: ...\n @abstractmethod\n def get_deletion_score(self, sequence1: Seq, p: Item, sequence2: Seq, q: Optional[Item]) -> int: ...\n @abstractmethod\n def get_substitution_score(self, sequence1: Seq, p: Item, sequence2: Seq, q: Item) -> int: ...\n @abstractmethod", + "detail": "machine.sequence_alignment.pairwise_alignment_scorer", + "documentation": {} + }, + { + "label": "Seq", + "kind": 5, + "importPath": "machine.sequence_alignment.pairwise_alignment_scorer", + "description": "machine.sequence_alignment.pairwise_alignment_scorer", + "peekOfCode": "Seq = TypeVar(\"Seq\")\nItem = TypeVar(\"Item\")\nclass PairwiseAlignmentScorer(ABC, Generic[Seq, Item]):\n @abstractmethod\n def get_gap_penalty(self, sequence1: Seq, sequence2: Seq) -> int: ...\n @abstractmethod\n def get_insertion_score(self, sequence1: Seq, p: Optional[Item], sequence2: Seq, q: Item) -> int: ...\n @abstractmethod\n def get_deletion_score(self, sequence1: Seq, p: Item, sequence2: Seq, q: Optional[Item]) -> int: ...\n @abstractmethod", + "detail": "machine.sequence_alignment.pairwise_alignment_scorer", + "documentation": {} + }, + { + "label": "Item", + "kind": 5, + "importPath": "machine.sequence_alignment.pairwise_alignment_scorer", + "description": "machine.sequence_alignment.pairwise_alignment_scorer", + "peekOfCode": "Item = TypeVar(\"Item\")\nclass PairwiseAlignmentScorer(ABC, Generic[Seq, Item]):\n @abstractmethod\n def get_gap_penalty(self, sequence1: Seq, sequence2: Seq) -> int: ...\n @abstractmethod\n def get_insertion_score(self, sequence1: Seq, p: Optional[Item], sequence2: Seq, q: Item) -> int: ...\n @abstractmethod\n def get_deletion_score(self, sequence1: Seq, p: Item, sequence2: Seq, q: Optional[Item]) -> int: ...\n @abstractmethod\n def get_substitution_score(self, sequence1: Seq, p: Item, sequence2: Seq, q: Item) -> int: ...", + "detail": "machine.sequence_alignment.pairwise_alignment_scorer", + "documentation": {} + }, + { + "label": "ConditionalFrequencyDistribution", + "kind": 6, + "importPath": "machine.statistics.conditional_frequency_distribution", + "description": "machine.statistics.conditional_frequency_distribution", + "peekOfCode": "class ConditionalFrequencyDistribution:\n def __init__(self):\n self._freq_dist: Dict[str, FrequencyDistribution] = {}\n def get_conditions(self) -> Collection[str]:\n return self._freq_dist.keys()\n def get_sample_outcome_count(self):\n return sum([fd.sample_outcome_count for fd in self._freq_dist.values()])\n def __getitem__(self, item: str) -> FrequencyDistribution:\n if item not in self._freq_dist:\n self._freq_dist[item] = FrequencyDistribution()", + "detail": "machine.statistics.conditional_frequency_distribution", + "documentation": {} + }, + { + "label": "FrequencyDistribution", + "kind": 6, + "importPath": "machine.statistics.frequency_distribution", + "description": "machine.statistics.frequency_distribution", + "peekOfCode": "class FrequencyDistribution:\n def __init__(self):\n self._sample_counts: Dict[str, int] = {}\n self.sample_outcome_count: int = 0\n def get_observed_samples(self) -> Iterable[str]:\n return self._sample_counts.keys()\n def increment(self, sample: str, count: int = 1) -> int:\n self._sample_counts[sample] = self._sample_counts.get(sample, 0) + count\n self.sample_outcome_count += count\n return self._sample_counts[sample]", + "detail": "machine.statistics.frequency_distribution", + "documentation": {} + }, + { + "label": "log_space_add", + "kind": 2, + "importPath": "machine.statistics.log_space", + "description": "machine.statistics.log_space", + "peekOfCode": "def log_space_add(logx: float, logy: float) -> float:\n if logx > logy:\n return logx + log(1 + exp(logy - logx))\n return logy + log(1 + exp(logx - logy))\ndef log_space_multiple(logx: float, logy: float) -> float:\n result = logx + logy\n if result < LOG_SPACE_ZERO:\n result = LOG_SPACE_ZERO\n return result\ndef log_space_divide(logx: float, logy: float) -> float:", + "detail": "machine.statistics.log_space", + "documentation": {} + }, + { + "label": "log_space_multiple", + "kind": 2, + "importPath": "machine.statistics.log_space", + "description": "machine.statistics.log_space", + "peekOfCode": "def log_space_multiple(logx: float, logy: float) -> float:\n result = logx + logy\n if result < LOG_SPACE_ZERO:\n result = LOG_SPACE_ZERO\n return result\ndef log_space_divide(logx: float, logy: float) -> float:\n result = logx - logy\n if result < LOG_SPACE_ZERO:\n result = LOG_SPACE_ZERO\n return result", + "detail": "machine.statistics.log_space", + "documentation": {} + }, + { + "label": "log_space_divide", + "kind": 2, + "importPath": "machine.statistics.log_space", + "description": "machine.statistics.log_space", + "peekOfCode": "def log_space_divide(logx: float, logy: float) -> float:\n result = logx - logy\n if result < LOG_SPACE_ZERO:\n result = LOG_SPACE_ZERO\n return result\ndef to_log_space(value: float) -> float:\n if value == 0:\n return LOG_SPACE_ZERO\n return log(value)\ndef to_std_space(log_value: float) -> float:", + "detail": "machine.statistics.log_space", + "documentation": {} + }, + { + "label": "to_log_space", + "kind": 2, + "importPath": "machine.statistics.log_space", + "description": "machine.statistics.log_space", + "peekOfCode": "def to_log_space(value: float) -> float:\n if value == 0:\n return LOG_SPACE_ZERO\n return log(value)\ndef to_std_space(log_value: float) -> float:\n return exp(log_value)", + "detail": "machine.statistics.log_space", + "documentation": {} + }, + { + "label": "to_std_space", + "kind": 2, + "importPath": "machine.statistics.log_space", + "description": "machine.statistics.log_space", + "peekOfCode": "def to_std_space(log_value: float) -> float:\n return exp(log_value)", + "detail": "machine.statistics.log_space", + "documentation": {} + }, + { + "label": "LOG_SPACE_ONE", + "kind": 5, + "importPath": "machine.statistics.log_space", + "description": "machine.statistics.log_space", + "peekOfCode": "LOG_SPACE_ONE = 0\nLOG_SPACE_ZERO = -999999999\ndef log_space_add(logx: float, logy: float) -> float:\n if logx > logy:\n return logx + log(1 + exp(logy - logx))\n return logy + log(1 + exp(logx - logy))\ndef log_space_multiple(logx: float, logy: float) -> float:\n result = logx + logy\n if result < LOG_SPACE_ZERO:\n result = LOG_SPACE_ZERO", + "detail": "machine.statistics.log_space", + "documentation": {} + }, + { + "label": "LOG_SPACE_ZERO", + "kind": 5, + "importPath": "machine.statistics.log_space", + "description": "machine.statistics.log_space", + "peekOfCode": "LOG_SPACE_ZERO = -999999999\ndef log_space_add(logx: float, logy: float) -> float:\n if logx > logy:\n return logx + log(1 + exp(logy - logx))\n return logy + log(1 + exp(logx - logy))\ndef log_space_multiple(logx: float, logy: float) -> float:\n result = logx + logy\n if result < LOG_SPACE_ZERO:\n result = LOG_SPACE_ZERO\n return result", + "detail": "machine.statistics.log_space", + "documentation": {} + }, + { + "label": "SentencePieceDetokenizer", + "kind": 6, + "importPath": "machine.tokenization.sentencepiece.sentence_piece_detokenizer", + "description": "machine.tokenization.sentencepiece.sentence_piece_detokenizer", + "peekOfCode": "class SentencePieceDetokenizer(Detokenizer[str, str]):\n def detokenize(self, tokens: Iterable[str]) -> str:\n return \"\".join(tokens).replace(\"▁\", \" \").lstrip()", + "detail": "machine.tokenization.sentencepiece.sentence_piece_detokenizer", + "documentation": {} + }, + { + "label": "SentencePieceTokenizer", + "kind": 6, + "importPath": "machine.tokenization.sentencepiece.sentence_piece_tokenizer", + "description": "machine.tokenization.sentencepiece.sentence_piece_tokenizer", + "peekOfCode": "class SentencePieceTokenizer(Tokenizer[str, int, str]):\n def __init__(self, model_filename: StrPath) -> None:\n self._sp = sp.SentencePieceProcessor()\n self._sp.Load(str(model_filename))\n def tokenize(self, data: str, data_range: Optional[Range[int]] = None) -> Iterable[str]:\n if data_range is None:\n data_range = Range.create(0, len(data))\n data = data[data_range.start : data_range.end]\n return self._sp.EncodeAsPieces(data)", + "detail": "machine.tokenization.sentencepiece.sentence_piece_tokenizer", + "documentation": {} + }, + { + "label": "SentencePieceTrainer", + "kind": 6, + "importPath": "machine.tokenization.sentencepiece.sentence_piece_trainer", + "description": "machine.tokenization.sentencepiece.sentence_piece_trainer", + "peekOfCode": "class SentencePieceTrainer(Trainer):\n def __init__(self, corpus: Optional[TextCorpus] = None, **kwargs) -> None:\n self._corpus = corpus\n self._kwargs = kwargs\n self._stats = TrainStats()\n def train(\n self,\n progress: Optional[Callable[[ProgressStatus], None]] = None,\n check_canceled: Optional[Callable[[], None]] = None,\n ) -> None:", + "detail": "machine.tokenization.sentencepiece.sentence_piece_trainer", + "documentation": {} + }, + { + "label": "Detokenizer", + "kind": 6, + "importPath": "machine.tokenization.detokenizer", + "description": "machine.tokenization.detokenizer", + "peekOfCode": "class Detokenizer(ABC, Generic[Data, Token]):\n @abstractmethod\n def detokenize(self, tokens: Iterable[Token]) -> Data: ...", + "detail": "machine.tokenization.detokenizer", + "documentation": {} + }, + { + "label": "Data", + "kind": 5, + "importPath": "machine.tokenization.detokenizer", + "description": "machine.tokenization.detokenizer", + "peekOfCode": "Data = TypeVar(\"Data\")\nToken = TypeVar(\"Token\")\nclass Detokenizer(ABC, Generic[Data, Token]):\n @abstractmethod\n def detokenize(self, tokens: Iterable[Token]) -> Data: ...", + "detail": "machine.tokenization.detokenizer", + "documentation": {} + }, + { + "label": "Token", + "kind": 5, + "importPath": "machine.tokenization.detokenizer", + "description": "machine.tokenization.detokenizer", + "peekOfCode": "Token = TypeVar(\"Token\")\nclass Detokenizer(ABC, Generic[Data, Token]):\n @abstractmethod\n def detokenize(self, tokens: Iterable[Token]) -> Data: ...", + "detail": "machine.tokenization.detokenizer", + "documentation": {} + }, + { + "label": "LatinSentenceTokenizer", + "kind": 6, + "importPath": "machine.tokenization.latin_sentence_tokenizer", + "description": "machine.tokenization.latin_sentence_tokenizer", + "peekOfCode": "class LatinSentenceTokenizer(LatinWordTokenizer):\n def tokenize_as_ranges(self, data: str, data_range: Optional[Range[int]]) -> Iterable[Range[int]]:\n for line_range in LINE_TOKENIZER.tokenize_as_ranges(data, data_range):\n for sentence_range in self._tokenize_line(data, line_range):\n yield sentence_range\n def _tokenize_line(self, data: str, line_range: Range[int]) -> Iterable[Range[int]]:\n sentence_start = -1\n sentence_end = -1\n in_end = False\n has_end_quote_brackets = False", + "detail": "machine.tokenization.latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "LINE_TOKENIZER", + "kind": 5, + "importPath": "machine.tokenization.latin_sentence_tokenizer", + "description": "machine.tokenization.latin_sentence_tokenizer", + "peekOfCode": "LINE_TOKENIZER = LineSegmentTokenizer()\nclass LatinSentenceTokenizer(LatinWordTokenizer):\n def tokenize_as_ranges(self, data: str, data_range: Optional[Range[int]]) -> Iterable[Range[int]]:\n for line_range in LINE_TOKENIZER.tokenize_as_ranges(data, data_range):\n for sentence_range in self._tokenize_line(data, line_range):\n yield sentence_range\n def _tokenize_line(self, data: str, line_range: Range[int]) -> Iterable[Range[int]]:\n sentence_start = -1\n sentence_end = -1\n in_end = False", + "detail": "machine.tokenization.latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "QuoteType", + "kind": 6, + "importPath": "machine.tokenization.latin_word_detokenizer", + "description": "machine.tokenization.latin_word_detokenizer", + "peekOfCode": "class QuoteType(Enum):\n DOUBLE_QUOTATION = auto()\n SINGLE_QUOTATION = auto()\n DOUBLE_ANGLE = auto()\n SINGLE_ANGLE = auto()\nQUOTATION_MARKS = {\n '\"': QuoteType.DOUBLE_QUOTATION,\n \"“\": QuoteType.DOUBLE_QUOTATION,\n \"”\": QuoteType.DOUBLE_QUOTATION,\n \"„\": QuoteType.DOUBLE_QUOTATION,", + "detail": "machine.tokenization.latin_word_detokenizer", + "documentation": {} + }, + { + "label": "LatinWordDetokenizer", + "kind": 6, + "importPath": "machine.tokenization.latin_word_detokenizer", + "description": "machine.tokenization.latin_word_detokenizer", + "peekOfCode": "class LatinWordDetokenizer(StringDetokenizer):\n def _create_context(self) -> Any:\n return deque()\n def _get_operation(self, ctxt: Any, token: str) -> DetokenizeOperation:\n quotes: deque[str] = ctxt\n c = token[0]\n if is_currency_symbol(c) or c in {\"(\", \"[\", \"{\", \"¿\", \"¡\", \"<\"}:\n return DetokenizeOperation.MERGE_RIGHT\n elif c in QUOTATION_MARKS:\n if len(quotes) == 0 or QUOTATION_MARKS[c] != QUOTATION_MARKS[quotes[-1]]:", + "detail": "machine.tokenization.latin_word_detokenizer", + "documentation": {} + }, + { + "label": "QUOTATION_MARKS", + "kind": 5, + "importPath": "machine.tokenization.latin_word_detokenizer", + "description": "machine.tokenization.latin_word_detokenizer", + "peekOfCode": "QUOTATION_MARKS = {\n '\"': QuoteType.DOUBLE_QUOTATION,\n \"“\": QuoteType.DOUBLE_QUOTATION,\n \"”\": QuoteType.DOUBLE_QUOTATION,\n \"„\": QuoteType.DOUBLE_QUOTATION,\n \"‟\": QuoteType.DOUBLE_QUOTATION,\n \"'\": QuoteType.SINGLE_QUOTATION,\n \"‘\": QuoteType.SINGLE_QUOTATION,\n \"’\": QuoteType.SINGLE_QUOTATION,\n \"‚\": QuoteType.SINGLE_QUOTATION,", + "detail": "machine.tokenization.latin_word_detokenizer", + "documentation": {} + }, + { + "label": "LatinWordTokenizer", + "kind": 6, + "importPath": "machine.tokenization.latin_word_tokenizer", + "description": "machine.tokenization.latin_word_tokenizer", + "peekOfCode": "class LatinWordTokenizer(WhitespaceTokenizer):\n def __init__(self, abbreviations: Iterable[str] = [], treat_apostrophe_as_single_quote: bool = False) -> None:\n self._abbreviations = {a.lower() for a in abbreviations}\n self.treat_apostrophe_as_single_quote = treat_apostrophe_as_single_quote\n def tokenize_as_ranges(self, data: str, data_range: Optional[Range[int]] = None) -> Iterable[Range[int]]:\n if data_range is None:\n data_range = Range.create(0, len(data))\n ctxt = LatinWordTokenizer._TokenizeContext()\n for char_range in super().tokenize_as_ranges(data, data_range):\n url_match = URL_REGEX.match(data[char_range.start : char_range.end])", + "detail": "machine.tokenization.latin_word_tokenizer", + "documentation": {} + }, + { + "label": "INNER_WORD_PUNCT_REGEX", + "kind": 5, + "importPath": "machine.tokenization.latin_word_tokenizer", + "description": "machine.tokenization.latin_word_tokenizer", + "peekOfCode": "INNER_WORD_PUNCT_REGEX = re.compile(\n r\"[&\\-.:=,?@\\xAD\\xB7\\u2010\\u2011\\u2019\\u2027]|['_]+\",\n)\nURL_REGEX = re.compile(r\"(?:[\\w-]+://?|www[.])[^\\s()<>]+(?:[\\w\\d]+|(?:[^\\p{P}\\s]|/))\", re.IGNORECASE)\nclass LatinWordTokenizer(WhitespaceTokenizer):\n def __init__(self, abbreviations: Iterable[str] = [], treat_apostrophe_as_single_quote: bool = False) -> None:\n self._abbreviations = {a.lower() for a in abbreviations}\n self.treat_apostrophe_as_single_quote = treat_apostrophe_as_single_quote\n def tokenize_as_ranges(self, data: str, data_range: Optional[Range[int]] = None) -> Iterable[Range[int]]:\n if data_range is None:", + "detail": "machine.tokenization.latin_word_tokenizer", + "documentation": {} + }, + { + "label": "URL_REGEX", + "kind": 5, + "importPath": "machine.tokenization.latin_word_tokenizer", + "description": "machine.tokenization.latin_word_tokenizer", + "peekOfCode": "URL_REGEX = re.compile(r\"(?:[\\w-]+://?|www[.])[^\\s()<>]+(?:[\\w\\d]+|(?:[^\\p{P}\\s]|/))\", re.IGNORECASE)\nclass LatinWordTokenizer(WhitespaceTokenizer):\n def __init__(self, abbreviations: Iterable[str] = [], treat_apostrophe_as_single_quote: bool = False) -> None:\n self._abbreviations = {a.lower() for a in abbreviations}\n self.treat_apostrophe_as_single_quote = treat_apostrophe_as_single_quote\n def tokenize_as_ranges(self, data: str, data_range: Optional[Range[int]] = None) -> Iterable[Range[int]]:\n if data_range is None:\n data_range = Range.create(0, len(data))\n ctxt = LatinWordTokenizer._TokenizeContext()\n for char_range in super().tokenize_as_ranges(data, data_range):", + "detail": "machine.tokenization.latin_word_tokenizer", + "documentation": {} + }, + { + "label": "LineSegmentTokenizer", + "kind": 6, + "importPath": "machine.tokenization.line_segment_tokenizer", + "description": "machine.tokenization.line_segment_tokenizer", + "peekOfCode": "class LineSegmentTokenizer(StringTokenizer):\n def tokenize_as_ranges(self, data: str, data_range: Optional[Range[int]] = None) -> Iterable[Range[int]]:\n if data_range is None:\n data_range = Range.create(0, len(data))\n line_start = data_range.start\n i = data_range.start\n while i < data_range.end:\n if data[i] == \"\\n\" or data[i] == \"\\r\":\n yield Range.create(line_start, i)\n if data[i] == \"\\r\" and i + 1 < data_range.end and data[i + 1] == \"\\n\":", + "detail": "machine.tokenization.line_segment_tokenizer", + "documentation": {} + }, + { + "label": "NullTokenizer", + "kind": 6, + "importPath": "machine.tokenization.null_tokenizer", + "description": "machine.tokenization.null_tokenizer", + "peekOfCode": "class NullTokenizer(StringTokenizer):\n def tokenize_as_ranges(self, data: str, data_range: Optional[Range[int]] = None) -> Iterable[Range[int]]:\n if data_range is None:\n data_range = Range.create(0, len(data))\n if len(data_range) > 0:\n yield data_range", + "detail": "machine.tokenization.null_tokenizer", + "documentation": {} + }, + { + "label": "RangeTokenizer", + "kind": 6, + "importPath": "machine.tokenization.range_tokenizer", + "description": "machine.tokenization.range_tokenizer", + "peekOfCode": "class RangeTokenizer(Tokenizer[Data, Offset, Token]):\n @abstractmethod\n def tokenize_as_ranges(self, data: Data, data_range: Optional[Range[Offset]] = None) -> Iterable[Range[Offset]]: ...", + "detail": "machine.tokenization.range_tokenizer", + "documentation": {} + }, + { + "label": "Data", + "kind": 5, + "importPath": "machine.tokenization.range_tokenizer", + "description": "machine.tokenization.range_tokenizer", + "peekOfCode": "Data = TypeVar(\"Data\")\nOffset = TypeVar(\"Offset\")\nToken = TypeVar(\"Token\")\nclass RangeTokenizer(Tokenizer[Data, Offset, Token]):\n @abstractmethod\n def tokenize_as_ranges(self, data: Data, data_range: Optional[Range[Offset]] = None) -> Iterable[Range[Offset]]: ...", + "detail": "machine.tokenization.range_tokenizer", + "documentation": {} + }, + { + "label": "Offset", + "kind": 5, + "importPath": "machine.tokenization.range_tokenizer", + "description": "machine.tokenization.range_tokenizer", + "peekOfCode": "Offset = TypeVar(\"Offset\")\nToken = TypeVar(\"Token\")\nclass RangeTokenizer(Tokenizer[Data, Offset, Token]):\n @abstractmethod\n def tokenize_as_ranges(self, data: Data, data_range: Optional[Range[Offset]] = None) -> Iterable[Range[Offset]]: ...", + "detail": "machine.tokenization.range_tokenizer", + "documentation": {} + }, + { + "label": "Token", + "kind": 5, + "importPath": "machine.tokenization.range_tokenizer", + "description": "machine.tokenization.range_tokenizer", + "peekOfCode": "Token = TypeVar(\"Token\")\nclass RangeTokenizer(Tokenizer[Data, Offset, Token]):\n @abstractmethod\n def tokenize_as_ranges(self, data: Data, data_range: Optional[Range[Offset]] = None) -> Iterable[Range[Offset]]: ...", + "detail": "machine.tokenization.range_tokenizer", + "documentation": {} + }, + { + "label": "DetokenizeOperation", + "kind": 6, + "importPath": "machine.tokenization.string_detokenizer", + "description": "machine.tokenization.string_detokenizer", + "peekOfCode": "class DetokenizeOperation(Enum):\n NO_OPERATION = auto()\n MERGE_LEFT = auto()\n MERGE_RIGHT = auto()\n MERGE_BOTH = auto()\nclass StringDetokenizer(Detokenizer[str, str]):\n def detokenize(self, tokens: Iterable[str]) -> str:\n token_list = list(tokens)\n ctxt = self._create_context()\n ops = [self._get_operation(ctxt, t) for t in token_list]", + "detail": "machine.tokenization.string_detokenizer", + "documentation": {} + }, + { + "label": "StringDetokenizer", + "kind": 6, + "importPath": "machine.tokenization.string_detokenizer", + "description": "machine.tokenization.string_detokenizer", + "peekOfCode": "class StringDetokenizer(Detokenizer[str, str]):\n def detokenize(self, tokens: Iterable[str]) -> str:\n token_list = list(tokens)\n ctxt = self._create_context()\n ops = [self._get_operation(ctxt, t) for t in token_list]\n result = \"\"\n for i in range(len(token_list)):\n result += self._transform_token(token_list[i])\n append_separator = True\n if i + 1 == len(ops):", + "detail": "machine.tokenization.string_detokenizer", + "documentation": {} + }, + { + "label": "StringTokenizer", + "kind": 6, + "importPath": "machine.tokenization.string_tokenizer", + "description": "machine.tokenization.string_tokenizer", + "peekOfCode": "class StringTokenizer(RangeTokenizer[str, int, str]):\n def tokenize(self, data: str, data_range: Optional[Range[int]] = None) -> Iterable[str]:\n return (data[r.start : r.end] for r in self.tokenize_as_ranges(data, data_range))", + "detail": "machine.tokenization.string_tokenizer", + "documentation": {} + }, + { + "label": "split", + "kind": 2, + "importPath": "machine.tokenization.tokenization_utils", + "description": "machine.tokenization.tokenization_utils", + "peekOfCode": "def split(s: str, ranges: Iterable[Range[int]]) -> List[str]:\n return [s[range.start : range.end] for range in ranges]\ndef get_ranges(s: str, tokens: Iterable[str]) -> Generator[Range[int], None, None]:\n start = 0\n for token in tokens:\n index = s.find(token, start)\n if index == -1:\n raise ValueError(f\"The string does not contain the specified token: {token}.\")\n yield Range.create(index, index + len(token))\n start = index + len(token)", + "detail": "machine.tokenization.tokenization_utils", + "documentation": {} + }, + { + "label": "get_ranges", + "kind": 2, + "importPath": "machine.tokenization.tokenization_utils", + "description": "machine.tokenization.tokenization_utils", + "peekOfCode": "def get_ranges(s: str, tokens: Iterable[str]) -> Generator[Range[int], None, None]:\n start = 0\n for token in tokens:\n index = s.find(token, start)\n if index == -1:\n raise ValueError(f\"The string does not contain the specified token: {token}.\")\n yield Range.create(index, index + len(token))\n start = index + len(token)", + "detail": "machine.tokenization.tokenization_utils", + "documentation": {} + }, + { + "label": "Tokenizer", + "kind": 6, + "importPath": "machine.tokenization.tokenizer", + "description": "machine.tokenization.tokenizer", + "peekOfCode": "class Tokenizer(ABC, Generic[Data, Offset, Token]):\n @abstractmethod\n def tokenize(self, data: Data, data_range: Optional[Range[Offset]] = None) -> Iterable[Token]: ...", + "detail": "machine.tokenization.tokenizer", + "documentation": {} + }, + { + "label": "Data", + "kind": 5, + "importPath": "machine.tokenization.tokenizer", + "description": "machine.tokenization.tokenizer", + "peekOfCode": "Data = TypeVar(\"Data\")\nOffset = TypeVar(\"Offset\")\nToken = TypeVar(\"Token\")\nclass Tokenizer(ABC, Generic[Data, Offset, Token]):\n @abstractmethod\n def tokenize(self, data: Data, data_range: Optional[Range[Offset]] = None) -> Iterable[Token]: ...", + "detail": "machine.tokenization.tokenizer", + "documentation": {} + }, + { + "label": "Offset", + "kind": 5, + "importPath": "machine.tokenization.tokenizer", + "description": "machine.tokenization.tokenizer", + "peekOfCode": "Offset = TypeVar(\"Offset\")\nToken = TypeVar(\"Token\")\nclass Tokenizer(ABC, Generic[Data, Offset, Token]):\n @abstractmethod\n def tokenize(self, data: Data, data_range: Optional[Range[Offset]] = None) -> Iterable[Token]: ...", + "detail": "machine.tokenization.tokenizer", + "documentation": {} + }, + { + "label": "Token", + "kind": 5, + "importPath": "machine.tokenization.tokenizer", + "description": "machine.tokenization.tokenizer", + "peekOfCode": "Token = TypeVar(\"Token\")\nclass Tokenizer(ABC, Generic[Data, Offset, Token]):\n @abstractmethod\n def tokenize(self, data: Data, data_range: Optional[Range[Offset]] = None) -> Iterable[Token]: ...", + "detail": "machine.tokenization.tokenizer", + "documentation": {} + }, + { + "label": "TokenizerType", + "kind": 6, + "importPath": "machine.tokenization.tokenizer_factory", + "description": "machine.tokenization.tokenizer_factory", + "peekOfCode": "class TokenizerType(Enum):\n NULL = auto()\n LINE_SEGMENT = auto()\n WHITESPACE = auto()\n LATIN = auto()\n LATIN_SENTENCE = auto()\n ZWSP = auto()\ndef create_tokenizer(type: Union[str, TokenizerType]) -> Tokenizer[str, int, str]:\n if isinstance(type, str):\n type = TokenizerType[type.upper()]", + "detail": "machine.tokenization.tokenizer_factory", + "documentation": {} + }, + { + "label": "create_tokenizer", + "kind": 2, + "importPath": "machine.tokenization.tokenizer_factory", + "description": "machine.tokenization.tokenizer_factory", + "peekOfCode": "def create_tokenizer(type: Union[str, TokenizerType]) -> Tokenizer[str, int, str]:\n if isinstance(type, str):\n type = TokenizerType[type.upper()]\n if type == TokenizerType.NULL:\n return NullTokenizer()\n if type == TokenizerType.LINE_SEGMENT:\n return LineSegmentTokenizer()\n if type == TokenizerType.WHITESPACE:\n return WhitespaceTokenizer()\n if type == TokenizerType.LATIN:", + "detail": "machine.tokenization.tokenizer_factory", + "documentation": {} + }, + { + "label": "create_detokenizer", + "kind": 2, + "importPath": "machine.tokenization.tokenizer_factory", + "description": "machine.tokenization.tokenizer_factory", + "peekOfCode": "def create_detokenizer(type: Union[str, TokenizerType]) -> Detokenizer[str, str]:\n if isinstance(type, str):\n type = TokenizerType[type.upper()]\n if type == TokenizerType.WHITESPACE:\n return WhitespaceDetokenizer()\n if type == TokenizerType.LATIN:\n return LatinWordDetokenizer()\n if type == TokenizerType.ZWSP:\n return ZwspWordDetokenizer()\n raise RuntimeError(f\"Unknown tokenizer: {type}. Available tokenizers are: whitespace, latin, zwsp.\")", + "detail": "machine.tokenization.tokenizer_factory", + "documentation": {} + }, + { + "label": "WhitespaceDetokenizer", + "kind": 6, + "importPath": "machine.tokenization.whitespace_detokenizer", + "description": "machine.tokenization.whitespace_detokenizer", + "peekOfCode": "class WhitespaceDetokenizer(StringDetokenizer):\n def _get_operation(self, ctxt: Any, token: str) -> DetokenizeOperation:\n return DetokenizeOperation.NO_OPERATION\nWHITESPACE_DETOKENIZER = WhitespaceDetokenizer()", + "detail": "machine.tokenization.whitespace_detokenizer", + "documentation": {} + }, + { + "label": "WHITESPACE_DETOKENIZER", + "kind": 5, + "importPath": "machine.tokenization.whitespace_detokenizer", + "description": "machine.tokenization.whitespace_detokenizer", + "peekOfCode": "WHITESPACE_DETOKENIZER = WhitespaceDetokenizer()", + "detail": "machine.tokenization.whitespace_detokenizer", + "documentation": {} + }, + { + "label": "WhitespaceTokenizer", + "kind": 6, + "importPath": "machine.tokenization.whitespace_tokenizer", + "description": "machine.tokenization.whitespace_tokenizer", + "peekOfCode": "class WhitespaceTokenizer(StringTokenizer):\n def tokenize_as_ranges(self, data: str, data_range: Optional[Range[int]] = None) -> Iterable[Range[int]]:\n if data_range is None:\n data_range = Range.create(0, len(data))\n start_index = -1\n for i in data_range:\n if self._is_whitespace(data[i]):\n if start_index != -1:\n yield Range.create(start_index, i)\n start_index = -1", + "detail": "machine.tokenization.whitespace_tokenizer", + "documentation": {} + }, + { + "label": "WHITESPACE_TOKENIZER", + "kind": 5, + "importPath": "machine.tokenization.whitespace_tokenizer", + "description": "machine.tokenization.whitespace_tokenizer", + "peekOfCode": "WHITESPACE_TOKENIZER = WhitespaceTokenizer()", + "detail": "machine.tokenization.whitespace_tokenizer", + "documentation": {} + }, + { + "label": "ZwspWordDetokenizer", + "kind": 6, + "importPath": "machine.tokenization.zwsp_word_detokenizer", + "description": "machine.tokenization.zwsp_word_detokenizer", + "peekOfCode": "class ZwspWordDetokenizer(LatinWordDetokenizer):\n def _get_operation(self, ctxt: Any, token: str) -> DetokenizeOperation:\n if token[0].isspace():\n return DetokenizeOperation.MERGE_BOTH\n return super()._get_operation(ctxt, token)\n def _get_separator(self, tokens: List[str], ops: List[DetokenizeOperation], index: int) -> str:\n if (\n index < len(tokens) - 1\n and ops[index + 1] == DetokenizeOperation.MERGE_RIGHT\n and is_punctuation(tokens[index + 1][0])", + "detail": "machine.tokenization.zwsp_word_detokenizer", + "documentation": {} + }, + { + "label": "ZwspWordTokenizer", + "kind": 6, + "importPath": "machine.tokenization.zwsp_word_tokenizer", + "description": "machine.tokenization.zwsp_word_tokenizer", + "peekOfCode": "class ZwspWordTokenizer(LatinWordTokenizer):\n def _process_character(\n self, data: str, data_range: Range[int], ctxt: LatinWordTokenizer._TokenizeContext\n ) -> Tuple[Optional[Range[int]], Optional[Range[int]]]:\n if data[ctxt.index].isspace():\n end_index = ctxt.index + 1\n while end_index != data_range.end and data[end_index].isspace():\n end_index += 1\n token_ranges: Tuple[Optional[Range[int]], Optional[Range[int]]] = (None, None)\n # ignore whitespace that is followed by whitespace or punctuation", + "detail": "machine.tokenization.zwsp_word_tokenizer", + "documentation": {} + }, + { + "label": "HuggingFaceNmtEngine", + "kind": 6, + "importPath": "machine.translation.huggingface.hugging_face_nmt_engine", + "description": "machine.translation.huggingface.hugging_face_nmt_engine", + "peekOfCode": "class HuggingFaceNmtEngine(TranslationEngine):\n def __init__(\n self,\n model: Union[PreTrainedModel, StrPath, str],\n oom_batch_size_backoff_mult: float = 1.0,\n **pipeline_kwargs,\n ) -> None:\n self._model = model\n self._pipeline_kwargs = pipeline_kwargs\n if isinstance(self._model, PreTrainedModel):", + "detail": "machine.translation.huggingface.hugging_face_nmt_engine", + "documentation": {} + }, + { + "label": "_TranslationPipeline", + "kind": 6, + "importPath": "machine.translation.huggingface.hugging_face_nmt_engine", + "description": "machine.translation.huggingface.hugging_face_nmt_engine", + "peekOfCode": "class _TranslationPipeline(TranslationPipeline):\n def __init__(\n self,\n model: Union[PreTrainedModel, StrPath, str],\n tokenizer: Union[PreTrainedTokenizer, PreTrainedTokenizerFast],\n batch_size: int,\n mpn: Optional[MosesPunctNormalizer] = None,\n **kwargs,\n ) -> None:\n super().__init__(model=model, tokenizer=tokenizer, batch_size=batch_size, **kwargs)", + "detail": "machine.translation.huggingface.hugging_face_nmt_engine", + "documentation": {} + }, + { + "label": "torch_gather_nd", + "kind": 2, + "importPath": "machine.translation.huggingface.hugging_face_nmt_engine", + "description": "machine.translation.huggingface.hugging_face_nmt_engine", + "peekOfCode": "def torch_gather_nd(params: torch.Tensor, indices: torch.Tensor, batch_dim: int = 0) -> torch.Tensor:\n \"\"\"\n torch_gather_nd implements tf.gather_nd in PyTorch.\n This supports multiple batch dimensions as well as multiple channel dimensions.\n \"\"\"\n index_shape = indices.shape[:-1]\n num_dim = indices.size(-1)\n tail_sizes = params.shape[batch_dim + num_dim :]\n # flatten extra dimensions\n for s in tail_sizes:", + "detail": "machine.translation.huggingface.hugging_face_nmt_engine", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.translation.huggingface.hugging_face_nmt_engine", + "description": "machine.translation.huggingface.hugging_face_nmt_engine", + "peekOfCode": "logger = logging.getLogger(__name__)\nclass HuggingFaceNmtEngine(TranslationEngine):\n def __init__(\n self,\n model: Union[PreTrainedModel, StrPath, str],\n oom_batch_size_backoff_mult: float = 1.0,\n **pipeline_kwargs,\n ) -> None:\n self._model = model\n self._pipeline_kwargs = pipeline_kwargs", + "detail": "machine.translation.huggingface.hugging_face_nmt_engine", + "documentation": {} + }, + { + "label": "HuggingFaceNmtModel", + "kind": 6, + "importPath": "machine.translation.huggingface.hugging_face_nmt_model", + "description": "machine.translation.huggingface.hugging_face_nmt_model", + "peekOfCode": "class HuggingFaceNmtModel(TranslationModel):\n def __init__(\n self,\n model: Union[PreTrainedModel, StrPath],\n parent_model_name: str,\n training_args: Optional[Seq2SeqTrainingArguments] = None,\n **pipeline_kwargs,\n ) -> None:\n self._model = model\n if isinstance(model, PreTrainedModel):", + "detail": "machine.translation.huggingface.hugging_face_nmt_model", + "documentation": {} + }, + { + "label": "_Trainer", + "kind": 6, + "importPath": "machine.translation.huggingface.hugging_face_nmt_model", + "description": "machine.translation.huggingface.hugging_face_nmt_model", + "peekOfCode": "class _Trainer(HuggingFaceNmtModelTrainer):\n def __init__(self, model: HuggingFaceNmtModel, corpus: Union[ParallelTextCorpus, Dataset]) -> None:\n self._model = model\n src_lang = model._pipeline_kwargs.get(\"src_lang\")\n tgt_lang = model._pipeline_kwargs.get(\"tgt_lang\")\n max_length = model._pipeline_kwargs.get(\"max_length\")\n super().__init__(\n model.parent_model_name, model.training_args, corpus, src_lang, tgt_lang, max_length, max_length\n )\n def save(self) -> None:", + "detail": "machine.translation.huggingface.hugging_face_nmt_model", + "documentation": {} + }, + { + "label": "HuggingFaceNmtModelTrainer", + "kind": 6, + "importPath": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "description": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "peekOfCode": "class HuggingFaceNmtModelTrainer(Trainer):\n def __init__(\n self,\n model: Union[PreTrainedModel, str],\n training_args: Seq2SeqTrainingArguments,\n corpus: Union[ParallelTextCorpus, Dataset],\n src_lang: Optional[str] = None,\n tgt_lang: Optional[str] = None,\n max_source_length: Optional[int] = None,\n max_target_length: Optional[int] = None,", + "detail": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "_ProgressCallback", + "kind": 6, + "importPath": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "description": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "peekOfCode": "class _ProgressCallback(TrainerCallback):\n def __init__(\n self,\n max_steps: Optional[int],\n progress: Optional[Callable[[ProgressStatus], None]],\n check_canceled: Optional[Callable[[], None]],\n ) -> None:\n self._max_steps = max_steps\n self._progress = progress\n self._check_canceled = check_canceled", + "detail": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "prepare_decoder_input_ids_from_labels", + "kind": 2, + "importPath": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "description": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "peekOfCode": "def prepare_decoder_input_ids_from_labels(self: M2M100ForConditionalGeneration, labels: Tensor) -> Tensor:\n # shift ids to the right\n shifted_input_ids = labels.new_zeros(labels.shape)\n shifted_input_ids[:, 1:] = labels[:, :-1].clone()\n assert self.config.decoder_start_token_id is not None\n shifted_input_ids[:, 0] = self.config.decoder_start_token_id\n if self.config.pad_token_id is None:\n raise ValueError(\"self.model.config.pad_token_id has to be defined.\")\n # replace possible -100 values in labels by `pad_token_id`\n shifted_input_ids.masked_fill_(shifted_input_ids == -100, self.config.pad_token_id)", + "detail": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "logger", + "kind": 5, + "importPath": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "description": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "peekOfCode": "logger = logging.getLogger(__name__)\ndef prepare_decoder_input_ids_from_labels(self: M2M100ForConditionalGeneration, labels: Tensor) -> Tensor:\n # shift ids to the right\n shifted_input_ids = labels.new_zeros(labels.shape)\n shifted_input_ids[:, 1:] = labels[:, :-1].clone()\n assert self.config.decoder_start_token_id is not None\n shifted_input_ids[:, 0] = self.config.decoder_start_token_id\n if self.config.pad_token_id is None:\n raise ValueError(\"self.model.config.pad_token_id has to be defined.\")\n # replace possible -100 values in labels by `pad_token_id`", + "detail": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "MULTILINGUAL_TOKENIZERS", + "kind": 5, + "importPath": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "description": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "peekOfCode": "MULTILINGUAL_TOKENIZERS = (\n MBartTokenizer,\n MBartTokenizerFast,\n MBart50Tokenizer,\n MBart50TokenizerFast,\n M2M100Tokenizer,\n NllbTokenizer,\n NllbTokenizerFast,\n)\nclass HuggingFaceNmtModelTrainer(Trainer):", + "detail": "machine.translation.huggingface.hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "ParameterTuner", + "kind": 6, + "importPath": "machine.translation.thot.parameter_tuner", + "description": "machine.translation.thot.parameter_tuner", + "peekOfCode": "class ParameterTuner(ABC):\n @abstractmethod\n def tune(\n self,\n parameters: ThotSmtParameters,\n tune_source_corpus: Sequence[Sequence[str]],\n tune_target_corpus: Sequence[Sequence[str]],\n stats: TrainStats,\n progress: ProgressStatus,\n ) -> ThotSmtParameters: ...", + "detail": "machine.translation.thot.parameter_tuner", + "documentation": {} + }, + { + "label": "SimplexModelWeightTuner", + "kind": 6, + "importPath": "machine.translation.thot.simplex_model_weight_tuner", + "description": "machine.translation.thot.simplex_model_weight_tuner", + "peekOfCode": "class SimplexModelWeightTuner(ParameterTuner):\n def __init__(\n self,\n word_alignment_model_type: ThotWordAlignmentModelType,\n convergence_tolerance: float = 0.001,\n max_function_evaluations: int = 100,\n max_progress_function_evaluations: int = 70,\n ) -> None:\n self._word_alignment_model_type = word_alignment_model_type\n self.convergence_tolerance = convergence_tolerance", + "detail": "machine.translation.thot.simplex_model_weight_tuner", + "documentation": {} + }, + { + "label": "ThotFastAlignWordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.thot.thot_fast_align_word_alignment_model", + "description": "machine.translation.thot.thot_fast_align_word_alignment_model", + "peekOfCode": "class ThotFastAlignWordAlignmentModel(ThotWordAlignmentModel, Ibm2WordAlignmentModel):\n def __init__(self, prefix_filename: Optional[StrPath] = None, create_new: bool = False) -> None:\n super().__init__(prefix_filename, create_new)\n self.training_iteration_count = 4\n @property\n def type(self) -> ThotWordAlignmentModelType:\n return ThotWordAlignmentModelType.FAST_ALIGN\n @property\n def thot_model(self) -> ta.FastAlignModel:\n return cast(ta.FastAlignModel, self._model)", + "detail": "machine.translation.thot.thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "ThotHmmWordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.thot.thot_hmm_word_alignment_model", + "description": "machine.translation.thot.thot_hmm_word_alignment_model", + "peekOfCode": "class ThotHmmWordAlignmentModel(ThotIbm1WordAlignmentModel, HmmWordAlignmentModel):\n @property\n def type(self) -> ThotWordAlignmentModelType:\n return ThotWordAlignmentModelType.HMM\n @property\n def thot_model(self) -> ta.HmmAlignmentModel:\n return cast(ta.HmmAlignmentModel, self._model)\n def get_alignment_probability(self, source_length: int, prev_source_index: int, source_index: int) -> float:\n return exp(self.get_alignment_log_probability(source_length, prev_source_index, source_index))\n def get_alignment_log_probability(self, source_length: int, prev_source_index: int, source_index: int) -> float:", + "detail": "machine.translation.thot.thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "ThotIbm1WordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.thot.thot_ibm1_word_alignment_model", + "description": "machine.translation.thot.thot_ibm1_word_alignment_model", + "peekOfCode": "class ThotIbm1WordAlignmentModel(ThotWordAlignmentModel):\n @property\n def type(self) -> ThotWordAlignmentModelType:\n return ThotWordAlignmentModelType.IBM1\n @property\n def thot_model(self) -> ta.Ibm1AlignmentModel:\n return cast(ta.Ibm1AlignmentModel, self._model)\n def get_alignment_probability(self, source_length: int) -> float:\n return 1.0 / (source_length + 1)\n def get_alignment_log_probability(self, source_length: int) -> float:", + "detail": "machine.translation.thot.thot_ibm1_word_alignment_model", + "documentation": {} + }, + { + "label": "ThotIbm2WordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.thot.thot_ibm2_word_alignment_model", + "description": "machine.translation.thot.thot_ibm2_word_alignment_model", + "peekOfCode": "class ThotIbm2WordAlignmentModel(ThotIbm1WordAlignmentModel, Ibm2WordAlignmentModel):\n @property\n def type(self) -> ThotWordAlignmentModelType:\n return ThotWordAlignmentModelType.IBM2\n @property\n def thot_model(self) -> ta.Ibm2AlignmentModel:\n return cast(ta.Ibm2AlignmentModel, self._model)\n def get_alignment_probability(\n self, source_length: int, source_index: int, target_length: int, target_index: int\n ) -> float:", + "detail": "machine.translation.thot.thot_ibm2_word_alignment_model", + "documentation": {} + }, + { + "label": "ThotIbm3WordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.thot.thot_ibm3_word_alignment_model", + "description": "machine.translation.thot.thot_ibm3_word_alignment_model", + "peekOfCode": "class ThotIbm3WordAlignmentModel(ThotIbm2WordAlignmentModel):\n @property\n def type(self) -> ThotWordAlignmentModelType:\n return ThotWordAlignmentModelType.IBM3\n @property\n def thot_model(self) -> ta.Ibm3AlignmentModel:\n return cast(ta.Ibm3AlignmentModel, self._model)\n def get_distortion_probability(\n self, source_length: int, source_index: int, target_length: int, target_index: int\n ) -> float:", + "detail": "machine.translation.thot.thot_ibm3_word_alignment_model", + "documentation": {} + }, + { + "label": "ThotIbm4WordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.thot.thot_ibm4_word_alignment_model", + "description": "machine.translation.thot.thot_ibm4_word_alignment_model", + "peekOfCode": "class ThotIbm4WordAlignmentModel(ThotIbm3WordAlignmentModel):\n @property\n def type(self) -> ThotWordAlignmentModelType:\n return ThotWordAlignmentModelType.IBM4\n def __enter__(self) -> ThotIbm4WordAlignmentModel:\n return self", + "detail": "machine.translation.thot.thot_ibm4_word_alignment_model", + "documentation": {} + }, + { + "label": "_Trainer", + "kind": 6, + "importPath": "machine.translation.thot.thot_smt_model", + "description": "machine.translation.thot.thot_smt_model", + "peekOfCode": "class _Trainer(ThotSmtModelTrainer):\n def __init__(\n self,\n smt_model: ThotSmtModel,\n corpus: ParallelTextCorpus,\n config: Union[ThotSmtParameters, StrPath],\n ) -> None:\n super().__init__(smt_model.word_alignment_model_type, corpus, config)\n self._smt_model = smt_model\n def save(self) -> None:", + "detail": "machine.translation.thot.thot_smt_model", + "documentation": {} + }, + { + "label": "ThotSmtModel", + "kind": 6, + "importPath": "machine.translation.thot.thot_smt_model", + "description": "machine.translation.thot.thot_smt_model", + "peekOfCode": "class ThotSmtModel(InteractiveTranslationModel):\n def __init__(\n self,\n word_alignment_model_type: Union[ThotWordAlignmentModelType, str],\n config: Union[ThotSmtParameters, StrPath],\n source_tokenizer: Tokenizer[str, int, str] = WHITESPACE_TOKENIZER,\n target_tokenizer: Tokenizer[str, int, str] = WHITESPACE_TOKENIZER,\n target_detokenizer: Detokenizer[str, str] = WHITESPACE_DETOKENIZER,\n lowercase_source: bool = False,\n lowercase_target: bool = False,", + "detail": "machine.translation.thot.thot_smt_model", + "documentation": {} + }, + { + "label": "ThotSmtModelTrainer", + "kind": 6, + "importPath": "machine.translation.thot.thot_smt_model_trainer", + "description": "machine.translation.thot.thot_smt_model_trainer", + "peekOfCode": "class ThotSmtModelTrainer(Trainer):\n def __init__(\n self,\n word_alignment_model_type: Union[ThotWordAlignmentModelType, str],\n corpus: ParallelTextCorpus,\n config: Optional[Union[ThotSmtParameters, StrPath]] = None,\n source_tokenizer: Tokenizer[str, int, str] = WHITESPACE_TOKENIZER,\n target_tokenizer: Tokenizer[str, int, str] = WHITESPACE_TOKENIZER,\n lowercase_source: bool = False,\n lowercase_target: bool = False,", + "detail": "machine.translation.thot.thot_smt_model_trainer", + "documentation": {} + }, + { + "label": "ModelHeuristic", + "kind": 6, + "importPath": "machine.translation.thot.thot_smt_parameters", + "description": "machine.translation.thot.thot_smt_parameters", + "peekOfCode": "class ModelHeuristic(IntEnum):\n NO_HEURISTIC = 0\n LOCAL_T = 4\n LOCAL_TD = 6\nclass LearningAlgorithm(IntEnum):\n BASIC_INCREMENTAL_TRAINING = 0\n MINIBATCH_TRAINING = 1\n BATCH_RETRAINING = 2\nclass LearningRatePolicy(IntEnum):\n FIXED = 0", + "detail": "machine.translation.thot.thot_smt_parameters", + "documentation": {} + }, + { + "label": "LearningAlgorithm", + "kind": 6, + "importPath": "machine.translation.thot.thot_smt_parameters", + "description": "machine.translation.thot.thot_smt_parameters", + "peekOfCode": "class LearningAlgorithm(IntEnum):\n BASIC_INCREMENTAL_TRAINING = 0\n MINIBATCH_TRAINING = 1\n BATCH_RETRAINING = 2\nclass LearningRatePolicy(IntEnum):\n FIXED = 0\n LIANG = 1\n OWN = 2\n WER_BASED = 3\ndef get_thot_smt_parameter(line: str) -> Tuple[str, str]:", + "detail": "machine.translation.thot.thot_smt_parameters", + "documentation": {} + }, + { + "label": "LearningRatePolicy", + "kind": 6, + "importPath": "machine.translation.thot.thot_smt_parameters", + "description": "machine.translation.thot.thot_smt_parameters", + "peekOfCode": "class LearningRatePolicy(IntEnum):\n FIXED = 0\n LIANG = 1\n OWN = 2\n WER_BASED = 3\ndef get_thot_smt_parameter(line: str) -> Tuple[str, str]:\n line = line.strip()\n if line.startswith(\"#\"):\n return \"\", \"\"\n index = line.find(\" \")", + "detail": "machine.translation.thot.thot_smt_parameters", + "documentation": {} + }, + { + "label": "ThotSmtParameters", + "kind": 6, + "importPath": "machine.translation.thot.thot_smt_parameters", + "description": "machine.translation.thot.thot_smt_parameters", + "peekOfCode": "class ThotSmtParameters:\n @classmethod\n def load(cls, config_filename: StrPath) -> ThotSmtParameters:\n parameters = ThotSmtParameters()\n config_dir = os.path.dirname(config_filename)\n with open(config_filename, \"r\", encoding=\"utf-8\") as file:\n for line in file:\n name, value = get_thot_smt_parameter(line)\n if name == \"tm\":\n if value == \"\":", + "detail": "machine.translation.thot.thot_smt_parameters", + "documentation": {} + }, + { + "label": "get_thot_smt_parameter", + "kind": 2, + "importPath": "machine.translation.thot.thot_smt_parameters", + "description": "machine.translation.thot.thot_smt_parameters", + "peekOfCode": "def get_thot_smt_parameter(line: str) -> Tuple[str, str]:\n line = line.strip()\n if line.startswith(\"#\"):\n return \"\", \"\"\n index = line.find(\" \")\n if index == -1:\n name = line\n value = \"\"\n else:\n name = line[:index]", + "detail": "machine.translation.thot.thot_smt_parameters", + "documentation": {} + }, + { + "label": "ThotSymmetrizedWordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "description": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "peekOfCode": "class ThotSymmetrizedWordAlignmentModel(SymmetrizedWordAlignmentModel):\n def __init__(\n self,\n direct_word_alignment_model: ThotWordAlignmentModel,\n inverse_word_alignment_model: ThotWordAlignmentModel,\n ) -> None:\n super().__init__(direct_word_alignment_model, inverse_word_alignment_model)\n self._reset_aligner()\n @property\n def heuristic(self) -> SymmetrizationHeuristic:", + "detail": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "documentation": {} + }, + { + "label": "_Trainer", + "kind": 6, + "importPath": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "description": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "peekOfCode": "class _Trainer(SymmetrizedWordAlignmentModelTrainer):\n def __init__(\n self, model: ThotSymmetrizedWordAlignmentModel, direct_trainer: Trainer, inverse_trainer: Trainer\n ) -> None:\n super().__init__(direct_trainer, inverse_trainer)\n self._model = model\n def save(self) -> None:\n super().save()\n self._model._reset_aligner()", + "detail": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "documentation": {} + }, + { + "label": "_MAX_BATCH_SIZE", + "kind": 5, + "importPath": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "description": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "peekOfCode": "_MAX_BATCH_SIZE = 10240\nclass ThotSymmetrizedWordAlignmentModel(SymmetrizedWordAlignmentModel):\n def __init__(\n self,\n direct_word_alignment_model: ThotWordAlignmentModel,\n inverse_word_alignment_model: ThotWordAlignmentModel,\n ) -> None:\n super().__init__(direct_word_alignment_model, inverse_word_alignment_model)\n self._reset_aligner()\n @property", + "detail": "machine.translation.thot.thot_symmetrized_word_alignment_model", + "documentation": {} + }, + { + "label": "ThotTrainProgressReporter", + "kind": 6, + "importPath": "machine.translation.thot.thot_train_progress_reporter", + "description": "machine.translation.thot.thot_train_progress_reporter", + "peekOfCode": "class ThotTrainProgressReporter(PhasedProgressReporter):\n def __init__(\n self,\n progress: Optional[Callable[[ProgressStatus], None]],\n check_canceled: Optional[Callable[[], None]],\n ) -> None:\n super().__init__(progress, _TRAIN_PHASES)\n self._check_canceled = check_canceled\n def check_canceled(self) -> None:\n if self._check_canceled is not None:", + "detail": "machine.translation.thot.thot_train_progress_reporter", + "documentation": {} + }, + { + "label": "_TRAIN_PHASES", + "kind": 5, + "importPath": "machine.translation.thot.thot_train_progress_reporter", + "description": "machine.translation.thot.thot_train_progress_reporter", + "peekOfCode": "_TRAIN_PHASES = [\n Phase(\"Training language model\", 0.01),\n Phase(\"Training direct alignment model\", 0.2),\n Phase(\"Generating best direct alignments\", report_steps=False),\n Phase(\"Training inverse alignment model\", 0.2),\n Phase(\"Generating best inverse alignments\", report_steps=False),\n Phase(\"Merging alignments\"),\n Phase(\"Generating phrase table\"),\n Phase(\"Tuning language model\"),\n Phase(\"Tuning translation model\", 0.4, report_steps=False),", + "detail": "machine.translation.thot.thot_train_progress_reporter", + "documentation": {} + }, + { + "label": "batch", + "kind": 2, + "importPath": "machine.translation.thot.thot_utils", + "description": "machine.translation.thot.thot_utils", + "peekOfCode": "def batch(\n segments: Iterable[Sequence[Sequence[str]]], batch_size: int\n) -> Iterable[Tuple[List[Sequence[str]], List[Sequence[str]]]]:\n src_segments: List[Sequence[str]] = []\n trg_segments: List[Sequence[str]] = []\n for source_segment, target_segment in segments:\n src_segments.append(list(escape_tokens(source_segment)))\n trg_segments.append(list(escape_tokens(target_segment)))\n if len(src_segments) == batch_size:\n yield src_segments, trg_segments", + "detail": "machine.translation.thot.thot_utils", + "documentation": {} + }, + { + "label": "load_smt_model", + "kind": 2, + "importPath": "machine.translation.thot.thot_utils", + "description": "machine.translation.thot.thot_utils", + "peekOfCode": "def load_smt_model(word_alignment_model_type: ThotWordAlignmentModelType, parameters: ThotSmtParameters) -> tt.SmtModel:\n if word_alignment_model_type == ThotWordAlignmentModelType.IBM1:\n model_type = ta.AlignmentModelType.INCR_IBM1\n elif word_alignment_model_type == ThotWordAlignmentModelType.IBM2:\n model_type = ta.AlignmentModelType.INCR_IBM2\n elif word_alignment_model_type == ThotWordAlignmentModelType.HMM:\n model_type = ta.AlignmentModelType.INCR_HMM\n elif word_alignment_model_type == ThotWordAlignmentModelType.FAST_ALIGN:\n model_type = ta.AlignmentModelType.FAST_ALIGN\n elif word_alignment_model_type == ThotWordAlignmentModelType.IBM3:", + "detail": "machine.translation.thot.thot_utils", + "documentation": {} + }, + { + "label": "load_smt_decoder", + "kind": 2, + "importPath": "machine.translation.thot.thot_utils", + "description": "machine.translation.thot.thot_utils", + "peekOfCode": "def load_smt_decoder(model: tt.SmtModel, parameters: ThotSmtParameters) -> tt.SmtDecoder:\n decoder = tt.SmtDecoder(model)\n decoder.s = parameters.decoder_s\n decoder.is_breadth_first = parameters.decoder_breadth_first\n return decoder\ndef escape_token(token: str) -> str:\n if token == \"|||\":\n return \"<3bars>\"\n return token\ndef escape_tokens(segment: Iterable[str]) -> Iterable[str]:", + "detail": "machine.translation.thot.thot_utils", + "documentation": {} + }, + { + "label": "escape_token", + "kind": 2, + "importPath": "machine.translation.thot.thot_utils", + "description": "machine.translation.thot.thot_utils", + "peekOfCode": "def escape_token(token: str) -> str:\n if token == \"|||\":\n return \"<3bars>\"\n return token\ndef escape_tokens(segment: Iterable[str]) -> Iterable[str]:\n return (escape_token(t) for t in segment)\ndef unescape_token(token: str) -> str:\n if token == \"<3bars>\":\n return \"|||\"\n return token", + "detail": "machine.translation.thot.thot_utils", + "documentation": {} + }, + { + "label": "escape_tokens", + "kind": 2, + "importPath": "machine.translation.thot.thot_utils", + "description": "machine.translation.thot.thot_utils", + "peekOfCode": "def escape_tokens(segment: Iterable[str]) -> Iterable[str]:\n return (escape_token(t) for t in segment)\ndef unescape_token(token: str) -> str:\n if token == \"<3bars>\":\n return \"|||\"\n return token\ndef unescape_tokens(segment: Iterable[str]) -> Iterable[str]:\n return (unescape_token(t) for t in segment)\ndef to_sentence(tokens: Iterable[str]) -> str:\n return \" \".join(escape_tokens(tokens))", + "detail": "machine.translation.thot.thot_utils", + "documentation": {} + }, + { + "label": "unescape_token", + "kind": 2, + "importPath": "machine.translation.thot.thot_utils", + "description": "machine.translation.thot.thot_utils", + "peekOfCode": "def unescape_token(token: str) -> str:\n if token == \"<3bars>\":\n return \"|||\"\n return token\ndef unescape_tokens(segment: Iterable[str]) -> Iterable[str]:\n return (unescape_token(t) for t in segment)\ndef to_sentence(tokens: Iterable[str]) -> str:\n return \" \".join(escape_tokens(tokens))\ndef to_target_tokens(target: Iterable[str]) -> Sequence[str]:\n return list(unescape_tokens(target))", + "detail": "machine.translation.thot.thot_utils", + "documentation": {} + }, + { + "label": "unescape_tokens", + "kind": 2, + "importPath": "machine.translation.thot.thot_utils", + "description": "machine.translation.thot.thot_utils", + "peekOfCode": "def unescape_tokens(segment: Iterable[str]) -> Iterable[str]:\n return (unescape_token(t) for t in segment)\ndef to_sentence(tokens: Iterable[str]) -> str:\n return \" \".join(escape_tokens(tokens))\ndef to_target_tokens(target: Iterable[str]) -> Sequence[str]:\n return list(unescape_tokens(target))", + "detail": "machine.translation.thot.thot_utils", + "documentation": {} + }, + { + "label": "to_sentence", + "kind": 2, + "importPath": "machine.translation.thot.thot_utils", + "description": "machine.translation.thot.thot_utils", + "peekOfCode": "def to_sentence(tokens: Iterable[str]) -> str:\n return \" \".join(escape_tokens(tokens))\ndef to_target_tokens(target: Iterable[str]) -> Sequence[str]:\n return list(unescape_tokens(target))", + "detail": "machine.translation.thot.thot_utils", + "documentation": {} + }, + { + "label": "to_target_tokens", + "kind": 2, + "importPath": "machine.translation.thot.thot_utils", + "description": "machine.translation.thot.thot_utils", + "peekOfCode": "def to_target_tokens(target: Iterable[str]) -> Sequence[str]:\n return list(unescape_tokens(target))", + "detail": "machine.translation.thot.thot_utils", + "documentation": {} + }, + { + "label": "ThotWordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.thot.thot_word_alignment_model", + "description": "machine.translation.thot.thot_word_alignment_model", + "peekOfCode": "class ThotWordAlignmentModel(Ibm1WordAlignmentModel):\n def __init__(self, prefix_filename: Optional[StrPath] = None, create_new: bool = False) -> None:\n self._set_model(self._create_model())\n if prefix_filename is not None:\n prefix_filename = Path(prefix_filename)\n if create_new or not (prefix_filename.parent / (prefix_filename.name + \".src\")).is_file():\n self.create_new(prefix_filename)\n else:\n self.load(prefix_filename)\n else:", + "detail": "machine.translation.thot.thot_word_alignment_model", + "documentation": {} + }, + { + "label": "_ThotWordVocabulary", + "kind": 6, + "importPath": "machine.translation.thot.thot_word_alignment_model", + "description": "machine.translation.thot.thot_word_alignment_model", + "peekOfCode": "class _ThotWordVocabulary(WordVocabulary):\n def __init__(self, model: ta.AlignmentModel, is_src: bool) -> None:\n self._model = model\n self._is_src = is_src\n def index(self, word: Optional[str]) -> int:\n if word is None:\n return 0\n word = escape_token(word)\n return self._model.get_src_word_index(word) if self._is_src else self._model.get_trg_word_index(word)\n def __getitem__(self, word_index: int) -> str:", + "detail": "machine.translation.thot.thot_word_alignment_model", + "documentation": {} + }, + { + "label": "_Trainer", + "kind": 6, + "importPath": "machine.translation.thot.thot_word_alignment_model", + "description": "machine.translation.thot.thot_word_alignment_model", + "peekOfCode": "class _Trainer(ThotWordAlignmentModelTrainer):\n def __init__(\n self, model: ThotWordAlignmentModel, corpus: ParallelTextCorpus, prefix_filename: Optional[StrPath]\n ) -> None:\n super().__init__(model.type, corpus, prefix_filename, model.parameters)\n self._machine_model = model\n def save(self) -> None:\n super().save()\n self._machine_model._set_model(self._model)\n def close(self) -> None:", + "detail": "machine.translation.thot.thot_word_alignment_model", + "documentation": {} + }, + { + "label": "_SPECIAL_SYMBOL_INDICES", + "kind": 5, + "importPath": "machine.translation.thot.thot_word_alignment_model", + "description": "machine.translation.thot.thot_word_alignment_model", + "peekOfCode": "_SPECIAL_SYMBOL_INDICES = {0, 1, 2}\n_MAX_BATCH_SIZE = 10240\nclass ThotWordAlignmentModel(Ibm1WordAlignmentModel):\n def __init__(self, prefix_filename: Optional[StrPath] = None, create_new: bool = False) -> None:\n self._set_model(self._create_model())\n if prefix_filename is not None:\n prefix_filename = Path(prefix_filename)\n if create_new or not (prefix_filename.parent / (prefix_filename.name + \".src\")).is_file():\n self.create_new(prefix_filename)\n else:", + "detail": "machine.translation.thot.thot_word_alignment_model", + "documentation": {} + }, + { + "label": "_MAX_BATCH_SIZE", + "kind": 5, + "importPath": "machine.translation.thot.thot_word_alignment_model", + "description": "machine.translation.thot.thot_word_alignment_model", + "peekOfCode": "_MAX_BATCH_SIZE = 10240\nclass ThotWordAlignmentModel(Ibm1WordAlignmentModel):\n def __init__(self, prefix_filename: Optional[StrPath] = None, create_new: bool = False) -> None:\n self._set_model(self._create_model())\n if prefix_filename is not None:\n prefix_filename = Path(prefix_filename)\n if create_new or not (prefix_filename.parent / (prefix_filename.name + \".src\")).is_file():\n self.create_new(prefix_filename)\n else:\n self.load(prefix_filename)", + "detail": "machine.translation.thot.thot_word_alignment_model", + "documentation": {} + }, + { + "label": "ThotWordAlignmentModelTrainer", + "kind": 6, + "importPath": "machine.translation.thot.thot_word_alignment_model_trainer", + "description": "machine.translation.thot.thot_word_alignment_model_trainer", + "peekOfCode": "class ThotWordAlignmentModelTrainer(Trainer):\n @overload\n def __init__(\n self,\n model_type: Union[ThotWordAlignmentModelType, str],\n corpus: ParallelTextCorpus,\n prefix_filename: Optional[StrPath],\n parameters: ThotWordAlignmentParameters = ThotWordAlignmentParameters(),\n source_tokenizer: Tokenizer[str, int, str] = WHITESPACE_TOKENIZER,\n target_tokenizer: Tokenizer[str, int, str] = WHITESPACE_TOKENIZER,", + "detail": "machine.translation.thot.thot_word_alignment_model_trainer", + "documentation": {} + }, + { + "label": "ThotWordAlignmentModelType", + "kind": 6, + "importPath": "machine.translation.thot.thot_word_alignment_model_type", + "description": "machine.translation.thot.thot_word_alignment_model_type", + "peekOfCode": "class ThotWordAlignmentModelType(IntEnum):\n FAST_ALIGN = auto()\n IBM1 = auto()\n IBM2 = auto()\n HMM = auto()\n IBM3 = auto()\n IBM4 = auto()", + "detail": "machine.translation.thot.thot_word_alignment_model_type", + "documentation": {} + }, + { + "label": "create_thot_word_alignment_model", + "kind": 2, + "importPath": "machine.translation.thot.thot_word_alignment_model_utils", + "description": "machine.translation.thot.thot_word_alignment_model_utils", + "peekOfCode": "def create_thot_word_alignment_model(\n type: Union[str, int], prefix_filename: Optional[StrPath] = None\n) -> ThotWordAlignmentModel:\n if isinstance(type, str):\n type = ThotWordAlignmentModelType[type.upper()]\n if type == ThotWordAlignmentModelType.FAST_ALIGN:\n return ThotFastAlignWordAlignmentModel(prefix_filename)\n if type == ThotWordAlignmentModelType.IBM1:\n return ThotIbm1WordAlignmentModel(prefix_filename)\n if type == ThotWordAlignmentModelType.IBM2:", + "detail": "machine.translation.thot.thot_word_alignment_model_utils", + "documentation": {} + }, + { + "label": "create_thot_symmetrized_word_alignment_model", + "kind": 2, + "importPath": "machine.translation.thot.thot_word_alignment_model_utils", + "description": "machine.translation.thot.thot_word_alignment_model_utils", + "peekOfCode": "def create_thot_symmetrized_word_alignment_model(\n type: Union[int, str],\n direct_prefix_filename: Optional[StrPath] = None,\n inverse_prefix_filename: Optional[StrPath] = None,\n) -> ThotSymmetrizedWordAlignmentModel:\n direct_model = create_thot_word_alignment_model(type, direct_prefix_filename)\n inverse_model = create_thot_word_alignment_model(type, inverse_prefix_filename)\n return ThotSymmetrizedWordAlignmentModel(direct_model, inverse_model)", + "detail": "machine.translation.thot.thot_word_alignment_model_utils", + "documentation": {} + }, + { + "label": "ThotWordAlignmentParameters", + "kind": 6, + "importPath": "machine.translation.thot.thot_word_alignment_parameters", + "description": "machine.translation.thot.thot_word_alignment_parameters", + "peekOfCode": "class ThotWordAlignmentParameters:\n ibm1_iteration_count: Optional[int] = None\n ibm2_iteration_count: Optional[int] = None\n hmm_iteration_count: Optional[int] = None\n ibm3_iteration_count: Optional[int] = None\n ibm4_iteration_count: Optional[int] = None\n fast_align_iteration_count: Optional[int] = None\n variational_bayes: Optional[bool] = None\n fast_align_p0: Optional[float] = None\n hmm_p0: Optional[float] = None", + "detail": "machine.translation.thot.thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "_WordAlignParallelTextCorpus", + "kind": 6, + "importPath": "machine.translation.corpus_ops", + "description": "machine.translation.corpus_ops", + "peekOfCode": "class _WordAlignParallelTextCorpus(ParallelTextCorpus):\n def __init__(self, corpus: ParallelTextCorpus, aligner: WordAligner, batch_size: int) -> None:\n self._corpus = corpus\n self._aligner = aligner\n self._batch_size = batch_size\n def is_source_tokenized(self) -> bool:\n return self._corpus.is_source_tokenized\n def is_target_tokenized(self) -> bool:\n return self._corpus.is_target_tokenized\n def _get_rows(self) -> Generator[ParallelTextRow, None, None]:", + "detail": "machine.translation.corpus_ops", + "documentation": {} + }, + { + "label": "_TranslateParallelTextCorpus", + "kind": 6, + "importPath": "machine.translation.corpus_ops", + "description": "machine.translation.corpus_ops", + "peekOfCode": "class _TranslateParallelTextCorpus(ParallelTextCorpus):\n def __init__(self, corpus: ParallelTextCorpus, translation_engine: TranslationEngine, batch_size: int) -> None:\n self._corpus = corpus\n self._translation_engine = translation_engine\n self._batch_size = batch_size\n def is_source_tokenized(self) -> bool:\n return self._corpus.is_source_tokenized\n def is_target_tokenized(self) -> bool:\n return self._corpus.is_target_tokenized\n def _get_rows(self) -> Generator[ParallelTextRow, None, None]:", + "detail": "machine.translation.corpus_ops", + "documentation": {} + }, + { + "label": "word_align_corpus", + "kind": 2, + "importPath": "machine.translation.corpus_ops", + "description": "machine.translation.corpus_ops", + "peekOfCode": "def word_align_corpus(\n corpus: ParallelTextCorpus,\n aligner: Union[WordAligner, int, str] = \"fast_align\",\n batch_size: int = 1024,\n symmetrization_heuristic: SymmetrizationHeuristic = SymmetrizationHeuristic.GROW_DIAG_FINAL_AND,\n progress: Optional[Callable[[ProgressStatus], None]] = None,\n) -> ParallelTextCorpus:\n if isinstance(aligner, (int, str)):\n from .thot import create_thot_symmetrized_word_alignment_model\n model = create_thot_symmetrized_word_alignment_model(aligner)", + "detail": "machine.translation.corpus_ops", + "documentation": {} + }, + { + "label": "translate_corpus", + "kind": 2, + "importPath": "machine.translation.corpus_ops", + "description": "machine.translation.corpus_ops", + "peekOfCode": "def translate_corpus(\n corpus: ParallelTextCorpus, translation_engine: TranslationEngine, batch_size: int = 1024\n) -> ParallelTextCorpus:\n return _TranslateParallelTextCorpus(corpus, translation_engine, batch_size)\nclass _WordAlignParallelTextCorpus(ParallelTextCorpus):\n def __init__(self, corpus: ParallelTextCorpus, aligner: WordAligner, batch_size: int) -> None:\n self._corpus = corpus\n self._aligner = aligner\n self._batch_size = batch_size\n def is_source_tokenized(self) -> bool:", + "detail": "machine.translation.corpus_ops", + "documentation": {} + }, + { + "label": "EcmScoreInfo", + "kind": 6, + "importPath": "machine.translation.ecm_score_info", + "description": "machine.translation.ecm_score_info", + "peekOfCode": "class EcmScoreInfo:\n def __init__(self) -> None:\n self._scores: List[float] = []\n self._operations: List[EditOperation] = []\n @property\n def scores(self) -> List[float]:\n return self._scores\n @property\n def operations(self) -> List[EditOperation]:\n return self._operations", + "detail": "machine.translation.ecm_score_info", + "documentation": {} + }, + { + "label": "EditDistance", + "kind": 6, + "importPath": "machine.translation.edit_distance", + "description": "machine.translation.edit_distance", + "peekOfCode": "class EditDistance(ABC, Generic[Seq, Item]):\n @abstractmethod\n def _get_count(self, seq: Seq) -> int: ...\n @abstractmethod\n def _get_item(self, seq: Seq, index: int) -> Item: ...\n @abstractmethod\n def _get_hit_cost(self, x: Item, y: Item, is_complete: bool) -> float: ...\n @abstractmethod\n def _get_substitution_cost(self, x: Item, y: Item, is_complete: bool) -> float: ...\n @abstractmethod", + "detail": "machine.translation.edit_distance", + "documentation": {} + }, + { + "label": "Seq", + "kind": 5, + "importPath": "machine.translation.edit_distance", + "description": "machine.translation.edit_distance", + "peekOfCode": "Seq = TypeVar(\"Seq\")\nItem = TypeVar(\"Item\")\nclass EditDistance(ABC, Generic[Seq, Item]):\n @abstractmethod\n def _get_count(self, seq: Seq) -> int: ...\n @abstractmethod\n def _get_item(self, seq: Seq, index: int) -> Item: ...\n @abstractmethod\n def _get_hit_cost(self, x: Item, y: Item, is_complete: bool) -> float: ...\n @abstractmethod", + "detail": "machine.translation.edit_distance", + "documentation": {} + }, + { + "label": "Item", + "kind": 5, + "importPath": "machine.translation.edit_distance", + "description": "machine.translation.edit_distance", + "peekOfCode": "Item = TypeVar(\"Item\")\nclass EditDistance(ABC, Generic[Seq, Item]):\n @abstractmethod\n def _get_count(self, seq: Seq) -> int: ...\n @abstractmethod\n def _get_item(self, seq: Seq, index: int) -> Item: ...\n @abstractmethod\n def _get_hit_cost(self, x: Item, y: Item, is_complete: bool) -> float: ...\n @abstractmethod\n def _get_substitution_cost(self, x: Item, y: Item, is_complete: bool) -> float: ...", + "detail": "machine.translation.edit_distance", + "documentation": {} + }, + { + "label": "EditOperation", + "kind": 6, + "importPath": "machine.translation.edit_operation", + "description": "machine.translation.edit_operation", + "peekOfCode": "class EditOperation(Enum):\n NONE = auto()\n HIT = auto()\n INSERT = auto()\n DELETE = auto()\n PREFIX_DELETE = auto()\n SUBSTITUTE = auto()", + "detail": "machine.translation.edit_operation", + "documentation": {} + }, + { + "label": "ErrorCorrectionModel", + "kind": 6, + "importPath": "machine.translation.error_correction_model", + "description": "machine.translation.error_correction_model", + "peekOfCode": "class ErrorCorrectionModel:\n def __init__(self) -> None:\n self._segment_edit_distance = SegmentEditDistance()\n self.set_error_model_parameters(voc_size=128, hit_prob=0.8, ins_factor=1, subst_factor=1, del_factor=1)\n def set_error_model_parameters(\n self, voc_size: int, hit_prob: float, ins_factor: float, subst_factor: float, del_factor: float\n ) -> None:\n if voc_size == 0:\n e = (1 - hit_prob) / (ins_factor + subst_factor + del_factor)\n else:", + "detail": "machine.translation.error_correction_model", + "documentation": {} + }, + { + "label": "ErrorCorrectionWordGraphProcessor", + "kind": 6, + "importPath": "machine.translation.error_correction_word_graph_processor", + "description": "machine.translation.error_correction_word_graph_processor", + "peekOfCode": "class ErrorCorrectionWordGraphProcessor:\n def __init__(\n self,\n ecm: ErrorCorrectionModel,\n target_detokenizer: Detokenizer[str, str],\n word_graph: WordGraph,\n ecm_weight: float = 1,\n word_graph_weight: float = 1,\n ) -> None:\n self.confidence_threshold = 0.0", + "detail": "machine.translation.error_correction_word_graph_processor", + "documentation": {} + }, + { + "label": "_Hypothesis", + "kind": 6, + "importPath": "machine.translation.error_correction_word_graph_processor", + "description": "machine.translation.error_correction_word_graph_processor", + "peekOfCode": "class _Hypothesis:\n score: float\n start_state: int\n start_arc_index: int = -1\n start_arc_word_index: int = -1\n arcs: List[WordGraphArc] = field(default_factory=list)\n def __lt__(self, other: _Hypothesis) -> bool:\n return self.score > other.score\n def __le__(self, other: _Hypothesis) -> bool:\n return self.score >= other.score", + "detail": "machine.translation.error_correction_word_graph_processor", + "documentation": {} + }, + { + "label": "compute_bleu", + "kind": 2, + "importPath": "machine.translation.evaluation", + "description": "machine.translation.evaluation", + "peekOfCode": "def compute_bleu(translations: Iterable[Sequence[str]], references: Iterable[Sequence[str]]) -> float:\n precs = [0.0] * _BLEU_N\n total = [0.0] * _BLEU_N\n trans_word_count = 0\n ref_word_count = 0\n for translation, reference in zip(translations, references):\n trans_word_count += len(translation)\n ref_word_count += len(reference)\n for n in range(1, _BLEU_N + 1):\n seg_prec, seg_total = _compute_bleu_precision(translation, reference, n)", + "detail": "machine.translation.evaluation", + "documentation": {} + }, + { + "label": "_BLEU_N", + "kind": 5, + "importPath": "machine.translation.evaluation", + "description": "machine.translation.evaluation", + "peekOfCode": "_BLEU_N = 4\ndef compute_bleu(translations: Iterable[Sequence[str]], references: Iterable[Sequence[str]]) -> float:\n precs = [0.0] * _BLEU_N\n total = [0.0] * _BLEU_N\n trans_word_count = 0\n ref_word_count = 0\n for translation, reference in zip(translations, references):\n trans_word_count += len(translation)\n ref_word_count += len(reference)\n for n in range(1, _BLEU_N + 1):", + "detail": "machine.translation.evaluation", + "documentation": {} + }, + { + "label": "FuzzyEditDistanceWordAlignmentMethod", + "kind": 6, + "importPath": "machine.translation.fuzzy_edit_distance_word_alignment_method", + "description": "machine.translation.fuzzy_edit_distance_word_alignment_method", + "peekOfCode": "class FuzzyEditDistanceWordAlignmentMethod(WordAlignmentMethod):\n def __init__(\n self, score_selector: Optional[Callable[[Sequence[str], int, Sequence[str], int], float]] = None\n ) -> None:\n self._score_selector = score_selector\n self._scorer = None if self._score_selector is None else SegmentScorer(self._score_selector)\n self.max_distance = _DEFAULT_MAX_DISTANCE\n self.alpha = _DEFAULT_ALPHA\n @property\n def score_selector(self) -> Optional[Callable[[Sequence[str], int, Sequence[str], int], float]]:", + "detail": "machine.translation.fuzzy_edit_distance_word_alignment_method", + "documentation": {} + }, + { + "label": "_DEFAULT_ALPHA", + "kind": 5, + "importPath": "machine.translation.fuzzy_edit_distance_word_alignment_method", + "description": "machine.translation.fuzzy_edit_distance_word_alignment_method", + "peekOfCode": "_DEFAULT_ALPHA = 0.2\n_DEFAULT_MAX_DISTANCE = 3\ndef _get_word_indices(sequence: Sequence[str]) -> Tuple[Iterable[int], int, int]:\n return range(len(sequence)), 0, len(sequence)\ndef _compute_distance_score(i1: int, i2: int, source_length: int) -> float:\n if source_length == 1:\n return 0.1\n return min(1.0, abs(i1 - i2) / (source_length - 1))\nclass FuzzyEditDistanceWordAlignmentMethod(WordAlignmentMethod):\n def __init__(", + "detail": "machine.translation.fuzzy_edit_distance_word_alignment_method", + "documentation": {} + }, + { + "label": "_DEFAULT_MAX_DISTANCE", + "kind": 5, + "importPath": "machine.translation.fuzzy_edit_distance_word_alignment_method", + "description": "machine.translation.fuzzy_edit_distance_word_alignment_method", + "peekOfCode": "_DEFAULT_MAX_DISTANCE = 3\ndef _get_word_indices(sequence: Sequence[str]) -> Tuple[Iterable[int], int, int]:\n return range(len(sequence)), 0, len(sequence)\ndef _compute_distance_score(i1: int, i2: int, source_length: int) -> float:\n if source_length == 1:\n return 0.1\n return min(1.0, abs(i1 - i2) / (source_length - 1))\nclass FuzzyEditDistanceWordAlignmentMethod(WordAlignmentMethod):\n def __init__(\n self, score_selector: Optional[Callable[[Sequence[str], int, Sequence[str], int], float]] = None", + "detail": "machine.translation.fuzzy_edit_distance_word_alignment_method", + "documentation": {} + }, + { + "label": "HmmWordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.hmm_word_alignment_model", + "description": "machine.translation.hmm_word_alignment_model", + "peekOfCode": "class HmmWordAlignmentModel(Ibm1WordAlignmentModel):\n @abstractmethod\n def get_alignment_probability(self, source_length: int, prev_source_index: int, source_index: int) -> float: ...\n def __enter__(self) -> HmmWordAlignmentModel:\n return self", + "detail": "machine.translation.hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "Ibm1WordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.ibm1_word_alignment_model", + "description": "machine.translation.ibm1_word_alignment_model", + "peekOfCode": "class Ibm1WordAlignmentModel(WordAlignmentModel):\n @abstractmethod\n def get_translation_probability(\n self, source_word: Optional[Union[str, int]], target_word: Optional[Union[str, int]]\n ) -> float: ...\n def __enter__(self) -> Ibm1WordAlignmentModel:\n return self", + "detail": "machine.translation.ibm1_word_alignment_model", + "documentation": {} + }, + { + "label": "Ibm1WordConfidenceEstimator", + "kind": 6, + "importPath": "machine.translation.ibm1_word_confidence_estimator", + "description": "machine.translation.ibm1_word_confidence_estimator", + "peekOfCode": "class Ibm1WordConfidenceEstimator(WordConfidenceEstimator):\n def __init__(\n self,\n get_translation_prob: Callable[[Optional[str], Optional[str]], float],\n source_tokens: Sequence[str],\n phrase_only: bool = True,\n ) -> None:\n self._get_translation_prob = get_translation_prob\n self._source_tokens = source_tokens\n self.phrase_only = phrase_only", + "detail": "machine.translation.ibm1_word_confidence_estimator", + "documentation": {} + }, + { + "label": "Ibm2WordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.ibm2_word_alignment_model", + "description": "machine.translation.ibm2_word_alignment_model", + "peekOfCode": "class Ibm2WordAlignmentModel(Ibm1WordAlignmentModel):\n @abstractmethod\n def get_alignment_probability(\n self, source_length: int, source_index: int, target_length: int, target_index: int\n ) -> float: ...\n def __enter__(self) -> Ibm2WordAlignmentModel:\n return self", + "detail": "machine.translation.ibm2_word_alignment_model", + "documentation": {} + }, + { + "label": "InteractiveTranslationEngine", + "kind": 6, + "importPath": "machine.translation.interactive_translation_engine", + "description": "machine.translation.interactive_translation_engine", + "peekOfCode": "class InteractiveTranslationEngine(TranslationEngine):\n @abstractmethod\n def get_word_graph(self, segment: Union[str, Sequence[str]]) -> WordGraph: ...\n def train_segment(\n self,\n source_segment: Union[str, Sequence[str]],\n target_segment: Union[str, Sequence[str]],\n sentence_start: bool = True,\n ) -> None: ...\n def __enter__(self) -> InteractiveTranslationEngine:", + "detail": "machine.translation.interactive_translation_engine", + "documentation": {} + }, + { + "label": "InteractiveTranslationModel", + "kind": 6, + "importPath": "machine.translation.interactive_translation_model", + "description": "machine.translation.interactive_translation_model", + "peekOfCode": "class InteractiveTranslationModel(TranslationModel, InteractiveTranslationEngine):\n def save(self) -> None: ...\n def __enter__(self) -> InteractiveTranslationModel:\n return self", + "detail": "machine.translation.interactive_translation_model", + "documentation": {} + }, + { + "label": "InteractiveTranslator", + "kind": 6, + "importPath": "machine.translation.interactive_translator", + "description": "machine.translation.interactive_translator", + "peekOfCode": "class InteractiveTranslator:\n def __init__(\n self,\n ecm: ErrorCorrectionModel,\n engine: InteractiveTranslationEngine,\n target_tokenizer: RangeTokenizer[str, int, str],\n target_detokenizer: Detokenizer[str, str],\n segment: str,\n word_graph: WordGraph,\n sentence_start: bool,", + "detail": "machine.translation.interactive_translator", + "documentation": {} + }, + { + "label": "InteractiveTranslatorFactory", + "kind": 6, + "importPath": "machine.translation.interactive_translator_factory", + "description": "machine.translation.interactive_translator_factory", + "peekOfCode": "class InteractiveTranslatorFactory:\n def __init__(\n self,\n engine: InteractiveTranslationEngine,\n target_tokenizer: RangeTokenizer[str, int, str] = WHITESPACE_TOKENIZER,\n target_detokenizer: Detokenizer[str, str] = WHITESPACE_DETOKENIZER,\n ) -> None:\n self._engine = engine\n self._ecm = ErrorCorrectionModel()\n self.target_tokenizer = target_tokenizer", + "detail": "machine.translation.interactive_translator_factory", + "documentation": {} + }, + { + "label": "NullTrainer", + "kind": 6, + "importPath": "machine.translation.null_trainer", + "description": "machine.translation.null_trainer", + "peekOfCode": "class NullTrainer(Trainer):\n def __init__(self) -> None:\n self._stats = TrainStats()\n def train(\n self,\n progress: Optional[Callable[[ProgressStatus], None]] = None,\n check_canceled: Optional[Callable[[], None]] = None,\n ) -> None:\n pass\n def save(self) -> None:", + "detail": "machine.translation.null_trainer", + "documentation": {} + }, + { + "label": "Phrase", + "kind": 6, + "importPath": "machine.translation.phrase", + "description": "machine.translation.phrase", + "peekOfCode": "class Phrase:\n source_segment_range: Range[int]\n target_segment_cut: int", + "detail": "machine.translation.phrase", + "documentation": {} + }, + { + "label": "PhraseTranslationSuggester", + "kind": 6, + "importPath": "machine.translation.phrase_translation_suggester", + "description": "machine.translation.phrase_translation_suggester", + "peekOfCode": "class PhraseTranslationSuggester(TranslationSuggester):\n def get_suggestions(\n self, n: int, prefix_count: int, is_last_word_complete: bool, results: Iterable[TranslationResult]\n ) -> Sequence[TranslationSuggestion]:\n suggestions: List[TranslationSuggestion] = []\n for result in results:\n starting_j = prefix_count\n if not is_last_word_complete:\n # if the prefix ends with a partial word and it has been completed,\n # then make sure it is included as a suggestion,", + "detail": "machine.translation.phrase_translation_suggester", + "documentation": {} + }, + { + "label": "SegmentEditDistance", + "kind": 6, + "importPath": "machine.translation.segment_edit_distance", + "description": "machine.translation.segment_edit_distance", + "peekOfCode": "class SegmentEditDistance(EditDistance[Sequence[str], str]):\n def __init__(self) -> None:\n self._word_edit_distance = WordEditDistance()\n @property\n def hit_cost(self) -> float:\n return self._word_edit_distance.hit_cost\n @hit_cost.setter\n def hit_cost(self, cost: float) -> None:\n self._word_edit_distance.hit_cost = cost\n @property", + "detail": "machine.translation.segment_edit_distance", + "documentation": {} + }, + { + "label": "SegmentScorer", + "kind": 6, + "importPath": "machine.translation.segment_scorer", + "description": "machine.translation.segment_scorer", + "peekOfCode": "class SegmentScorer(PairwiseAlignmentScorer[Sequence[str], int]):\n def __init__(self, score_selector: Callable[[Sequence[str], int, Sequence[str], int], float]) -> None:\n self._score_selector = score_selector\n def get_gap_penalty(self, sequence1: Sequence[str], sequence2: Sequence[str]) -> int:\n return -(MAX_VALUE // 10)\n def get_insertion_score(self, sequence1: Sequence[str], p: Optional[int], sequence2: Sequence[str], q: int) -> int:\n return int(self._score_selector(sequence1, -1, sequence2, q) * MAX_VALUE)\n def get_deletion_score(self, sequence1: Sequence[str], p: int, sequence2: Sequence[str], q: Optional[int]) -> int:\n return int(self._score_selector(sequence1, p, sequence2, -1) * MAX_VALUE)\n def get_substitution_score(self, sequence1: Sequence[str], p: int, sequence2: Sequence[str], q: int) -> int:", + "detail": "machine.translation.segment_scorer", + "documentation": {} + }, + { + "label": "MAX_VALUE", + "kind": 5, + "importPath": "machine.translation.segment_scorer", + "description": "machine.translation.segment_scorer", + "peekOfCode": "MAX_VALUE = 100000\nclass SegmentScorer(PairwiseAlignmentScorer[Sequence[str], int]):\n def __init__(self, score_selector: Callable[[Sequence[str], int, Sequence[str], int], float]) -> None:\n self._score_selector = score_selector\n def get_gap_penalty(self, sequence1: Sequence[str], sequence2: Sequence[str]) -> int:\n return -(MAX_VALUE // 10)\n def get_insertion_score(self, sequence1: Sequence[str], p: Optional[int], sequence2: Sequence[str], q: int) -> int:\n return int(self._score_selector(sequence1, -1, sequence2, q) * MAX_VALUE)\n def get_deletion_score(self, sequence1: Sequence[str], p: int, sequence2: Sequence[str], q: Optional[int]) -> int:\n return int(self._score_selector(sequence1, p, sequence2, -1) * MAX_VALUE)", + "detail": "machine.translation.segment_scorer", + "documentation": {} + }, + { + "label": "SymmetrizationHeuristic", + "kind": 6, + "importPath": "machine.translation.symmetrization_heuristic", + "description": "machine.translation.symmetrization_heuristic", + "peekOfCode": "class SymmetrizationHeuristic(Enum):\n NONE = auto()\n UNION = auto()\n INTERSECTION = auto()\n OCH = auto()\n GROW = auto()\n GROW_DIAG = auto()\n GROW_DIAG_FINAL = auto()\n GROW_DIAG_FINAL_AND = auto()", + "detail": "machine.translation.symmetrization_heuristic", + "documentation": {} + }, + { + "label": "SymmetrizedWordAligner", + "kind": 6, + "importPath": "machine.translation.symmetrized_word_aligner", + "description": "machine.translation.symmetrized_word_aligner", + "peekOfCode": "class SymmetrizedWordAligner(WordAligner):\n def __init__(self, src_trg_aligner: WordAligner, trg_src_aligner: WordAligner) -> None:\n self._src_trg_aligner = src_trg_aligner\n self._trg_src_aligner = trg_src_aligner\n self._heuristic = SymmetrizationHeuristic.OCH\n @property\n def heuristic(self) -> SymmetrizationHeuristic:\n return self._heuristic\n @heuristic.setter\n def heuristic(self, value: SymmetrizationHeuristic) -> None:", + "detail": "machine.translation.symmetrized_word_aligner", + "documentation": {} + }, + { + "label": "SymmetrizedWordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.symmetrized_word_alignment_model", + "description": "machine.translation.symmetrized_word_alignment_model", + "peekOfCode": "class SymmetrizedWordAlignmentModel(SymmetrizedWordAligner, WordAlignmentModel):\n def __init__(\n self,\n direct_word_alignment_model: WordAlignmentModel,\n inverse_word_alignment_model: WordAlignmentModel,\n ) -> None:\n super().__init__(direct_word_alignment_model, inverse_word_alignment_model)\n self._direct_word_alignment_model = direct_word_alignment_model\n self._inverse_word_alignment_model = inverse_word_alignment_model\n @property", + "detail": "machine.translation.symmetrized_word_alignment_model", + "documentation": {} + }, + { + "label": "SymmetrizedWordAlignmentModelTrainer", + "kind": 6, + "importPath": "machine.translation.symmetrized_word_alignment_model_trainer", + "description": "machine.translation.symmetrized_word_alignment_model_trainer", + "peekOfCode": "class SymmetrizedWordAlignmentModelTrainer(Trainer):\n def __init__(self, direct_trainer: Trainer, inverse_trainer: Trainer) -> None:\n self._direct_trainer = direct_trainer\n self._inverse_trainer = inverse_trainer\n @property\n def stats(self) -> TrainStats:\n return self._direct_trainer.stats\n def train(\n self,\n progress: Optional[Callable[[ProgressStatus], None]] = None,", + "detail": "machine.translation.symmetrized_word_alignment_model_trainer", + "documentation": {} + }, + { + "label": "TrainStats", + "kind": 6, + "importPath": "machine.translation.trainer", + "description": "machine.translation.trainer", + "peekOfCode": "class TrainStats:\n def __init__(self) -> None:\n self.train_corpus_size: int = 0\n self._metrics: Dict[str, float] = {}\n @property\n def metrics(self) -> Dict[str, float]:\n return self._metrics\nclass Trainer(ContextManager[\"Trainer\"]):\n @abstractmethod\n def train(", + "detail": "machine.translation.trainer", + "documentation": {} + }, + { + "label": "Trainer", + "kind": 6, + "importPath": "machine.translation.trainer", + "description": "machine.translation.trainer", + "peekOfCode": "class Trainer(ContextManager[\"Trainer\"]):\n @abstractmethod\n def train(\n self,\n progress: Optional[Callable[[ProgressStatus], None]] = None,\n check_canceled: Optional[Callable[[], None]] = None,\n ) -> None: ...\n @abstractmethod\n def save(self) -> None: ...\n @property", + "detail": "machine.translation.trainer", + "documentation": {} + }, + { + "label": "MAX_SEGMENT_LENGTH", + "kind": 5, + "importPath": "machine.translation.translation_constants", + "description": "machine.translation.translation_constants", + "peekOfCode": "MAX_SEGMENT_LENGTH = 200", + "detail": "machine.translation.translation_constants", + "documentation": {} + }, + { + "label": "TranslationEngine", + "kind": 6, + "importPath": "machine.translation.translation_engine", + "description": "machine.translation.translation_engine", + "peekOfCode": "class TranslationEngine:\n @abstractmethod\n def translate(self, segment: Union[str, Sequence[str]]) -> TranslationResult: ...\n @abstractmethod\n def translate_n(self, n: int, segment: Union[str, Sequence[str]]) -> Sequence[TranslationResult]: ...\n @abstractmethod\n def translate_batch(self, segments: Sequence[Union[str, Sequence[str]]]) -> Sequence[TranslationResult]: ...\n @abstractmethod\n def translate_n_batch(\n self, n: int, segments: Sequence[Union[str, Sequence[str]]]", + "detail": "machine.translation.translation_engine", + "documentation": {} + }, + { + "label": "TranslationModel", + "kind": 6, + "importPath": "machine.translation.translation_model", + "description": "machine.translation.translation_model", + "peekOfCode": "class TranslationModel(TranslationEngine):\n @abstractmethod\n def create_trainer(self, corpus: ParallelTextCorpus) -> Trainer: ...\n def __enter__(self) -> TranslationModel:\n return self", + "detail": "machine.translation.translation_model", + "documentation": {} + }, + { + "label": "TranslationResult", + "kind": 6, + "importPath": "machine.translation.translation_result", + "description": "machine.translation.translation_result", + "peekOfCode": "class TranslationResult:\n def __init__(\n self,\n translation: str,\n source_tokens: Iterable[str],\n target_tokens: Iterable[str],\n confidences: Iterable[float],\n sources: Iterable[TranslationSources],\n alignment: WordAlignmentMatrix,\n phrases: Iterable[Phrase],", + "detail": "machine.translation.translation_result", + "documentation": {} + }, + { + "label": "PhraseInfo", + "kind": 6, + "importPath": "machine.translation.translation_result_builder", + "description": "machine.translation.translation_result_builder", + "peekOfCode": "class PhraseInfo:\n source_segment_range: Range[int]\n target_cut: int\n alignment: WordAlignmentMatrix\nclass TranslationResultBuilder:\n def __init__(\n self, source_tokens: Sequence[str], target_detokenizer: Detokenizer[str, str] = WHITESPACE_DETOKENIZER\n ) -> None:\n self._source_tokens = source_tokens\n self.target_detokenizer = target_detokenizer", + "detail": "machine.translation.translation_result_builder", + "documentation": {} + }, + { + "label": "TranslationResultBuilder", + "kind": 6, + "importPath": "machine.translation.translation_result_builder", + "description": "machine.translation.translation_result_builder", + "peekOfCode": "class TranslationResultBuilder:\n def __init__(\n self, source_tokens: Sequence[str], target_detokenizer: Detokenizer[str, str] = WHITESPACE_DETOKENIZER\n ) -> None:\n self._source_tokens = source_tokens\n self.target_detokenizer = target_detokenizer\n self._target_tokens: List[str] = []\n self._confidences: List[float] = []\n self._sources: List[TranslationSources] = []\n self._phrases: List[PhraseInfo] = []", + "detail": "machine.translation.translation_result_builder", + "documentation": {} + }, + { + "label": "TranslationSources", + "kind": 6, + "importPath": "machine.translation.translation_sources", + "description": "machine.translation.translation_sources", + "peekOfCode": "class TranslationSources(Flag):\n NONE = 0\n SMT = auto()\n TRANSFER = auto()\n PREFIX = auto()\n NMT = auto()", + "detail": "machine.translation.translation_sources", + "documentation": {} + }, + { + "label": "TranslationSuggester", + "kind": 6, + "importPath": "machine.translation.translation_suggester", + "description": "machine.translation.translation_suggester", + "peekOfCode": "class TranslationSuggester(ABC):\n def __init__(self, confidence_threshold: float = 0, break_on_punctuation: bool = True) -> None:\n self.confidence_threshold = confidence_threshold\n self.break_on_punctuation = break_on_punctuation\n @abstractmethod\n def get_suggestions(\n self, n: int, prefix_count: int, is_last_word_complete: bool, results: Iterable[TranslationResult]\n ) -> Sequence[TranslationSuggestion]: ...", + "detail": "machine.translation.translation_suggester", + "documentation": {} + }, + { + "label": "TranslationSuggestion", + "kind": 6, + "importPath": "machine.translation.translation_suggestion", + "description": "machine.translation.translation_suggestion", + "peekOfCode": "class TranslationSuggestion:\n result: TranslationResult\n target_word_indices: Sequence[int] = field(default_factory=list)\n confidence: float = 0\n @property\n def target_words(self) -> Iterable[str]:\n return (self.result.target_tokens[i] for i in self.target_word_indices)", + "detail": "machine.translation.translation_suggestion", + "documentation": {} + }, + { + "label": "Truecaser", + "kind": 6, + "importPath": "machine.translation.truecaser", + "description": "machine.translation.truecaser", + "peekOfCode": "class Truecaser(ABC):\n @abstractmethod\n def create_trainer(self, corpus: TextCorpus) -> Trainer: ...\n @abstractmethod\n def train_segment(self, segment: Sequence[str], sentence_start: bool = True) -> None: ...\n @abstractmethod\n def truecase(self, segment: Sequence[str]) -> Sequence[str]: ...\n @abstractmethod\n def save(self) -> None: ...", + "detail": "machine.translation.truecaser", + "documentation": {} + }, + { + "label": "UnigramTruecaser", + "kind": 6, + "importPath": "machine.translation.unigram_truecaser", + "description": "machine.translation.unigram_truecaser", + "peekOfCode": "class UnigramTruecaser(Truecaser):\n def __init__(self, model_path: Optional[StrPath] = None):\n self._model_path: Optional[StrPath] = model_path\n self._casing = ConditionalFrequencyDistribution()\n self._bestTokens: Dict[str, Tuple[str, int]] = {}\n if model_path is not None and model_path != \"\":\n self.load(model_path)\n def load(self, model_path: StrPath):\n self._reset()\n self._model_path = model_path", + "detail": "machine.translation.unigram_truecaser", + "documentation": {} + }, + { + "label": "UnigramTruecaserTrainer", + "kind": 6, + "importPath": "machine.translation.unigram_truecaser", + "description": "machine.translation.unigram_truecaser", + "peekOfCode": "class UnigramTruecaserTrainer(Trainer):\n def __init__(\n self,\n model_path: Optional[StrPath],\n corpus: TextCorpus,\n tokenizer: Tokenizer[str, int, str] = WHITESPACE_TOKENIZER,\n ):\n self._corpus = corpus\n self._model_path = model_path\n self._new_truecaser = UnigramTruecaser()", + "detail": "machine.translation.unigram_truecaser", + "documentation": {} + }, + { + "label": "_Trainer", + "kind": 6, + "importPath": "machine.translation.unigram_truecaser", + "description": "machine.translation.unigram_truecaser", + "peekOfCode": "class _Trainer(UnigramTruecaserTrainer):\n def __init__(self, truecaser: UnigramTruecaser, corpus: TextCorpus) -> None:\n super().__init__(None, corpus)\n self._truecaser = truecaser\n def save(self) -> None:\n self._truecaser._casing = self._new_truecaser._casing\n self._truecaser._bestTokens = self._new_truecaser._bestTokens\n self._truecaser.save(self._model_path)", + "detail": "machine.translation.unigram_truecaser", + "documentation": {} + }, + { + "label": "WordAligner", + "kind": 6, + "importPath": "machine.translation.word_aligner", + "description": "machine.translation.word_aligner", + "peekOfCode": "class WordAligner(ABC):\n @abstractmethod\n def align(self, source_segment: Sequence[str], target_segment: Sequence[str]) -> WordAlignmentMatrix: ...\n @abstractmethod\n def align_batch(self, segments: Sequence[Sequence[Sequence[str]]]) -> Sequence[WordAlignmentMatrix]: ...\n def align_parallel_text_row(self, row: ParallelTextRow) -> WordAlignmentMatrix:\n alignment = self.align(row.source_segment, row.target_segment)\n known_alignment = WordAlignmentMatrix.from_parallel_text_row(row)\n if known_alignment is not None:\n known_alignment.priority_symmetrize_with(alignment)", + "detail": "machine.translation.word_aligner", + "documentation": {} + }, + { + "label": "WordAlignmentMatrix", + "kind": 6, + "importPath": "machine.translation.word_alignment_matrix", + "description": "machine.translation.word_alignment_matrix", + "peekOfCode": "class WordAlignmentMatrix:\n @classmethod\n def from_parallel_text_row(cls, row: ParallelTextRow) -> Optional[WordAlignmentMatrix]:\n if row.aligned_word_pairs is None:\n return None\n return cls.from_word_pairs(len(row.source_segment), len(row.target_segment), row.aligned_word_pairs)\n @classmethod\n def from_word_pairs(\n cls,\n row_count: int,", + "detail": "machine.translation.word_alignment_matrix", + "documentation": {} + }, + { + "label": "WordAlignmentMethod", + "kind": 6, + "importPath": "machine.translation.word_alignment_method", + "description": "machine.translation.word_alignment_method", + "peekOfCode": "class WordAlignmentMethod(WordAligner):\n @property\n @abstractmethod\n def score_selector(self) -> Optional[Callable[[Sequence[str], int, Sequence[str], int], float]]: ...\n @score_selector.setter\n @abstractmethod\n def score_selector(self, value: Optional[Callable[[Sequence[str], int, Sequence[str], int], float]]) -> None: ...", + "detail": "machine.translation.word_alignment_method", + "documentation": {} + }, + { + "label": "WordAlignmentModel", + "kind": 6, + "importPath": "machine.translation.word_alignment_model", + "description": "machine.translation.word_alignment_model", + "peekOfCode": "class WordAlignmentModel(ContextManager[\"WordAlignmentModel\"], WordAligner):\n @property\n @abstractmethod\n def source_words(self) -> WordVocabulary: ...\n @property\n @abstractmethod\n def target_words(self) -> WordVocabulary: ...\n @property\n @abstractmethod\n def special_symbol_indices(self) -> Collection[int]: ...", + "detail": "machine.translation.word_alignment_model", + "documentation": {} + }, + { + "label": "WordConfidenceEstimator", + "kind": 6, + "importPath": "machine.translation.word_confidence_estimator", + "description": "machine.translation.word_confidence_estimator", + "peekOfCode": "class WordConfidenceEstimator(ABC):\n @abstractmethod\n def estimate(self, source_segment_range: Range[int], target_word: str) -> float: ...", + "detail": "machine.translation.word_confidence_estimator", + "documentation": {} + }, + { + "label": "WordEditDistance", + "kind": 6, + "importPath": "machine.translation.word_edit_distance", + "description": "machine.translation.word_edit_distance", + "peekOfCode": "class WordEditDistance(EditDistance[str, str]):\n def __init__(self) -> None:\n self.hit_cost = 0.0\n self.insertion_cost = 0.0\n self.deletion_cost = 0.0\n self.substitution_cost = 0.0\n def compute(self, x: str, y: str) -> Tuple[float, Iterable[EditOperation]]:\n dist, dist_matrix = self._compute_dist_matrix(x, y, is_last_item_complete=True, use_prefix_del_op=False)\n ops = self._get_operations(\n x,", + "detail": "machine.translation.word_edit_distance", + "documentation": {} + }, + { + "label": "StateInfo", + "kind": 6, + "importPath": "machine.translation.word_graph", + "description": "machine.translation.word_graph", + "peekOfCode": "class StateInfo:\n prev_arc_indices: List[int] = field(default_factory=list)\n next_arc_indices: List[int] = field(default_factory=list)\nclass WordGraph:\n def __init__(\n self,\n source_tokens: Iterable[str],\n arcs: Iterable[WordGraphArc] = [],\n final_states: Iterable[int] = [],\n initial_state_score: float = 0,", + "detail": "machine.translation.word_graph", + "documentation": {} + }, + { + "label": "WordGraph", + "kind": 6, + "importPath": "machine.translation.word_graph", + "description": "machine.translation.word_graph", + "peekOfCode": "class WordGraph:\n def __init__(\n self,\n source_tokens: Iterable[str],\n arcs: Iterable[WordGraphArc] = [],\n final_states: Iterable[int] = [],\n initial_state_score: float = 0,\n ) -> None:\n self._source_tokens = list(source_tokens)\n self._states: Dict[int, StateInfo] = {}", + "detail": "machine.translation.word_graph", + "documentation": {} + }, + { + "label": "WORD_GRAPH_INITIAL_STATE", + "kind": 5, + "importPath": "machine.translation.word_graph", + "description": "machine.translation.word_graph", + "peekOfCode": "WORD_GRAPH_INITIAL_STATE = 0\n@dataclass(frozen=True)\nclass StateInfo:\n prev_arc_indices: List[int] = field(default_factory=list)\n next_arc_indices: List[int] = field(default_factory=list)\nclass WordGraph:\n def __init__(\n self,\n source_tokens: Iterable[str],\n arcs: Iterable[WordGraphArc] = [],", + "detail": "machine.translation.word_graph", + "documentation": {} + }, + { + "label": "WordGraphArc", + "kind": 6, + "importPath": "machine.translation.word_graph_arc", + "description": "machine.translation.word_graph_arc", + "peekOfCode": "class WordGraphArc:\n def __init__(\n self,\n prev_state: int,\n next_state: int,\n score: float,\n target_tokens: Iterable[str],\n alignment: WordAlignmentMatrix,\n source_segment_range: Range[int],\n sources: Iterable[TranslationSources],", + "detail": "machine.translation.word_graph_arc", + "documentation": {} + }, + { + "label": "WordVocabulary", + "kind": 6, + "importPath": "machine.translation.word_vocabulary", + "description": "machine.translation.word_vocabulary", + "peekOfCode": "class WordVocabulary(ABC, Sequence[str]):\n @abstractmethod\n def index(self, word: Optional[str]) -> int: ...", + "detail": "machine.translation.word_vocabulary", + "documentation": {} + }, + { + "label": "CanceledError", + "kind": 6, + "importPath": "machine.utils.canceled_error", + "description": "machine.utils.canceled_error", + "peekOfCode": "class CanceledError(Exception):\n \"\"\"\n This exception is raised when the user cancels an operation.\n \"\"\"\n pass", + "detail": "machine.utils.canceled_error", + "documentation": {} + }, + { + "label": "Comparable", + "kind": 6, + "importPath": "machine.utils.comparable", + "description": "machine.utils.comparable", + "peekOfCode": "class Comparable(ABC):\n @abstractmethod\n def compare_to(self, other: object) -> int: ...\n def __eq__(self, other: object) -> bool:\n try:\n return self.compare_to(other) == 0\n except TypeError:\n return NotImplemented\n def __lt__(self, other: object) -> bool:\n try:", + "detail": "machine.utils.comparable", + "documentation": {} + }, + { + "label": "compare", + "kind": 2, + "importPath": "machine.utils.comparable", + "description": "machine.utils.comparable", + "peekOfCode": "def compare(x: T, y: T) -> int:\n if isinstance(x, Comparable):\n return x.compare_to(y)\n if x < y:\n return -1\n if x > y:\n return 1\n return 0", + "detail": "machine.utils.comparable", + "documentation": {} + }, + { + "label": "T", + "kind": 5, + "importPath": "machine.utils.comparable", + "description": "machine.utils.comparable", + "peekOfCode": "T = TypeVar(\"T\", str, int, float, Comparable)\ndef compare(x: T, y: T) -> int:\n if isinstance(x, Comparable):\n return x.compare_to(y)\n if x < y:\n return -1\n if x > y:\n return 1\n return 0", + "detail": "machine.utils.comparable", + "documentation": {} + }, + { + "label": "ContextManagedGenerator", + "kind": 6, + "importPath": "machine.utils.context_managed_generator", + "description": "machine.utils.context_managed_generator", + "peekOfCode": "class ContextManagedGenerator(ContextManager[Generator[T_co, T_contra, V_co]], Generator[T_co, T_contra, V_co]):\n def __init__(self, generator: Generator[T_co, T_contra, V_co]) -> None:\n self._generator = generator\n def __next__(self) -> T_co:\n return self._generator.__next__()\n def __iter__(self) -> Generator[T_co, T_contra, V_co]:\n return self._generator.__iter__()\n def send(self, value: T_contra) -> T_co:\n return self._generator.send(value)\n def throw(self, type: Any, value: Any = None, traceback: Any = None) -> T_co:", + "detail": "machine.utils.context_managed_generator", + "documentation": {} + }, + { + "label": "T_co", + "kind": 5, + "importPath": "machine.utils.context_managed_generator", + "description": "machine.utils.context_managed_generator", + "peekOfCode": "T_co = TypeVar(\"T_co\")\nT_contra = TypeVar(\"T_contra\")\nV_co = TypeVar(\"V_co\")\nclass ContextManagedGenerator(ContextManager[Generator[T_co, T_contra, V_co]], Generator[T_co, T_contra, V_co]):\n def __init__(self, generator: Generator[T_co, T_contra, V_co]) -> None:\n self._generator = generator\n def __next__(self) -> T_co:\n return self._generator.__next__()\n def __iter__(self) -> Generator[T_co, T_contra, V_co]:\n return self._generator.__iter__()", + "detail": "machine.utils.context_managed_generator", + "documentation": {} + }, + { + "label": "T_contra", + "kind": 5, + "importPath": "machine.utils.context_managed_generator", + "description": "machine.utils.context_managed_generator", + "peekOfCode": "T_contra = TypeVar(\"T_contra\")\nV_co = TypeVar(\"V_co\")\nclass ContextManagedGenerator(ContextManager[Generator[T_co, T_contra, V_co]], Generator[T_co, T_contra, V_co]):\n def __init__(self, generator: Generator[T_co, T_contra, V_co]) -> None:\n self._generator = generator\n def __next__(self) -> T_co:\n return self._generator.__next__()\n def __iter__(self) -> Generator[T_co, T_contra, V_co]:\n return self._generator.__iter__()\n def send(self, value: T_contra) -> T_co:", + "detail": "machine.utils.context_managed_generator", + "documentation": {} + }, + { + "label": "V_co", + "kind": 5, + "importPath": "machine.utils.context_managed_generator", + "description": "machine.utils.context_managed_generator", + "peekOfCode": "V_co = TypeVar(\"V_co\")\nclass ContextManagedGenerator(ContextManager[Generator[T_co, T_contra, V_co]], Generator[T_co, T_contra, V_co]):\n def __init__(self, generator: Generator[T_co, T_contra, V_co]) -> None:\n self._generator = generator\n def __next__(self) -> T_co:\n return self._generator.__next__()\n def __iter__(self) -> Generator[T_co, T_contra, V_co]:\n return self._generator.__iter__()\n def send(self, value: T_contra) -> T_co:\n return self._generator.send(value)", + "detail": "machine.utils.context_managed_generator", + "documentation": {} + }, + { + "label": "detect_encoding", + "kind": 2, + "importPath": "machine.utils.file_utils", + "description": "machine.utils.file_utils", + "peekOfCode": "def detect_encoding(filename: StrPath) -> str:\n match = from_path(cast(PathLike, filename)).best()\n if match is None:\n return \"utf-8\"\n return match.encoding\ndef detect_encoding_from_stream(stream: IO[bytes]) -> str:\n match = from_fp(cast(BinaryIO, stream)).best()\n if match is None:\n return \"utf-8\"\n return match.encoding", + "detail": "machine.utils.file_utils", + "documentation": {} + }, + { + "label": "detect_encoding_from_stream", + "kind": 2, + "importPath": "machine.utils.file_utils", + "description": "machine.utils.file_utils", + "peekOfCode": "def detect_encoding_from_stream(stream: IO[bytes]) -> str:\n match = from_fp(cast(BinaryIO, stream)).best()\n if match is None:\n return \"utf-8\"\n return match.encoding", + "detail": "machine.utils.file_utils", + "documentation": {} + }, + { + "label": "is_torch_available", + "kind": 2, + "importPath": "machine.utils.packages", + "description": "machine.utils.packages", + "peekOfCode": "def is_torch_available() -> bool:\n return find_spec(\"torch\") is not None\ndef is_transformers_available() -> bool:\n return find_spec(\"transformers\") is not None\ndef is_thot_available() -> bool:\n return find_spec(\"thot\") is not None\ndef is_opennmt_available() -> bool:\n return find_spec(\"opennmt\") is not None\ndef is_tensorflow_available() -> bool:\n return find_spec(\"tensorflow\") is not None", + "detail": "machine.utils.packages", + "documentation": {} + }, + { + "label": "is_transformers_available", + "kind": 2, + "importPath": "machine.utils.packages", + "description": "machine.utils.packages", + "peekOfCode": "def is_transformers_available() -> bool:\n return find_spec(\"transformers\") is not None\ndef is_thot_available() -> bool:\n return find_spec(\"thot\") is not None\ndef is_opennmt_available() -> bool:\n return find_spec(\"opennmt\") is not None\ndef is_tensorflow_available() -> bool:\n return find_spec(\"tensorflow\") is not None\ndef is_sentencepiece_available() -> bool:\n return find_spec(\"sentencepiece\") is not None", + "detail": "machine.utils.packages", + "documentation": {} + }, + { + "label": "is_thot_available", + "kind": 2, + "importPath": "machine.utils.packages", + "description": "machine.utils.packages", + "peekOfCode": "def is_thot_available() -> bool:\n return find_spec(\"thot\") is not None\ndef is_opennmt_available() -> bool:\n return find_spec(\"opennmt\") is not None\ndef is_tensorflow_available() -> bool:\n return find_spec(\"tensorflow\") is not None\ndef is_sentencepiece_available() -> bool:\n return find_spec(\"sentencepiece\") is not None", + "detail": "machine.utils.packages", + "documentation": {} + }, + { + "label": "is_opennmt_available", + "kind": 2, + "importPath": "machine.utils.packages", + "description": "machine.utils.packages", + "peekOfCode": "def is_opennmt_available() -> bool:\n return find_spec(\"opennmt\") is not None\ndef is_tensorflow_available() -> bool:\n return find_spec(\"tensorflow\") is not None\ndef is_sentencepiece_available() -> bool:\n return find_spec(\"sentencepiece\") is not None", + "detail": "machine.utils.packages", + "documentation": {} + }, + { + "label": "is_tensorflow_available", + "kind": 2, + "importPath": "machine.utils.packages", + "description": "machine.utils.packages", + "peekOfCode": "def is_tensorflow_available() -> bool:\n return find_spec(\"tensorflow\") is not None\ndef is_sentencepiece_available() -> bool:\n return find_spec(\"sentencepiece\") is not None", + "detail": "machine.utils.packages", + "documentation": {} + }, + { + "label": "is_sentencepiece_available", + "kind": 2, + "importPath": "machine.utils.packages", + "description": "machine.utils.packages", + "peekOfCode": "def is_sentencepiece_available() -> bool:\n return find_spec(\"sentencepiece\") is not None", + "detail": "machine.utils.packages", + "documentation": {} + }, + { + "label": "Phase", + "kind": 6, + "importPath": "machine.utils.phased_progress_reporter", + "description": "machine.utils.phased_progress_reporter", + "peekOfCode": "class Phase:\n message: Optional[str] = None\n percentage: float = 0\n report_steps: bool = True\nclass PhaseProgress(ContextManager[Callable[[ProgressStatus], None]]):\n def __init__(self, reporter: PhasedProgressReporter, phase: Phase) -> None:\n self._reporter = reporter\n self._phase = phase\n self._percent_completed = 0.0\n self._step = 0", + "detail": "machine.utils.phased_progress_reporter", + "documentation": {} + }, + { + "label": "PhaseProgress", + "kind": 6, + "importPath": "machine.utils.phased_progress_reporter", + "description": "machine.utils.phased_progress_reporter", + "peekOfCode": "class PhaseProgress(ContextManager[Callable[[ProgressStatus], None]]):\n def __init__(self, reporter: PhasedProgressReporter, phase: Phase) -> None:\n self._reporter = reporter\n self._phase = phase\n self._percent_completed = 0.0\n self._step = 0\n self._reporter._report(ProgressStatus(self._step, self._percent_completed))\n @property\n def phase(self) -> Phase:\n return self._phase", + "detail": "machine.utils.phased_progress_reporter", + "documentation": {} + }, + { + "label": "PhasedProgressReporter", + "kind": 6, + "importPath": "machine.utils.phased_progress_reporter", + "description": "machine.utils.phased_progress_reporter", + "peekOfCode": "class PhasedProgressReporter:\n def __init__(self, progress: Optional[Callable[[ProgressStatus], None]], phases: Iterable[Phase]) -> None:\n self._progress = progress\n self._phases = list(phases)\n sum = 0\n unspecified_count = 0\n for phase in self._phases:\n sum += phase.percentage\n if phase.percentage == 0:\n unspecified_count += 1", + "detail": "machine.utils.phased_progress_reporter", + "documentation": {} + }, + { + "label": "ProgressStatus", + "kind": 6, + "importPath": "machine.utils.progress_status", + "description": "machine.utils.progress_status", + "peekOfCode": "class ProgressStatus:\n @classmethod\n def from_step(cls, step: int, step_count: int, message: Optional[str] = None) -> ProgressStatus:\n return ProgressStatus(step, 1.0 if step_count == 0 else (step / step_count), message)\n step: int\n percent_completed: Optional[float] = None\n message: Optional[str] = None", + "detail": "machine.utils.progress_status", + "documentation": {} + }, + { + "label": "is_sentence_terminal", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def is_sentence_terminal(s: str) -> bool:\n return len(s) > 0 and all(c in SENTENCE_TERMINALS for c in s)\ndef is_delayed_sentence_start(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_START for c in s)\ndef is_delayed_sentence_end(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_END for c in s)\ndef is_punctuation(c: str) -> bool:\n category = unicodedata.category(c)\n return category.startswith(\"P\")\ndef is_symbol(c: str) -> bool:", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "is_delayed_sentence_start", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def is_delayed_sentence_start(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_START for c in s)\ndef is_delayed_sentence_end(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_END for c in s)\ndef is_punctuation(c: str) -> bool:\n category = unicodedata.category(c)\n return category.startswith(\"P\")\ndef is_symbol(c: str) -> bool:\n category = unicodedata.category(c)\n return category.startswith(\"S\")", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "is_delayed_sentence_end", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def is_delayed_sentence_end(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_END for c in s)\ndef is_punctuation(c: str) -> bool:\n category = unicodedata.category(c)\n return category.startswith(\"P\")\ndef is_symbol(c: str) -> bool:\n category = unicodedata.category(c)\n return category.startswith(\"S\")\ndef is_control(c: str) -> bool:\n category = unicodedata.category(c)", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "is_punctuation", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def is_punctuation(c: str) -> bool:\n category = unicodedata.category(c)\n return category.startswith(\"P\")\ndef is_symbol(c: str) -> bool:\n category = unicodedata.category(c)\n return category.startswith(\"S\")\ndef is_control(c: str) -> bool:\n category = unicodedata.category(c)\n return category == \"Cc\"\ndef is_currency_symbol(c: str) -> bool:", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "is_symbol", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def is_symbol(c: str) -> bool:\n category = unicodedata.category(c)\n return category.startswith(\"S\")\ndef is_control(c: str) -> bool:\n category = unicodedata.category(c)\n return category == \"Cc\"\ndef is_currency_symbol(c: str) -> bool:\n category = unicodedata.category(c)\n return category == \"Sc\"\ndef is_integer(s: str) -> bool:", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "is_control", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def is_control(c: str) -> bool:\n category = unicodedata.category(c)\n return category == \"Cc\"\ndef is_currency_symbol(c: str) -> bool:\n category = unicodedata.category(c)\n return category == \"Sc\"\ndef is_integer(s: str) -> bool:\n try:\n int(s)\n return True", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "is_currency_symbol", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def is_currency_symbol(c: str) -> bool:\n category = unicodedata.category(c)\n return category == \"Sc\"\ndef is_integer(s: str) -> bool:\n try:\n int(s)\n return True\n except ValueError:\n return False\ndef parse_integer(s: str) -> Optional[int]:", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "is_integer", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def is_integer(s: str) -> bool:\n try:\n int(s)\n return True\n except ValueError:\n return False\ndef parse_integer(s: str) -> Optional[int]:\n try:\n return int(s)\n except ValueError:", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "parse_integer", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def parse_integer(s: str) -> Optional[int]:\n try:\n return int(s)\n except ValueError:\n return None\ndef has_sentence_ending(s: str) -> bool:\n s = s.strip()\n for c in reversed(s):\n if is_sentence_terminal(c):\n return True", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "has_sentence_ending", + "kind": 2, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "def has_sentence_ending(s: str) -> bool:\n s = s.strip()\n for c in reversed(s):\n if is_sentence_terminal(c):\n return True\n if not is_delayed_sentence_end(c):\n return False\n return False", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "SENTENCE_TERMINALS", + "kind": 5, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "SENTENCE_TERMINALS = {\n \".\",\n \"!\",\n \"?\",\n \"\\u203C\",\n \"\\u203D\",\n \"\\u2047\",\n \"\\u2048\",\n \"\\u2049\",\n \"\\u3002\",", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "QUOTATION_MARKS", + "kind": 5, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "QUOTATION_MARKS = {'\"', \"“\", \"”\", \"„\", \"‟\", \"'\", \"‘\", \"’\", \"‚\", \"‛\", \"«\", \"»\", \"‹\", \"›\"}\nDELAYED_SENTENCE_START = QUOTATION_MARKS | {\"(\", \"[\", \"<\", \"{\"}\nDELAYED_SENTENCE_END = QUOTATION_MARKS | {\")\", \"]\", \">\", \"}\"}\ndef is_sentence_terminal(s: str) -> bool:\n return len(s) > 0 and all(c in SENTENCE_TERMINALS for c in s)\ndef is_delayed_sentence_start(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_START for c in s)\ndef is_delayed_sentence_end(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_END for c in s)\ndef is_punctuation(c: str) -> bool:", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "DELAYED_SENTENCE_START", + "kind": 5, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "DELAYED_SENTENCE_START = QUOTATION_MARKS | {\"(\", \"[\", \"<\", \"{\"}\nDELAYED_SENTENCE_END = QUOTATION_MARKS | {\")\", \"]\", \">\", \"}\"}\ndef is_sentence_terminal(s: str) -> bool:\n return len(s) > 0 and all(c in SENTENCE_TERMINALS for c in s)\ndef is_delayed_sentence_start(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_START for c in s)\ndef is_delayed_sentence_end(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_END for c in s)\ndef is_punctuation(c: str) -> bool:\n category = unicodedata.category(c)", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "DELAYED_SENTENCE_END", + "kind": 5, + "importPath": "machine.utils.string_utils", + "description": "machine.utils.string_utils", + "peekOfCode": "DELAYED_SENTENCE_END = QUOTATION_MARKS | {\")\", \"]\", \">\", \"}\"}\ndef is_sentence_terminal(s: str) -> bool:\n return len(s) > 0 and all(c in SENTENCE_TERMINALS for c in s)\ndef is_delayed_sentence_start(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_START for c in s)\ndef is_delayed_sentence_end(s: str) -> bool:\n return len(s) > 0 and all(c in DELAYED_SENTENCE_END for c in s)\ndef is_punctuation(c: str) -> bool:\n category = unicodedata.category(c)\n return category.startswith(\"P\")", + "detail": "machine.utils.string_utils", + "documentation": {} + }, + { + "label": "StrPath", + "kind": 5, + "importPath": "machine.utils.typeshed", + "description": "machine.utils.typeshed", + "peekOfCode": "StrPath = Union[str, PurePath]", + "detail": "machine.utils.typeshed", + "documentation": {} + }, + { + "label": "test_cluster", + "kind": 2, + "importPath": "tests.clusterers.test_flat_upgma_clusterer", + "description": "tests.clusterers.test_flat_upgma_clusterer", + "peekOfCode": "def test_cluster() -> None:\n matrix = np.array(\n [\n [0.00, 0.50, 0.67, 0.80, 0.20],\n [0.50, 0.00, 0.40, 0.70, 0.60],\n [0.67, 0.40, 0.00, 0.80, 0.80],\n [0.80, 0.70, 0.80, 0.00, 0.30],\n [0.20, 0.60, 0.80, 0.30, 0.00],\n ]\n )", + "detail": "tests.clusterers.test_flat_upgma_clusterer", + "documentation": {} + }, + { + "label": "test_cluster", + "kind": 2, + "importPath": "tests.clusterers.test_neighbor_joining_clusterer", + "description": "tests.clusterers.test_neighbor_joining_clusterer", + "peekOfCode": "def test_cluster() -> None:\n matrix = np.array([[0, 1, 2, 3, 3], [1, 0, 2, 3, 3], [2, 2, 0, 3, 3], [3, 3, 3, 0, 1], [3, 3, 3, 1, 0]])\n nj = NeighborJoiningClusterer[str](lambda o1, o2: float(matrix[ord(o1) - ord(\"A\")][ord(o2) - ord(\"A\")]))\n tree = nj.generate_clusters([\"A\", \"B\", \"C\", \"D\", \"E\"])\n vertices = {\n \"root\": Cluster[str](description=\"root\"),\n \"A\": Cluster[str](\"A\", description=\"A\"),\n \"B\": Cluster[str](\"B\", description=\"B\"),\n \"C\": Cluster[str](\"C\", description=\"C\"),\n \"D\": Cluster[str](\"D\", description=\"D\"),", + "detail": "tests.clusterers.test_neighbor_joining_clusterer", + "documentation": {} + }, + { + "label": "test_cluster_no_data_objects", + "kind": 2, + "importPath": "tests.clusterers.test_neighbor_joining_clusterer", + "description": "tests.clusterers.test_neighbor_joining_clusterer", + "peekOfCode": "def test_cluster_no_data_objects() -> None:\n nj = NeighborJoiningClusterer[str](lambda o1, o2: 0)\n tree = nj.generate_clusters([])\n assert tree.number_of_edges() == 0\ndef test_cluster_one_data_object() -> None:\n nj = NeighborJoiningClusterer[str](lambda o1, o2: 0)\n tree = nj.generate_clusters([\"A\"])\n assert tree.number_of_nodes() == 1\n assert tree.number_of_edges() == 0\ndef test_cluster_two_data_objects() -> None:", + "detail": "tests.clusterers.test_neighbor_joining_clusterer", + "documentation": {} + }, + { + "label": "test_cluster_one_data_object", + "kind": 2, + "importPath": "tests.clusterers.test_neighbor_joining_clusterer", + "description": "tests.clusterers.test_neighbor_joining_clusterer", + "peekOfCode": "def test_cluster_one_data_object() -> None:\n nj = NeighborJoiningClusterer[str](lambda o1, o2: 0)\n tree = nj.generate_clusters([\"A\"])\n assert tree.number_of_nodes() == 1\n assert tree.number_of_edges() == 0\ndef test_cluster_two_data_objects() -> None:\n nj = NeighborJoiningClusterer[str](lambda o1, o2: 1)\n tree = nj.generate_clusters([\"A\", \"B\"])\n vertices = {\"A\": Cluster[str](\"A\", description=\"A\"), \"B\": Cluster[str](\"B\", description=\"B\")}\n expected_tree: Graph[Cluster[str]] = Graph()", + "detail": "tests.clusterers.test_neighbor_joining_clusterer", + "documentation": {} + }, + { + "label": "test_cluster_two_data_objects", + "kind": 2, + "importPath": "tests.clusterers.test_neighbor_joining_clusterer", + "description": "tests.clusterers.test_neighbor_joining_clusterer", + "peekOfCode": "def test_cluster_two_data_objects() -> None:\n nj = NeighborJoiningClusterer[str](lambda o1, o2: 1)\n tree = nj.generate_clusters([\"A\", \"B\"])\n vertices = {\"A\": Cluster[str](\"A\", description=\"A\"), \"B\": Cluster[str](\"B\", description=\"B\")}\n expected_tree: Graph[Cluster[str]] = Graph()\n expected_tree.add_nodes_from([(v, {\"cluster\": v}) for v in vertices.values()])\n expected_tree.add_weighted_edges_from([(vertices[\"A\"], vertices[\"B\"], 1.0)])\n assert is_isomorphic(\n tree, expected_tree, node_match=cluster_node_match, edge_match=numerical_edge_match(\"weight\", 0)\n )", + "detail": "tests.clusterers.test_neighbor_joining_clusterer", + "documentation": {} + }, + { + "label": "cluster_node_match", + "kind": 2, + "importPath": "tests.clusterers.test_neighbor_joining_clusterer", + "description": "tests.clusterers.test_neighbor_joining_clusterer", + "peekOfCode": "def cluster_node_match(n1: dict, n2: dict) -> bool:\n return n1[\"cluster\"].data_objects == n2[\"cluster\"].data_objects", + "detail": "tests.clusterers.test_neighbor_joining_clusterer", + "documentation": {} + }, + { + "label": "test_cluster", + "kind": 2, + "importPath": "tests.clusterers.test_upgma_clusterer", + "description": "tests.clusterers.test_upgma_clusterer", + "peekOfCode": "def test_cluster() -> None:\n matrix = np.array(\n [\n [0, 2, 4, 6, 6, 8],\n [2, 0, 4, 6, 6, 8],\n [4, 4, 0, 6, 6, 8],\n [6, 6, 6, 0, 4, 8],\n [6, 6, 6, 4, 0, 8],\n [8, 8, 8, 8, 8, 0],\n ]", + "detail": "tests.clusterers.test_upgma_clusterer", + "documentation": {} + }, + { + "label": "test_cluster_no_data_objects", + "kind": 2, + "importPath": "tests.clusterers.test_upgma_clusterer", + "description": "tests.clusterers.test_upgma_clusterer", + "peekOfCode": "def test_cluster_no_data_objects() -> None:\n upgma = UpgmaClusterer[str](lambda o1, o2: 0)\n tree = upgma.generate_clusters([])\n assert tree.number_of_edges() == 0\ndef test_cluster_one_data_object() -> None:\n upgma = UpgmaClusterer[str](lambda o1, o2: 0)\n tree = upgma.generate_clusters([\"A\"])\n assert tree.number_of_nodes() == 1\n assert tree.number_of_edges() == 0\ndef test_cluster_two_data_objects() -> None:", + "detail": "tests.clusterers.test_upgma_clusterer", + "documentation": {} + }, + { + "label": "test_cluster_one_data_object", + "kind": 2, + "importPath": "tests.clusterers.test_upgma_clusterer", + "description": "tests.clusterers.test_upgma_clusterer", + "peekOfCode": "def test_cluster_one_data_object() -> None:\n upgma = UpgmaClusterer[str](lambda o1, o2: 0)\n tree = upgma.generate_clusters([\"A\"])\n assert tree.number_of_nodes() == 1\n assert tree.number_of_edges() == 0\ndef test_cluster_two_data_objects() -> None:\n upgma = UpgmaClusterer[str](lambda o1, o2: 1)\n tree = upgma.generate_clusters([\"A\", \"B\"])\n vertices = {\n \"root\": Cluster[str](description=\"root\"),", + "detail": "tests.clusterers.test_upgma_clusterer", + "documentation": {} + }, + { + "label": "test_cluster_two_data_objects", + "kind": 2, + "importPath": "tests.clusterers.test_upgma_clusterer", + "description": "tests.clusterers.test_upgma_clusterer", + "peekOfCode": "def test_cluster_two_data_objects() -> None:\n upgma = UpgmaClusterer[str](lambda o1, o2: 1)\n tree = upgma.generate_clusters([\"A\", \"B\"])\n vertices = {\n \"root\": Cluster[str](description=\"root\"),\n \"A\": Cluster[str](\"A\", description=\"A\"),\n \"B\": Cluster[str](\"B\", description=\"B\"),\n }\n expected_tree: DiGraph[Cluster[str]] = DiGraph()\n expected_tree.add_nodes_from([(v, {\"cluster\": v}) for v in vertices.values()])", + "detail": "tests.clusterers.test_upgma_clusterer", + "documentation": {} + }, + { + "label": "cluster_node_match", + "kind": 2, + "importPath": "tests.clusterers.test_upgma_clusterer", + "description": "tests.clusterers.test_upgma_clusterer", + "peekOfCode": "def cluster_node_match(n1: dict, n2: dict) -> bool:\n return n1[\"cluster\"].data_objects == n2[\"cluster\"].data_objects", + "detail": "tests.clusterers.test_upgma_clusterer", + "documentation": {} + }, + { + "label": "MemoryParatextProjectTermsParser", + "kind": 6, + "importPath": "tests.corpora.memory_paratext_project_terms_parser", + "description": "tests.corpora.memory_paratext_project_terms_parser", + "peekOfCode": "class MemoryParatextProjectTermsParser(ParatextProjectTermsParserBase):\n def __init__(self, settings: ParatextProjectSettings, files: Dict[str, str]) -> None:\n super().__init__(settings)\n self.files = files\n def _exists(self, file_name: str) -> bool:\n return file_name in self.files\n def _open(self, file_name: str) -> BinaryIO:\n return BytesIO(self.files[file_name].encode(\"utf-8\"))", + "detail": "tests.corpora.memory_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "test_texts", + "kind": 2, + "importPath": "tests.corpora.test_dbl_bundle_text_corpus", + "description": "tests.corpora.test_dbl_bundle_text_corpus", + "peekOfCode": "def test_texts() -> None:\n with DblBundleTestEnvironment() as env:\n assert [t.id for t in env.corpus.texts] == [\"MAT\", \"MRK\"]\ndef test_get_text() -> None:\n with DblBundleTestEnvironment() as env:\n mat = env.corpus.get_text(\"MAT\")\n assert mat is not None\n assert any(mat.get_rows())\n luk = env.corpus.get_text(\"LUK\")\n assert luk is None", + "detail": "tests.corpora.test_dbl_bundle_text_corpus", + "documentation": {} + }, + { + "label": "test_get_text", + "kind": 2, + "importPath": "tests.corpora.test_dbl_bundle_text_corpus", + "description": "tests.corpora.test_dbl_bundle_text_corpus", + "peekOfCode": "def test_get_text() -> None:\n with DblBundleTestEnvironment() as env:\n mat = env.corpus.get_text(\"MAT\")\n assert mat is not None\n assert any(mat.get_rows())\n luk = env.corpus.get_text(\"LUK\")\n assert luk is None", + "detail": "tests.corpora.test_dbl_bundle_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_no_rows", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_no_rows() -> None:\n source_corpus = DictionaryTextCorpus()\n target_corpus = DictionaryTextCorpus()\n parallel_corpus = StandardParallelTextCorpus(source_corpus, target_corpus)\n assert not any(parallel_corpus)\ndef test_get_rows_no_missing_rows() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_no_missing_rows", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_no_missing_rows() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\", TextRowFlags.NONE),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_missing_middle_target_rows", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_missing_middle_target_rows() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_missing_middle_source_row", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_missing_middle_source_row() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_missing_last_target_row", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_missing_last_target_row() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_missing_last_source_row", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_missing_last_source_row() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n ],\n )\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_missing_first_target_row", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_missing_first_target_row() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_missing_first_source_row", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_missing_first_source_row() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_range", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_range() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\n \"text1\",\n 2,\n \"source segment 2 . source segment 3 .\",", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_overlapping_ranges", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_overlapping_ranges() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\n \"text1\",\n 2,\n \"source segment 2 . source segment 3 .\",", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_adjacent_ranges_same_text", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_adjacent_ranges_same_text() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\n \"text1\",\n 1,\n \"source segment 1 . source segment 2 .\",\n TextRowFlags.IN_RANGE | TextRowFlags.RANGE_START,", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_adjacent_ranges_different_texts", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_adjacent_ranges_different_texts() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\n \"text1\",\n 1,\n \"source segment 1 . source segment 2 .\",\n TextRowFlags.SENTENCE_START | TextRowFlags.IN_RANGE | TextRowFlags.RANGE_START,", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_segments_all_source_rows", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_segments_all_source_rows() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n text_row(\"text1\", 4, \"source segment 4 .\"),\n ],", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_segments_missing_text", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_segments_missing_text() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [text_row(\"text1\", 1, \"source segment 1 .\")],\n ),\n MemoryText(\n \"text2\",\n [text_row(\"text2\", 2, \"source segment 2 .\")],\n ),", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_segments_range_all_target_rows", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_segments_range_all_target_rows() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\n \"text1\",\n 2,\n \"source segment 2 . source segment 3 .\",", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_same_ref_middle_many_to_many", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_same_ref_middle_many_to_many() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2-1 .\"),\n text_row(\"text1\", 2, \"source segment 2-2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_segments_same_ref_middle_one_to_many", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_segments_same_ref_middle_one_to_many() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_segments_same_ref_middle_many_to_one", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_segments_same_ref_middle_many_to_one() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2-1 .\"),\n text_row(\"text1\", 2, \"source segment 2-2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_segments_same_ref_last_one_to_many", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_segments_same_ref_last_one_to_many() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n ],\n )\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_segments_same_ref_last_many_to_one", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_segments_same_ref_last_many_to_one() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2-1 .\"),\n text_row(\"text1\", 2, \"source segment 2-2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_segments_same_verse_ref_one_to_many", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_segments_same_verse_ref_one_to_many() -> None:\n stream = StringIO(\"&MAT 1:2-3 = MAT 1:2\\n\" \"MAT 1:4 = MAT 1:3\\n\")\n versification = Versification(\"custom\", \"vers.txt\", ENGLISH_VERSIFICATION)\n versification = Versification.parse(stream, \"vers.txt\", versification, \"custom\")\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"MAT\",\n [\n text_row(\n \"MAT\",", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_verse_ref_out_of_order", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_get_rows_verse_ref_out_of_order() -> None:\n stream = StringIO(\"&MAT 1:4-5 = MAT 1:4\\nMAT 1:2 = MAT 1:3\\nMAT 1:3 = MAT 1:2\\n\")\n versification = Versification(\"custom\", \"vers.txt\", ENGLISH_VERSIFICATION)\n versification = Versification.parse(stream, \"vers.txt\", versification, \"custom\")\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"MAT\",\n [\n text_row(\n \"MAT\",", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_to_pandas", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_to_pandas() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\", TextRowFlags.NONE),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_from_pandas", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_from_pandas() -> None:\n df = pd.DataFrame(\n {\n \"ref\": [1, 2, 3],\n \"source\": [\"source segment 1 .\", \"source segment 2 .\", \"source segment 3 .\"],\n \"target\": [\"target segment 1 .\", \"\", \"target segment 3 .\"],\n \"alignment\": [[(0, 0)], [], [(2, 2)]],\n }\n )\n parallel_corpus = ParallelTextCorpus.from_pandas(df, default_text_id=\"text1\")", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_to_hf_iterable_dataset", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_to_hf_iterable_dataset() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\", TextRowFlags.NONE),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_from_hf_dataset", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_from_hf_dataset() -> None:\n ds = Dataset.from_dict(\n {\n \"text\": [\"text1\", \"text2\", \"text3\"],\n \"ref\": [1, 2, 3],\n \"translation\": [\n {\"src\": \"source segment 1 .\", \"trg\": \"target segment 1 .\"},\n {\"src\": \"source segment 2 .\", \"trg\": \"\"},\n {\"src\": \"source segment 3 .\", \"trg\": \"target segment 3 .\"},\n ],", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_count_no_rows", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_count_no_rows() -> None:\n source_corpus = DictionaryTextCorpus()\n target_corpus = DictionaryTextCorpus()\n parallel_corpus = StandardParallelTextCorpus(source_corpus, target_corpus)\n assert parallel_corpus.count(include_empty=True) == 0\n assert parallel_corpus.count(include_empty=False) == 0\ndef test_count_missing_row() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_count_missing_row", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_count_missing_row() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_count_empty_row", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def test_count_empty_row() -> None:\n source_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n text_row(\"text1\", 1, \"source segment 1 .\"),\n text_row(\"text1\", 2, \"source segment 2 .\"),\n text_row(\"text1\", 3, \"source segment 3 .\"),\n ],\n )", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "text_row", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def text_row(text_id: str, ref: Any, text: str = \"\", flags: TextRowFlags = TextRowFlags.SENTENCE_START) -> TextRow:\n return TextRow(text_id, ref, [] if len(text) == 0 else text.split(), flags)\ndef alignment_row(text_id: str, ref: int, *pairs: AlignedWordPair) -> AlignmentRow:\n return AlignmentRow(text_id, ref, list(pairs))\ndef set_equals(x: Optional[Iterable], y: Optional[Iterable]) -> bool:\n if x is None:\n return y is None\n if y is None:\n return False\n return set(x) == set(y)", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "alignment_row", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def alignment_row(text_id: str, ref: int, *pairs: AlignedWordPair) -> AlignmentRow:\n return AlignmentRow(text_id, ref, list(pairs))\ndef set_equals(x: Optional[Iterable], y: Optional[Iterable]) -> bool:\n if x is None:\n return y is None\n if y is None:\n return False\n return set(x) == set(y)", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "set_equals", + "kind": 2, + "importPath": "tests.corpora.test_parallel_text_corpus", + "description": "tests.corpora.test_parallel_text_corpus", + "peekOfCode": "def set_equals(x: Optional[Iterable], y: Optional[Iterable]) -> bool:\n if x is None:\n return y is None\n if y is None:\n return False\n return set(x) == set(y)", + "detail": "tests.corpora.test_parallel_text_corpus", + "documentation": {} + }, + { + "label": "test_create_corpus", + "kind": 2, + "importPath": "tests.corpora.test_paratext_backup_terms_corpus", + "description": "tests.corpora.test_paratext_backup_terms_corpus", + "peekOfCode": "def test_create_corpus():\n temp_dir = TemporaryDirectory()\n backup_dir = create_test_paratext_backup(Path(temp_dir.name))\n corpus = ParatextBackupTermsCorpus(backup_dir, [\"PN\"], True)\n rows: List[TextRow] = list(corpus.get_rows())\n assert len(rows) == 1\n assert rows[0].text == \"Xerxes\"", + "detail": "tests.corpora.test_paratext_backup_terms_corpus", + "documentation": {} + }, + { + "label": "_TestEnvironment", + "kind": 6, + "importPath": "tests.corpora.test_paratext_backup_text_corpus", + "description": "tests.corpora.test_paratext_backup_text_corpus", + "peekOfCode": "class _TestEnvironment(ContextManager[\"_TestEnvironment\"]):\n def __init__(self) -> None:\n self._temp_dir = TemporaryDirectory()\n archive_filename = create_test_paratext_backup(Path(self._temp_dir.name))\n self._corpus = ParatextBackupTextCorpus(archive_filename)\n @property\n def corpus(self) -> ParatextBackupTextCorpus:\n return self._corpus\n def __enter__(self) -> _TestEnvironment:\n return self", + "detail": "tests.corpora.test_paratext_backup_text_corpus", + "documentation": {} + }, + { + "label": "test_texts", + "kind": 2, + "importPath": "tests.corpora.test_paratext_backup_text_corpus", + "description": "tests.corpora.test_paratext_backup_text_corpus", + "peekOfCode": "def test_texts() -> None:\n with _TestEnvironment() as env:\n assert [t.id for t in env.corpus.texts] == [\"LEV\", \"1CH\", \"MAT\", \"MRK\", \"JHN\"]\ndef test_get_text() -> None:\n with _TestEnvironment() as env:\n mat = env.corpus.get_text(\"MAT\")\n assert mat is not None\n assert any(mat.get_rows())\n luk = env.corpus.get_text(\"LUK\")\n assert luk is None", + "detail": "tests.corpora.test_paratext_backup_text_corpus", + "documentation": {} + }, + { + "label": "test_get_text", + "kind": 2, + "importPath": "tests.corpora.test_paratext_backup_text_corpus", + "description": "tests.corpora.test_paratext_backup_text_corpus", + "peekOfCode": "def test_get_text() -> None:\n with _TestEnvironment() as env:\n mat = env.corpus.get_text(\"MAT\")\n assert mat is not None\n assert any(mat.get_rows())\n luk = env.corpus.get_text(\"LUK\")\n assert luk is None\n jhn = env.corpus.get_text(\"JHN\")\n assert jhn is not None\n assert not any(jhn.get_rows())", + "detail": "tests.corpora.test_paratext_backup_text_corpus", + "documentation": {} + }, + { + "label": "test_get_book_file_name_book_num", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_file_name_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"MRK\") == \"PROJ42.SFM\"\ndef test_get_book_file_name_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_file_name(\"MRK\") == \"PROJ42MRK.SFM\"\ndef test_get_book_file_name_book_id() -> None:\n settings = _create_settings(\"MAT\")\n assert settings.get_book_file_name(\"MRK\") == \"PROJMRK.SFM\"\ndef test_get_book_file_name_book_num_double_digit() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_file_name_book_num_book_id", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_file_name_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_file_name(\"MRK\") == \"PROJ42MRK.SFM\"\ndef test_get_book_file_name_book_id() -> None:\n settings = _create_settings(\"MAT\")\n assert settings.get_book_file_name(\"MRK\") == \"PROJMRK.SFM\"\ndef test_get_book_file_name_book_num_double_digit() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"GEN\") == \"PROJ01.SFM\"\ndef test_get_book_file_name_book_num_xxg() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_file_name_book_id", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_file_name_book_id() -> None:\n settings = _create_settings(\"MAT\")\n assert settings.get_book_file_name(\"MRK\") == \"PROJMRK.SFM\"\ndef test_get_book_file_name_book_num_double_digit() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"GEN\") == \"PROJ01.SFM\"\ndef test_get_book_file_name_book_num_xxg() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"XXG\") == \"PROJ100.SFM\"\ndef test_get_book_file_name_book_num_prefix_a() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_file_name_book_num_double_digit", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_file_name_book_num_double_digit() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"GEN\") == \"PROJ01.SFM\"\ndef test_get_book_file_name_book_num_xxg() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"XXG\") == \"PROJ100.SFM\"\ndef test_get_book_file_name_book_num_prefix_a() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"FRT\") == \"PROJA0.SFM\"\ndef test_get_book_file_name_book_num_prefix_b() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_file_name_book_num_xxg", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_file_name_book_num_xxg() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"XXG\") == \"PROJ100.SFM\"\ndef test_get_book_file_name_book_num_prefix_a() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"FRT\") == \"PROJA0.SFM\"\ndef test_get_book_file_name_book_num_prefix_b() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"TDX\") == \"PROJB0.SFM\"\ndef test_get_book_file_name_book_num_prefix_c() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_file_name_book_num_prefix_a", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_file_name_book_num_prefix_a() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"FRT\") == \"PROJA0.SFM\"\ndef test_get_book_file_name_book_num_prefix_b() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"TDX\") == \"PROJB0.SFM\"\ndef test_get_book_file_name_book_num_prefix_c() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"3MQ\") == \"PROJC0.SFM\"\ndef test_get_book_id_book_num() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_file_name_book_num_prefix_b", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_file_name_book_num_prefix_b() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"TDX\") == \"PROJB0.SFM\"\ndef test_get_book_file_name_book_num_prefix_c() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"3MQ\") == \"PROJC0.SFM\"\ndef test_get_book_id_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ42.SFM\") == \"MRK\"\ndef test_get_book_id_book_num_book_id() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_file_name_book_num_prefix_c", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_file_name_book_num_prefix_c() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_file_name(\"3MQ\") == \"PROJC0.SFM\"\ndef test_get_book_id_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ42.SFM\") == \"MRK\"\ndef test_get_book_id_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_id(\"PROJ42MRK.SFM\") == \"MRK\"\ndef test_get_book_id_book_id() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_book_num", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ42.SFM\") == \"MRK\"\ndef test_get_book_id_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_id(\"PROJ42MRK.SFM\") == \"MRK\"\ndef test_get_book_id_book_id() -> None:\n settings = _create_settings(\"MAT\")\n assert settings.get_book_id(\"PROJMRK.SFM\") == \"MRK\"\ndef test_get_book_id_book_num_double_digit() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_book_num_book_id", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_id(\"PROJ42MRK.SFM\") == \"MRK\"\ndef test_get_book_id_book_id() -> None:\n settings = _create_settings(\"MAT\")\n assert settings.get_book_id(\"PROJMRK.SFM\") == \"MRK\"\ndef test_get_book_id_book_num_double_digit() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ01.SFM\") == \"GEN\"\ndef test_get_book_id_book_num_xxg_book_num() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_book_id", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_book_id() -> None:\n settings = _create_settings(\"MAT\")\n assert settings.get_book_id(\"PROJMRK.SFM\") == \"MRK\"\ndef test_get_book_id_book_num_double_digit() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ01.SFM\") == \"GEN\"\ndef test_get_book_id_book_num_xxg_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ100.SFM\") == \"XXG\"\ndef test_get_book_id_book_num_xxg_book_num_book_id() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_book_num_double_digit", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_book_num_double_digit() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ01.SFM\") == \"GEN\"\ndef test_get_book_id_book_num_xxg_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ100.SFM\") == \"XXG\"\ndef test_get_book_id_book_num_xxg_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_id(\"PROJ100XXG.SFM\") == \"XXG\"\ndef test_get_book_id_book_num_prefix_a() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_book_num_xxg_book_num", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_book_num_xxg_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ100.SFM\") == \"XXG\"\ndef test_get_book_id_book_num_xxg_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_id(\"PROJ100XXG.SFM\") == \"XXG\"\ndef test_get_book_id_book_num_prefix_a() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJA0.SFM\") == \"FRT\"\ndef test_get_book_id_book_num_prefix_b() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_book_num_xxg_book_num_book_id", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_book_num_xxg_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_id(\"PROJ100XXG.SFM\") == \"XXG\"\ndef test_get_book_id_book_num_prefix_a() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJA0.SFM\") == \"FRT\"\ndef test_get_book_id_book_num_prefix_b() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJB0.SFM\") == \"TDX\"\ndef test_get_book_id_book_num_prefix_c() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_book_num_prefix_a", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_book_num_prefix_a() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJA0.SFM\") == \"FRT\"\ndef test_get_book_id_book_num_prefix_b() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJB0.SFM\") == \"TDX\"\ndef test_get_book_id_book_num_prefix_c() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJC0.SFM\") == \"3MQ\"\ndef test_get_book_id_wrong_prefix() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_book_num_prefix_b", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_book_num_prefix_b() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJB0.SFM\") == \"TDX\"\ndef test_get_book_id_book_num_prefix_c() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJC0.SFM\") == \"3MQ\"\ndef test_get_book_id_wrong_prefix() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"WRONG42.SFM\") is None\ndef test_get_book_id_wrong_suffix() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_book_num_prefix_c", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_book_num_prefix_c() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJC0.SFM\") == \"3MQ\"\ndef test_get_book_id_wrong_prefix() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"WRONG42.SFM\") is None\ndef test_get_book_id_wrong_suffix() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ42.WRONG\") is None\ndef test_get_book_id_wrong_book_part_book_num() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_wrong_prefix", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_wrong_prefix() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"WRONG42.SFM\") is None\ndef test_get_book_id_wrong_suffix() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ42.WRONG\") is None\ndef test_get_book_id_wrong_book_part_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ42MRK.SFM\") is None\ndef test_get_book_id_wrong_book_part_book_id() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_wrong_suffix", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_wrong_suffix() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ42.WRONG\") is None\ndef test_get_book_id_wrong_book_part_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ42MRK.SFM\") is None\ndef test_get_book_id_wrong_book_part_book_id() -> None:\n settings = _create_settings(\"MAT\")\n assert settings.get_book_id(\"PROJ42.SFM\") is None\ndef test_get_book_id_wrong_book_part_book_num_book_id() -> None:", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_wrong_book_part_book_num", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_wrong_book_part_book_num() -> None:\n settings = _create_settings(\"41\")\n assert settings.get_book_id(\"PROJ42MRK.SFM\") is None\ndef test_get_book_id_wrong_book_part_book_id() -> None:\n settings = _create_settings(\"MAT\")\n assert settings.get_book_id(\"PROJ42.SFM\") is None\ndef test_get_book_id_wrong_book_part_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_id(\"PROJMRK.SFM\") is None\n assert settings.get_book_id(\"PROJ100.SFM\") is None", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_wrong_book_part_book_id", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_wrong_book_part_book_id() -> None:\n settings = _create_settings(\"MAT\")\n assert settings.get_book_id(\"PROJ42.SFM\") is None\ndef test_get_book_id_wrong_book_part_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_id(\"PROJMRK.SFM\") is None\n assert settings.get_book_id(\"PROJ100.SFM\") is None\ndef _create_settings(file_name_form: str) -> ParatextProjectSettings:\n return ParatextProjectSettings(\n \"Name\",", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "test_get_book_id_wrong_book_part_book_num_book_id", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_settings", + "description": "tests.corpora.test_paratext_project_settings", + "peekOfCode": "def test_get_book_id_wrong_book_part_book_num_book_id() -> None:\n settings = _create_settings(\"41MAT\")\n assert settings.get_book_id(\"PROJMRK.SFM\") is None\n assert settings.get_book_id(\"PROJ100.SFM\") is None\ndef _create_settings(file_name_form: str) -> ParatextProjectSettings:\n return ParatextProjectSettings(\n \"Name\",\n \"Name\",\n \"utf-8\",\n ENGLISH_VERSIFICATION,", + "detail": "tests.corpora.test_paratext_project_settings", + "documentation": {} + }, + { + "label": "_TestEnvironment", + "kind": 6, + "importPath": "tests.corpora.test_paratext_project_terms_parser", + "description": "tests.corpora.test_paratext_project_terms_parser", + "peekOfCode": "class _TestEnvironment:\n def __init__(\n self,\n settings: Optional[ParatextProjectSettings] = None,\n files: Optional[Dict[str, str]] = None,\n use_term_glosses: bool = True,\n ) -> None:\n self._use_term_glosses: bool = use_term_glosses\n self._parser: ParatextProjectTermsParserBase = MemoryParatextProjectTermsParser(\n settings or _DefaultParatextProjectSettings(), files or {}", + "detail": "tests.corpora.test_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "_DefaultParatextProjectSettings", + "kind": 6, + "importPath": "tests.corpora.test_paratext_project_terms_parser", + "description": "tests.corpora.test_paratext_project_terms_parser", + "peekOfCode": "class _DefaultParatextProjectSettings(ParatextProjectSettings):\n def __init__(\n self,\n name: str = \"Test\",\n full_name: str = \"TestProject\",\n encoding: Optional[str] = None,\n versification: Optional[Versification] = None,\n stylesheet: Optional[UsfmStylesheet] = None,\n file_name_prefix: str = \"\",\n file_name_form: str = \"41MAT\",", + "detail": "tests.corpora.test_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "test_get_key_terms_from_terms_renderings", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_terms_parser", + "description": "tests.corpora.test_paratext_project_terms_parser", + "peekOfCode": "def test_get_key_terms_from_terms_renderings() -> None:\n env = _TestEnvironment(\n files={\n \"ProjectBiblicalTerms.xml\": r\"\"\"\n\n \n PN\n Ahasuerus\n \n", + "detail": "tests.corpora.test_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "test_get_key_terms_from_terms_localizations_no_term_renderings", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_terms_parser", + "description": "tests.corpora.test_paratext_project_terms_parser", + "peekOfCode": "def test_get_key_terms_from_terms_localizations_no_term_renderings() -> None:\n env = _TestEnvironment(\n _DefaultParatextProjectSettings(biblical_terms_list_type=\"Major\", biblical_terms_file_name=\"BiblicalTerms.xml\"),\n use_term_glosses=True,\n )\n terms: List[Tuple[str, List[str]]] = env.get_glosses()\n assert len(terms) == 5726\n glosses = terms[0][1]\n assert str.join(\" \", glosses) == \"Abagtha\"\ndef test_get_key_terms_from_terms_localizations_no_term_renderings_do_not_use_term_glosses() -> None:", + "detail": "tests.corpora.test_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "test_get_key_terms_from_terms_localizations_no_term_renderings_do_not_use_term_glosses", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_terms_parser", + "description": "tests.corpora.test_paratext_project_terms_parser", + "peekOfCode": "def test_get_key_terms_from_terms_localizations_no_term_renderings_do_not_use_term_glosses() -> None:\n env = _TestEnvironment(\n _DefaultParatextProjectSettings(biblical_terms_list_type=\"Major\", biblical_terms_file_name=\"BiblicalTerms.xml\"),\n use_term_glosses=False,\n )\n terms: List[Tuple[str, List[str]]] = env.get_glosses()\n assert len(terms) == 0\ndef test_get_key_terms_from_terms_localizations() -> None:\n env = _TestEnvironment(\n _DefaultParatextProjectSettings(", + "detail": "tests.corpora.test_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "test_get_key_terms_from_terms_localizations", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_terms_parser", + "description": "tests.corpora.test_paratext_project_terms_parser", + "peekOfCode": "def test_get_key_terms_from_terms_localizations() -> None:\n env = _TestEnvironment(\n _DefaultParatextProjectSettings(\n biblical_terms_list_type=\"Major\", biblical_terms_file_name=\"BiblicalTerms.xml\", language_code=\"fr\"\n ),\n use_term_glosses=True,\n )\n terms: List[Tuple[str, List[str]]] = env.get_glosses()\n assert len(terms) == 5715\n glosses = terms[0][1]", + "detail": "tests.corpora.test_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "test_get_key_terms_from_terms_localizations_term_renderings_exists_prefer_localization", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_terms_parser", + "description": "tests.corpora.test_paratext_project_terms_parser", + "peekOfCode": "def test_get_key_terms_from_terms_localizations_term_renderings_exists_prefer_localization() -> None:\n env = _TestEnvironment(\n _DefaultParatextProjectSettings(biblical_terms_list_type=\"Major\", biblical_terms_file_name=\"BiblicalTerms.xml\"),\n files={\n \"TermRenderings.xml\": r\"\"\"\n\n \n Xerxes\n \n ", + "detail": "tests.corpora.test_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "test_strip_parens", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_terms_parser", + "description": "tests.corpora.test_paratext_project_terms_parser", + "peekOfCode": "def test_strip_parens() -> None:\n assert _strip_parens(\"\") == \"\"\n assert _strip_parens(\"(inside)\") == \"\"\n assert _strip_parens(\"Outside (inside)\") == \"Outside \"\n assert _strip_parens(\"(Inside (inside)) Outside (Inside) (\") == \" Outside (\"\n assert _strip_parens(\"[inside] (outside)\", \"[\", \"]\") == \" (outside)\"\ndef test_get_glosses() -> None:\n assert _get_glosses(\"\") == []\n assert _get_glosses(\"*Abba* /\") == [\"Abba\"]\n assert _get_glosses(\"Abba|| \") == [\"Abba\"]", + "detail": "tests.corpora.test_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "test_get_glosses", + "kind": 2, + "importPath": "tests.corpora.test_paratext_project_terms_parser", + "description": "tests.corpora.test_paratext_project_terms_parser", + "peekOfCode": "def test_get_glosses() -> None:\n assert _get_glosses(\"\") == []\n assert _get_glosses(\"*Abba* /\") == [\"Abba\"]\n assert _get_glosses(\"Abba|| \") == [\"Abba\"]\n assert _get_glosses(\"Abba||Abbah?\") == [\"Abba\", \"Abbah\"]\n assert _get_glosses(\"Abba (note)\") == [\"Abba\"]\n assert _get_glosses(\"Ahasuerus, Xerxes; Assuerus\") == [\"Ahasuerus\", \"Xerxes\", \"Assuerus\"]\nclass _TestEnvironment:\n def __init__(\n self,", + "detail": "tests.corpora.test_paratext_project_terms_parser", + "documentation": {} + }, + { + "label": "test_compare_to", + "kind": 2, + "importPath": "tests.corpora.test_scripture_ref", + "description": "tests.corpora.test_scripture_ref", + "peekOfCode": "def test_compare_to():\n assert compare_to(\"MAT 1:1\", \"MAT 1:2\") == -1, \"VerseLessThan\"\n assert compare_to(\"MAT 1:1\", \"MAT 1:1\") == 0, \"VerseEqualTo\"\n assert compare_to(\"MAT 1:2\", \"MAT 1:1\") == 1, \"VerseGreaterThan\"\n assert compare_to(\"MAT 1:1-3\", \"MAT 1:1\") == 1, \"MultiVerseExtensionGreaterThan\"\n assert compare_to(\"MAT 1:1\", \"MAT 1:1-3\") == -1, \"MultiVerseExtensionLessThan\"\n assert compare_to(\"MAT 1:1-3\", \"MAT 1:2\") == -1, \"MultiVerseStartLessThan\"\n assert compare_to(\"MAT 1:2\", \"MAT 1:1-3\") == 1, \"MultiVerseEndGreaterThan\"\n assert compare_to(\"MAT 1:0/1:p\", \"MAT 1:0/2:p\") == -1, \"NonVerseLessThan\"\n assert compare_to(\"MAT 1:0/1:p\", \"MAT 1:0/1:p\") == 0, \"NonVerseEqualTo\"", + "detail": "tests.corpora.test_scripture_ref", + "documentation": {} + }, + { + "label": "test_is_equal_to", + "kind": 2, + "importPath": "tests.corpora.test_scripture_ref", + "description": "tests.corpora.test_scripture_ref", + "peekOfCode": "def test_is_equal_to():\n ref1 = ScriptureRef.parse(\"MAT 1:1/1:p\")\n ref1dup = ScriptureRef.parse(\"MAT 1:1/1:p\")\n ref2 = ScriptureRef.parse(\"MAT 1:2/1:p\")\n obj1 = \"A different type\"\n assert ref1 == ref1dup\n assert ref1 != ref2\n assert ref1 != obj1\ndef test_is_equal_to_throws_argument_exception():\n ref1 = ScriptureRef.parse(\"MAT 1:1/1:p\")", + "detail": "tests.corpora.test_scripture_ref", + "documentation": {} + }, + { + "label": "test_is_equal_to_throws_argument_exception", + "kind": 2, + "importPath": "tests.corpora.test_scripture_ref", + "description": "tests.corpora.test_scripture_ref", + "peekOfCode": "def test_is_equal_to_throws_argument_exception():\n ref1 = ScriptureRef.parse(\"MAT 1:1/1:p\")\n obj1 = \"A different type\"\n with raises(TypeError):\n ref1.compare_to(obj1)\ndef compare_to(ref1_str, ref2_str):\n ref1 = ScriptureRef.parse(ref1_str)\n ref2 = ScriptureRef.parse(ref2_str)\n return ref1.compare_to(ref2)", + "detail": "tests.corpora.test_scripture_ref", + "documentation": {} + }, + { + "label": "compare_to", + "kind": 2, + "importPath": "tests.corpora.test_scripture_ref", + "description": "tests.corpora.test_scripture_ref", + "peekOfCode": "def compare_to(ref1_str, ref2_str):\n ref1 = ScriptureRef.parse(ref1_str)\n ref2 = ScriptureRef.parse(ref2_str)\n return ref1.compare_to(ref2)", + "detail": "tests.corpora.test_scripture_ref", + "documentation": {} + }, + { + "label": "test_extract_scripture_corpus", + "kind": 2, + "importPath": "tests.corpora.test_scripture_text_corpus", + "description": "tests.corpora.test_scripture_text_corpus", + "peekOfCode": "def test_extract_scripture_corpus() -> None:\n corpus = ParatextTextCorpus(USFM_TEST_PROJECT_PATH, include_all_text=True)\n lines = list(extract_scripture_corpus(corpus))\n assert len(lines) == 41899\n text, orig_vref, corpus_vref = lines[0]\n assert text == \"\"\n assert orig_vref.exact_equals(VerseRef.from_string(\"GEN 1:1\", ORIGINAL_VERSIFICATION))\n assert corpus_vref is not None and corpus_vref.exact_equals(VerseRef.from_string(\"GEN 1:1\", corpus.versification))\n text, orig_vref, corpus_vref = lines[3167]\n assert text == \"Chapter fourteen, verse fifty-five. Segment b.\"", + "detail": "tests.corpora.test_scripture_text_corpus", + "documentation": {} + }, + { + "label": "test_get_rows_nonempty_text_refs", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text", + "description": "tests.corpora.test_text_file_text", + "peekOfCode": "def test_get_rows_nonempty_text_refs() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n text = corpus.get_text(\"Test1\")\n assert text is not None\n rows = list(text.get_rows())\n assert len(rows) == 5\n assert rows[0].ref == MultiKeyRef(\"Test1\", [\"s\", 1, 1])\n assert rows[0].text == \"Section one, sentence one.\"\n assert rows[0].flags == TextRowFlags.SENTENCE_START\n assert rows[1].ref == MultiKeyRef(\"Test1\", [\"s\", 1, 2])", + "detail": "tests.corpora.test_text_file_text", + "documentation": {} + }, + { + "label": "test_get_rows_nonempty_text_no_refs", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text", + "description": "tests.corpora.test_text_file_text", + "peekOfCode": "def test_get_rows_nonempty_text_no_refs() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n text = corpus.get_text(\"Test3\")\n assert text is not None\n rows = list(text.get_rows())\n assert len(rows) == 4\n assert rows[0].ref == MultiKeyRef(\"Test3\", [1])\n assert rows[0].text == \"Line one.\"\n assert rows[1].ref == MultiKeyRef(\"Test3\", [2])\n assert rows[1].text == \"Line two.\"", + "detail": "tests.corpora.test_text_file_text", + "documentation": {} + }, + { + "label": "test_get_rows_empty_text", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text", + "description": "tests.corpora.test_text_file_text", + "peekOfCode": "def test_get_rows_empty_text() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n text = corpus.get_text(\"Test2\")\n assert text is not None\n rows = list(text.get_rows())\n assert len(rows) == 0\ndef test_count_nonempty_text_refs() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n text = corpus.get_text(\"Test1\")\n assert text is not None", + "detail": "tests.corpora.test_text_file_text", + "documentation": {} + }, + { + "label": "test_count_nonempty_text_refs", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text", + "description": "tests.corpora.test_text_file_text", + "peekOfCode": "def test_count_nonempty_text_refs() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n text = corpus.get_text(\"Test1\")\n assert text is not None\n assert text.count(include_empty=True) == 5\n assert text.count(include_empty=False) == 4\ndef test_count_nonempty_text_no_refs() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n text = corpus.get_text(\"Test3\")\n assert text is not None", + "detail": "tests.corpora.test_text_file_text", + "documentation": {} + }, + { + "label": "test_count_nonempty_text_no_refs", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text", + "description": "tests.corpora.test_text_file_text", + "peekOfCode": "def test_count_nonempty_text_no_refs() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n text = corpus.get_text(\"Test3\")\n assert text is not None\n assert text.count(include_empty=True) == 4\n assert text.count(include_empty=False) == 3\ndef test_count_empty_text() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n text = corpus.get_text(\"Test2\")\n assert text is not None", + "detail": "tests.corpora.test_text_file_text", + "documentation": {} + }, + { + "label": "test_count_empty_text", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text", + "description": "tests.corpora.test_text_file_text", + "peekOfCode": "def test_count_empty_text() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n text = corpus.get_text(\"Test2\")\n assert text is not None\n assert text.count(include_empty=True) == 0\n assert text.count(include_empty=False) == 0", + "detail": "tests.corpora.test_text_file_text", + "documentation": {} + }, + { + "label": "test_does_not_exist", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text_corpus", + "description": "tests.corpora.test_text_file_text_corpus", + "peekOfCode": "def test_does_not_exist() -> None:\n with raises(FileNotFoundError):\n TextFileTextCorpus(\"does-not-exist.txt\")\ndef test_folder() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n assert [t.id for t in corpus.texts] == [\"Test1\", \"Test2\", \"Test3\"]\ndef test_single_file() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH / \"Test1.txt\")\n assert [t.id for t in corpus.texts] == [\"*all*\"]\ndef test_pattern_star() -> None:", + "detail": "tests.corpora.test_text_file_text_corpus", + "documentation": {} + }, + { + "label": "test_folder", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text_corpus", + "description": "tests.corpora.test_text_file_text_corpus", + "peekOfCode": "def test_folder() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH)\n assert [t.id for t in corpus.texts] == [\"Test1\", \"Test2\", \"Test3\"]\ndef test_single_file() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH / \"Test1.txt\")\n assert [t.id for t in corpus.texts] == [\"*all*\"]\ndef test_pattern_star() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH / \"*.txt\")\n assert [t.id for t in corpus.texts] == [\"Test1\", \"Test2\", \"Test3\"]\ndef test_pattern_question_mark() -> None:", + "detail": "tests.corpora.test_text_file_text_corpus", + "documentation": {} + }, + { + "label": "test_single_file", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text_corpus", + "description": "tests.corpora.test_text_file_text_corpus", + "peekOfCode": "def test_single_file() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH / \"Test1.txt\")\n assert [t.id for t in corpus.texts] == [\"*all*\"]\ndef test_pattern_star() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH / \"*.txt\")\n assert [t.id for t in corpus.texts] == [\"Test1\", \"Test2\", \"Test3\"]\ndef test_pattern_question_mark() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH / \"Test?.txt\")\n assert [t.id for t in corpus.texts] == [\"1\", \"2\", \"3\"]", + "detail": "tests.corpora.test_text_file_text_corpus", + "documentation": {} + }, + { + "label": "test_pattern_star", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text_corpus", + "description": "tests.corpora.test_text_file_text_corpus", + "peekOfCode": "def test_pattern_star() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH / \"*.txt\")\n assert [t.id for t in corpus.texts] == [\"Test1\", \"Test2\", \"Test3\"]\ndef test_pattern_question_mark() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH / \"Test?.txt\")\n assert [t.id for t in corpus.texts] == [\"1\", \"2\", \"3\"]", + "detail": "tests.corpora.test_text_file_text_corpus", + "documentation": {} + }, + { + "label": "test_pattern_question_mark", + "kind": 2, + "importPath": "tests.corpora.test_text_file_text_corpus", + "description": "tests.corpora.test_text_file_text_corpus", + "peekOfCode": "def test_pattern_question_mark() -> None:\n corpus = TextFileTextCorpus(TEXT_TEST_PROJECT_PATH / \"Test?.txt\")\n assert [t.id for t in corpus.texts] == [\"1\", \"2\", \"3\"]", + "detail": "tests.corpora.test_text_file_text_corpus", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_char_style", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_char_style() -> None:\n rows = [\n (\n scr_ref(\"MAT 1:1\"),\n str(\"First verse of the first chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\id MAT - Test\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_id_text", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_id_text() -> None:\n target = update_usfm(id_text=\"Updated\")\n assert target is not None\n assert \"\\\\id MAT - Updated\\r\\n\" in target\ndef test_get_usfm_strip_all_text() -> None:\n target = update_usfm(strip_all_text=True)\n assert target is not None\n assert \"\\\\id MAT\\r\\n\" in target\n assert \"\\\\v 1\\r\\n\" in target\n assert \"\\\\s\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_strip_all_text", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_strip_all_text() -> None:\n target = update_usfm(strip_all_text=True)\n assert target is not None\n assert \"\\\\id MAT\\r\\n\" in target\n assert \"\\\\v 1\\r\\n\" in target\n assert \"\\\\s\\r\\n\" in target\ndef test_get_usfm_prefer_existing():\n rows = [\n (\n scr_ref(\"MAT 1:6\"),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_prefer_existing", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_prefer_existing():\n rows = [\n (\n scr_ref(\"MAT 1:6\"),\n str(\"Text 6\"),\n ),\n (\n scr_ref(\"MAT 1:7\"),\n str(\"Text 7\"),\n ),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_prefer_rows", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_prefer_rows():\n rows = [\n (\n scr_ref(\"MAT 1:6\"),\n str(\"Text 6\"),\n ),\n (\n scr_ref(\"MAT 1:7\"),\n str(\"Text 7\"),\n ),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_skip_note", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_skip_note() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:1\"),\n str(\"First verse of the second chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\v 1 First verse of the second chapter.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_replace_note", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_replace_note() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:1a\"),\n str(\"First verse of the second chapter.\"),\n ),\n (scr_ref(\"MAT 2:1/1:f\"), str(\"This is a new footnote.\")),\n ]\n target = update_usfm(rows)\n assert target is not None", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_row_verse_segment", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_row_verse_segment() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:1a\"),\n str(\"First verse of the second chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\v 1 First verse of the second chapter.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_segment", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_segment() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:7\"),\n str(\"Seventh verse of the second chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\v 7a Seventh verse of the second chapter.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_multiple_paras", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_multiple_paras() -> None:\n rows = [\n (\n scr_ref(\"MAT 1:2\"),\n str(\"Second verse of the first chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\v 2 Second verse of the first chapter.\\r\\n\\\\li2\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_table", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_table() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:9\"),\n str(\"Ninth verse of the second chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\v 9 Ninth verse of the second chapter. \\\\tcr2 \\\\tc3 \\\\tcr4\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_range_single_row_multiple_verses", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_range_single_row_multiple_verses() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:11\", \"MAT 2:12\"),\n str(\"Eleventh verse of the second chapter. Twelfth verse of the second chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\v 11-12 Eleventh verse of the second chapter. Twelfth verse of the second chapter.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_range_single_row_single_verse", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_range_single_row_single_verse() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:11\"),\n str(\"Eleventh verse of the second chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\v 11-12 Eleventh verse of the second chapter.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_range_multiple_rows_single_verse", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_range_multiple_rows_single_verse() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:11\"),\n str(\"Eleventh verse of the second chapter.\"),\n ),\n (\n scr_ref(\"MAT 2:12\"),\n str(\"Twelfth verse of the second chapter.\"),\n ),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_merge_verse_segments", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_merge_verse_segments() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:2\"),\n str(\"Verse 2.\"),\n ),\n (\n scr_ref(\"MAT 2:2a\"),\n str(\"Verse 2a.\"),\n ),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_opt_break", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_opt_break() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:2\"),\n str(\"Second verse of the second chapter.\"),\n ),\n (\n scr_ref(\"MAT 2:3\"),\n str(\"Third verse of the second chapter.\"),\n ),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_milestone", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_milestone() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:10\"),\n str(\"Tenth verse of the second chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\v 10 Tenth verse of the second chapter. \\\\tc3-4 \\\\qt-s |Jesus\\\\*\\\\qt-e\\\\*\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_unmatched", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_unmatched() -> None:\n rows = [\n (\n scr_ref(\"MAT 1:3\"),\n str(\"Third verse of the first chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\v 3 Third verse of the first chapter.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_nonverse_char_style", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_nonverse_char_style() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:0/3:s1\"),\n str(\"The second chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\s1 The second chapter.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_nonverse_paragraph", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_nonverse_paragraph() -> None:\n rows = [\n (\n scr_ref(\"MAT 1:0/8:s\"),\n str(\"The first chapter.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\s The first chapter.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_nonverse_relaxed", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_nonverse_relaxed() -> None:\n rows = [\n (\n scr_ref(\"MAT 1:0/s\"),\n str(\"The first chapter.\"),\n ),\n (\n scr_ref(\"MAT 1:1\"),\n str(\"First verse of the first chapter.\"),\n ),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_nonverse_sidebar", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_nonverse_sidebar() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:3/1:esb/1:ms\"),\n str(\"The first paragraph of the sidebar.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\ms The first paragraph of the sidebar.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_nonverse_table", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_nonverse_table() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:0/1:tr/1:tc1\"),\n str(\"The first cell of the table.\"),\n ),\n (\n scr_ref(\"MAT 2:0/2:tr/1:tc1\"),\n str(\"The third cell of the table.\"),\n ),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_nonverse_optbreak", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_nonverse_optbreak() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:3/1:esb/2:p\"),\n str(\"The second paragraph of the sidebar.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\p The second paragraph of the sidebar.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_nonverse_milestone", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_nonverse_milestone() -> None:\n rows = [\n (\n scr_ref(\"MAT 2:7a/1:s\"),\n str(\"A new section header.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\s A new section header. \\\\ts-s\\\\*\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_nonverse_skip_note", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_nonverse_skip_note() -> None:\n rows = [\n (\n scr_ref(\"MAT 1:0/3:ip\"),\n str(\"The introductory paragraph.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\ip The introductory paragraph.\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_nonverse_replace_note", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_nonverse_replace_note() -> None:\n rows = [\n (\n scr_ref(\"MAT 1:0/3:ip\"),\n str(\"The introductory paragraph.\"),\n ),\n (\n scr_ref(\"MAT 1:0/3:ip/1:fe\"),\n str(\"This is a new endnote.\"),\n ),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_double_va_vp", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_double_va_vp() -> None:\n rows = [\n (\n scr_ref(\"MAT 3:1\"),\n str(\"Updating later in the book to start.\"),\n )\n ]\n target = update_usfm(rows)\n assert target is not None\n assert \"\\\\id MAT - Test\\r\\n\" in target", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_last_segment", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_last_segment() -> None:\n rows = [\n (\n scr_ref(\"MAT 1:1\"),\n str(\"Updating the last verse.\"),\n )\n ]\n usfm = r\"\"\"\\id MAT - Test\n\\c 1\n\\v 1", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_usfm_verse_pretranslations_before_text", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def test_get_usfm_verse_pretranslations_before_text() -> None:\n rows = [\n (\n scr_ref(\"GEN 1:1\"),\n str(\"Pretranslations before the start\"),\n ),\n (\n scr_ref(\"GEN 1:2\"),\n str(\"Pretranslations before the start\"),\n ),", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "scr_ref", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def scr_ref(*refs: str) -> List[ScriptureRef]:\n return [ScriptureRef.parse(ref) for ref in refs]\ndef update_usfm(\n rows: Optional[Sequence[Tuple[Sequence[ScriptureRef], str]]] = None,\n source: Optional[str] = None,\n id_text: Optional[str] = None,\n strip_all_text: bool = False,\n prefer_existing_text: bool = False,\n) -> Optional[str]:\n if source is None:", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "update_usfm", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def update_usfm(\n rows: Optional[Sequence[Tuple[Sequence[ScriptureRef], str]]] = None,\n source: Optional[str] = None,\n id_text: Optional[str] = None,\n strip_all_text: bool = False,\n prefer_existing_text: bool = False,\n) -> Optional[str]:\n if source is None:\n updater = FileParatextProjectTextUpdater(USFM_TEST_PROJECT_PATH)\n return updater.update_usfm(\"MAT\", rows, id_text, strip_all_text, prefer_existing_text)", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "read_usfm", + "kind": 2, + "importPath": "tests.corpora.test_update_usfm_parser_handler", + "description": "tests.corpora.test_update_usfm_parser_handler", + "peekOfCode": "def read_usfm() -> str:\n with (USFM_TEST_PROJECT_PATH / \"41MATTes.SFM\").open(\"r\", encoding=\"utf-8-sig\", newline=\"\\r\\n\") as file:\n return file.read()", + "detail": "tests.corpora.test_update_usfm_parser_handler", + "documentation": {} + }, + { + "label": "test_get_rows_nonempty_text", + "kind": 2, + "importPath": "tests.corpora.test_usfm_file_text", + "description": "tests.corpora.test_usfm_file_text", + "peekOfCode": "def test_get_rows_nonempty_text() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH)\n text = corpus.get_text(\"MAT\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 24\n assert scripture_ref(rows[0]) == ScriptureRef.parse(\"MAT 1:1\", corpus.versification)\n assert rows[0].text == \"Chapter one, verse one.\"\n assert scripture_ref(rows[1]) == ScriptureRef.parse(\"MAT 1:2\", corpus.versification)\n assert rows[1].text == \"Chapter one, verse two.\"", + "detail": "tests.corpora.test_usfm_file_text", + "documentation": {} + }, + { + "label": "test_get_rows_nonempty_text_all_text", + "kind": 2, + "importPath": "tests.corpora.test_usfm_file_text", + "description": "tests.corpora.test_usfm_file_text", + "peekOfCode": "def test_get_rows_nonempty_text_all_text() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH, include_all_text=True)\n text = corpus.get_text(\"MAT\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 50\n assert scripture_ref(rows[0]) == ScriptureRef.parse(\"MAT 1:0/1:h\", corpus.versification)\n assert rows[0].text == \"Matthew\"\n assert scripture_ref(rows[1]) == ScriptureRef.parse(\"MAT 1:0/2:mt\", corpus.versification)\n assert rows[1].text == \"Matthew\"", + "detail": "tests.corpora.test_usfm_file_text", + "documentation": {} + }, + { + "label": "test_get_rows_sentence_start", + "kind": 2, + "importPath": "tests.corpora.test_usfm_file_text", + "description": "tests.corpora.test_usfm_file_text", + "peekOfCode": "def test_get_rows_sentence_start() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH)\n text = corpus.get_text(\"MAT\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 24\n assert scripture_ref(rows[3]) == ScriptureRef.parse(\"MAT 1:4\", corpus.versification)\n assert rows[3].text == \"Chapter one, verse four,\"\n assert rows[3].is_sentence_start\n assert scripture_ref(rows[4]) == ScriptureRef.parse(\"MAT 1:5\", corpus.versification)", + "detail": "tests.corpora.test_usfm_file_text", + "documentation": {} + }, + { + "label": "test_get_rows_empty_text", + "kind": 2, + "importPath": "tests.corpora.test_usfm_file_text", + "description": "tests.corpora.test_usfm_file_text", + "peekOfCode": "def test_get_rows_empty_text() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH)\n text = corpus.get_text(\"MRK\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 0\ndef test_get_rows_include_markers() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH, include_markers=True)\n text = corpus.get_text(\"MAT\")\n assert text is not None", + "detail": "tests.corpora.test_usfm_file_text", + "documentation": {} + }, + { + "label": "test_get_rows_include_markers", + "kind": 2, + "importPath": "tests.corpora.test_usfm_file_text", + "description": "tests.corpora.test_usfm_file_text", + "peekOfCode": "def test_get_rows_include_markers() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH, include_markers=True)\n text = corpus.get_text(\"MAT\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 24\n assert scripture_ref(rows[0]) == ScriptureRef.parse(\"MAT 1:1\", corpus.versification)\n assert (\n rows[0].text == \"Chapter \\\\pn one\\\\+pro WON\\\\+pro*\\\\pn*, verse one.\\\\f + \\\\fr 1:1: \\\\ft This is a footnote.\\\\f*\"\n )", + "detail": "tests.corpora.test_usfm_file_text", + "documentation": {} + }, + { + "label": "test_get_rows_include_markers_all_text", + "kind": 2, + "importPath": "tests.corpora.test_usfm_file_text", + "description": "tests.corpora.test_usfm_file_text", + "peekOfCode": "def test_get_rows_include_markers_all_text() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH, include_markers=True, include_all_text=True)\n text = corpus.get_text(\"MAT\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 46\n assert scripture_ref(rows[2]) == ScriptureRef.parse(\"MAT 1:0/3:ip\", corpus.versification)\n assert rows[2].text == \"An introduction to Matthew\\\\fe + \\\\ft This is an endnote.\\\\fe*\"\n assert scripture_ref(rows[8]) == ScriptureRef.parse(\"MAT 1:1\", corpus.versification)\n assert (", + "detail": "tests.corpora.test_usfm_file_text", + "documentation": {} + }, + { + "label": "test_usfm_file_text_corpus_lowercase_usfm_id", + "kind": 2, + "importPath": "tests.corpora.test_usfm_file_text", + "description": "tests.corpora.test_usfm_file_text", + "peekOfCode": "def test_usfm_file_text_corpus_lowercase_usfm_id() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH)\n text = corpus.get_text(\"LEV\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 2\n assert scripture_ref(rows[0]) == ScriptureRef.parse(\"LEV 14:55\", corpus.versification)\n assert rows[0].text == \"Chapter fourteen, verse fifty-five. Segment b.\"\n assert scripture_ref(rows[1]) == ScriptureRef.parse(\"LEV 14:56\", corpus.versification)\n assert rows[1].text == \"Chapter fourteen, verse fifty-six.\"", + "detail": "tests.corpora.test_usfm_file_text", + "documentation": {} + }, + { + "label": "test_texts", + "kind": 2, + "importPath": "tests.corpora.test_usfm_file_text_corpus", + "description": "tests.corpora.test_usfm_file_text_corpus", + "peekOfCode": "def test_texts() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH)\n assert [t.id for t in corpus.texts] == [\"LEV\", \"1CH\", \"MAT\", \"MRK\"]\ndef test_get_text() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH)\n mat = corpus.get_text(\"MAT\")\n assert mat is not None\n assert any(mat.get_rows())\n luk = corpus.get_text(\"LUK\")\n assert luk is None", + "detail": "tests.corpora.test_usfm_file_text_corpus", + "documentation": {} + }, + { + "label": "test_get_text", + "kind": 2, + "importPath": "tests.corpora.test_usfm_file_text_corpus", + "description": "tests.corpora.test_usfm_file_text_corpus", + "peekOfCode": "def test_get_text() -> None:\n corpus = UsfmFileTextCorpus(USFM_TEST_PROJECT_PATH)\n mat = corpus.get_text(\"MAT\")\n assert mat is not None\n assert any(mat.get_rows())\n luk = corpus.get_text(\"LUK\")\n assert luk is None", + "detail": "tests.corpora.test_usfm_file_text_corpus", + "documentation": {} + }, + { + "label": "PretranslationDto", + "kind": 6, + "importPath": "tests.corpora.test_usfm_manual", + "description": "tests.corpora.test_usfm_manual", + "peekOfCode": "class PretranslationDto:\n text_id: str\n refs: List[str]\n translation: str\n def __post_init__(self):\n if self.text_id is None:\n raise ValueError(\"text_id is a required field\")\n if self.refs is None:\n raise ValueError(\"refs is a required field\")\n if self.translation is None:", + "detail": "tests.corpora.test_usfm_manual", + "documentation": {} + }, + { + "label": "test_parse_parallel_corpus", + "kind": 2, + "importPath": "tests.corpora.test_usfm_manual", + "description": "tests.corpora.test_usfm_manual", + "peekOfCode": "def test_parse_parallel_corpus():\n t_corpus = ParatextTextCorpus(USFM_TARGET_PROJECT_PATH, include_all_text=True, include_markers=True)\n s_corpus = ParatextTextCorpus(USFM_SOURCE_PROJECT_PATH, include_all_text=True, include_markers=True)\n p_corpus = StandardParallelTextCorpus(s_corpus, t_corpus, all_source_rows=True, all_target_rows=False)\n rows = list(p_corpus.get_rows())\n assert rows\n pretranslations: List[Tuple[List[ScriptureRef], str]] = [\n ([ScriptureRef() for s in r.source_refs], r.source_text) for r in rows\n ]\n target_settings = FileParatextProjectSettingsParser(USFM_TARGET_PROJECT_PATH).parse()", + "detail": "tests.corpora.test_usfm_manual", + "documentation": {} + }, + { + "label": "test_create_usfm_file", + "kind": 2, + "importPath": "tests.corpora.test_usfm_manual", + "description": "tests.corpora.test_usfm_manual", + "peekOfCode": "def test_create_usfm_file():\n def get_usfm(project_path: Path):\n project_archive = None\n try:\n project_archive = zipfile.ZipFile(project_path, \"r\")\n parser = ZipParatextProjectSettingsParser(project_archive)\n except IsADirectoryError:\n parser = FileParatextProjectSettingsParser(project_path)\n settings = parser.parse()\n # Read text from pretranslations file", + "detail": "tests.corpora.test_usfm_manual", + "documentation": {} + }, + { + "label": "PRETRANSLATION_PATH", + "kind": 5, + "importPath": "tests.corpora.test_usfm_manual", + "description": "tests.corpora.test_usfm_manual", + "peekOfCode": "PRETRANSLATION_PATH = TEST_DATA_PATH / \"pretranslations.json\"\nPARATEXT_PROJECT_PATH = TEST_DATA_PATH / \"project\"\n@pytest.mark.skip(reason=\"This is for manual testing only. Remove this decorator to run the test.\")\n# In order to run this test on specific projects, place the Paratext projects or Paratext project zips in the\n# tests/testutils/data/project/ folder.\ndef test_create_usfm_file():\n def get_usfm(project_path: Path):\n project_archive = None\n try:\n project_archive = zipfile.ZipFile(project_path, \"r\")", + "detail": "tests.corpora.test_usfm_manual", + "documentation": {} + }, + { + "label": "PARATEXT_PROJECT_PATH", + "kind": 5, + "importPath": "tests.corpora.test_usfm_manual", + "description": "tests.corpora.test_usfm_manual", + "peekOfCode": "PARATEXT_PROJECT_PATH = TEST_DATA_PATH / \"project\"\n@pytest.mark.skip(reason=\"This is for manual testing only. Remove this decorator to run the test.\")\n# In order to run this test on specific projects, place the Paratext projects or Paratext project zips in the\n# tests/testutils/data/project/ folder.\ndef test_create_usfm_file():\n def get_usfm(project_path: Path):\n project_archive = None\n try:\n project_archive = zipfile.ZipFile(project_path, \"r\")\n parser = ZipParatextProjectSettingsParser(project_archive)", + "detail": "tests.corpora.test_usfm_manual", + "documentation": {} + }, + { + "label": "test_get_rows_verse_descriptive_title", + "kind": 2, + "importPath": "tests.corpora.test_usfm_memory_text", + "description": "tests.corpora.test_usfm_memory_text", + "peekOfCode": "def test_get_rows_verse_descriptive_title() -> None:\n rows: List[TextRow] = get_rows(\n r\"\"\"\\id MAT - Test\n\\c 1\n\\d\n\\v 1 Descriptive title\n\\c 2\n\\b\n\\q1\n\\s", + "detail": "tests.corpora.test_usfm_memory_text", + "documentation": {} + }, + { + "label": "test_get_rows_last_segment", + "kind": 2, + "importPath": "tests.corpora.test_usfm_memory_text", + "description": "tests.corpora.test_usfm_memory_text", + "peekOfCode": "def test_get_rows_last_segment() -> None:\n rows: List[TextRow] = get_rows(\n r\"\"\"\\id MAT - Test\n\\c 1\n\\v 1 Last segment\n\"\"\"\n )\n assert len(rows) == 1\n assert scripture_ref(rows[0]) == ScriptureRef.parse(\"MAT 1:1\"), str.join(\",\", [str(tr.ref) for tr in rows])\n assert rows[0].text == \"Last segment\", str.join(\",\", [tr.text for tr in rows])", + "detail": "tests.corpora.test_usfm_memory_text", + "documentation": {} + }, + { + "label": "test_get_rows_duplicate_verse_with_table", + "kind": 2, + "importPath": "tests.corpora.test_usfm_memory_text", + "description": "tests.corpora.test_usfm_memory_text", + "peekOfCode": "def test_get_rows_duplicate_verse_with_table() -> None:\n rows: List[TextRow] = get_rows(\n r\"\"\"\\id MAT - Test\n\\c 1\n\\v 1 First verse\n\\periph Table of Contents Abbreviation\n\\rem non verse content 1\n\\v 1 duplicate first verse\n\\rem non verse content 2\n\\mt1 Table", + "detail": "tests.corpora.test_usfm_memory_text", + "documentation": {} + }, + { + "label": "test_get_rows_triplicate_verse", + "kind": 2, + "importPath": "tests.corpora.test_usfm_memory_text", + "description": "tests.corpora.test_usfm_memory_text", + "peekOfCode": "def test_get_rows_triplicate_verse() -> None:\n rows: List[TextRow] = get_rows(\n r\"\"\"\\id MAT - Test\n\\c 1\n\\v 1 First verse 1\n\\rem non verse 1\n\\v 1 First verse 2\n\\rem non verse 2\n\\v 1 First verse 3\n\\rem non verse 3", + "detail": "tests.corpora.test_usfm_memory_text", + "documentation": {} + }, + { + "label": "test_get_rows_opt_break_middle_include_markers", + "kind": 2, + "importPath": "tests.corpora.test_usfm_memory_text", + "description": "tests.corpora.test_usfm_memory_text", + "peekOfCode": "def test_get_rows_opt_break_middle_include_markers() -> None:\n rows: List[TextRow] = get_rows(\n r\"\"\"\\id MAT - Test\n\\c 1\n\\v 1 First verse in line // More text\n\\c 2\n\\v 1\n\"\"\",\n include_all_text=True,\n include_markers=True,", + "detail": "tests.corpora.test_usfm_memory_text", + "documentation": {} + }, + { + "label": "test_get_rows_verse_para_beginning_non_verse_segment", + "kind": 2, + "importPath": "tests.corpora.test_usfm_memory_text", + "description": "tests.corpora.test_usfm_memory_text", + "peekOfCode": "def test_get_rows_verse_para_beginning_non_verse_segment() -> None:\n # a verse paragraph that begins with a non-verse segment followed by a verse segment\n rows: List[TextRow] = get_rows(\n r\"\"\"\\id MAT - Test\n\\c 1\n\\q1\n\\f \\fr 119 \\ft World \\f*\n\\v 1 First verse in line!?!\n\\c 2\n\\d", + "detail": "tests.corpora.test_usfm_memory_text", + "documentation": {} + }, + { + "label": "get_rows", + "kind": 2, + "importPath": "tests.corpora.test_usfm_memory_text", + "description": "tests.corpora.test_usfm_memory_text", + "peekOfCode": "def get_rows(usfm: str, include_markers: bool = False, include_all_text: bool = False) -> List[TextRow]:\n text = UsfmMemoryText(\n UsfmStylesheet(\"usfm.sty\"),\n \"utf-8\",\n \"MAT\",\n usfm.strip().replace(\"\\r\\n\", \"\\n\").replace(\"\\r\", \"\\n\") + \"\\r\\n\",\n include_markers=include_markers,\n include_all_text=include_all_text,\n )\n return list(text.get_rows())", + "detail": "tests.corpora.test_usfm_memory_text", + "documentation": {} + }, + { + "label": "test_tokenize", + "kind": 2, + "importPath": "tests.corpora.test_usfm_tokenizer", + "description": "tests.corpora.test_usfm_tokenizer", + "peekOfCode": "def test_tokenize() -> None:\n usfm = _read_usfm()\n usfm_tokenizer = UsfmTokenizer()\n tokens = usfm_tokenizer.tokenize(usfm)\n assert len(tokens) == 236\n assert tokens[0].type is UsfmTokenType.BOOK\n assert tokens[0].marker == \"id\"\n assert tokens[0].data == \"MAT\"\n assert tokens[0].line_number == 1\n assert tokens[0].column_number == 1", + "detail": "tests.corpora.test_usfm_tokenizer", + "documentation": {} + }, + { + "label": "test_detokenize", + "kind": 2, + "importPath": "tests.corpora.test_usfm_tokenizer", + "description": "tests.corpora.test_usfm_tokenizer", + "peekOfCode": "def test_detokenize() -> None:\n usfm = _read_usfm()\n usfm_tokenizer = UsfmTokenizer()\n tokens = usfm_tokenizer.tokenize(usfm)\n result = usfm_tokenizer.detokenize(tokens)\n assert result == usfm\ndef test_tokenize_ending_paragraph_marker() -> None:\n usfm = r\"\"\"\\id MAT - Test\n\\c 1\n\\v 1 Descriptive title\\x - \\xo 18:16 \\xt hello world\\x*\\p", + "detail": "tests.corpora.test_usfm_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_ending_paragraph_marker", + "kind": 2, + "importPath": "tests.corpora.test_usfm_tokenizer", + "description": "tests.corpora.test_usfm_tokenizer", + "peekOfCode": "def test_tokenize_ending_paragraph_marker() -> None:\n usfm = r\"\"\"\\id MAT - Test\n\\c 1\n\\v 1 Descriptive title\\x - \\xo 18:16 \\xt hello world\\x*\\p\n\"\"\"\n tokens = UsfmTokenizer().tokenize(usfm)\n assert len(tokens) == 13\ndef _read_usfm() -> str:\n with (USFM_TEST_PROJECT_PATH / \"41MATTes.SFM\").open(\"r\", encoding=\"utf-8-sig\", newline=\"\\r\\n\") as file:\n return file.read()", + "detail": "tests.corpora.test_usfm_tokenizer", + "documentation": {} + }, + { + "label": "test_get_rows_nonempty_text", + "kind": 2, + "importPath": "tests.corpora.test_usx_zip_text", + "description": "tests.corpora.test_usx_zip_text", + "peekOfCode": "def test_get_rows_nonempty_text() -> None:\n with DblBundleTestEnvironment() as env:\n text = env.corpus.get_text(\"MAT\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 14\n assert scripture_ref(rows[0]) == ScriptureRef.parse(\"MAT 1:1\", env.corpus.versification)\n assert rows[0].text == \"Chapter one, verse one.\"\n assert scripture_ref(rows[1]) == ScriptureRef.parse(\"MAT 1:2\", env.corpus.versification)\n assert rows[1].text == \"Chapter one, verse two.\"", + "detail": "tests.corpora.test_usx_zip_text", + "documentation": {} + }, + { + "label": "test_get_rows_sentence_start", + "kind": 2, + "importPath": "tests.corpora.test_usx_zip_text", + "description": "tests.corpora.test_usx_zip_text", + "peekOfCode": "def test_get_rows_sentence_start() -> None:\n with DblBundleTestEnvironment() as env:\n text = env.corpus.get_text(\"MAT\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 14\n assert scripture_ref(rows[3]) == ScriptureRef.parse(\"MAT 1:4\", env.corpus.versification)\n assert rows[3].text == \"Chapter one, verse four,\"\n assert rows[3].is_sentence_start\n assert scripture_ref(rows[4]) == ScriptureRef.parse(\"MAT 1:5\", env.corpus.versification)", + "detail": "tests.corpora.test_usx_zip_text", + "documentation": {} + }, + { + "label": "test_get_rows_empty_text", + "kind": 2, + "importPath": "tests.corpora.test_usx_zip_text", + "description": "tests.corpora.test_usx_zip_text", + "peekOfCode": "def test_get_rows_empty_text() -> None:\n with DblBundleTestEnvironment() as env:\n text = env.corpus.get_text(\"MRK\")\n assert text is not None\n rows = list(text)\n assert len(rows) == 0", + "detail": "tests.corpora.test_usx_zip_text", + "documentation": {} + }, + { + "label": "_TestEnvironment", + "kind": 6, + "importPath": "tests.jobs.test_nmt_engine_build_job", + "description": "tests.jobs.test_nmt_engine_build_job", + "peekOfCode": "class _TestEnvironment:\n def __init__(self, decoy: Decoy) -> None:\n self.source_tokenizer_trainer = decoy.mock(cls=Trainer)\n self.target_tokenizer_trainer = decoy.mock(cls=Trainer)\n self.model_trainer = decoy.mock(cls=Trainer)\n stats = TrainStats()\n stats.train_corpus_size = 3\n stats.metrics[\"bleu\"] = 30.0\n decoy.when(self.model_trainer.stats).then_return(stats)\n self.engine = decoy.mock(cls=TranslationEngine)", + "detail": "tests.jobs.test_nmt_engine_build_job", + "documentation": {} + }, + { + "label": "_CancellationChecker", + "kind": 6, + "importPath": "tests.jobs.test_nmt_engine_build_job", + "description": "tests.jobs.test_nmt_engine_build_job", + "peekOfCode": "class _CancellationChecker:\n def __init__(self, raise_count: int) -> None:\n self._call_count = 0\n self._raise_count = raise_count\n def check_canceled(self) -> None:\n self._call_count += 1\n if self._call_count == self._raise_count:\n raise CanceledError", + "detail": "tests.jobs.test_nmt_engine_build_job", + "documentation": {} + }, + { + "label": "test_run", + "kind": 2, + "importPath": "tests.jobs.test_nmt_engine_build_job", + "description": "tests.jobs.test_nmt_engine_build_job", + "peekOfCode": "def test_run(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n env.job.run()\n pretranslations = json.loads(env.target_pretranslations)\n assert len(pretranslations) == 1\n assert pretranslations[0][\"translation\"] == \"Please, I have booked a room.\"\n decoy.verify(env.translation_file_service.save_model(Path(\"model.tar.gz\"), \"models/save-model.tar.gz\"), times=1)\ndef test_cancel(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n checker = _CancellationChecker(3)", + "detail": "tests.jobs.test_nmt_engine_build_job", + "documentation": {} + }, + { + "label": "test_cancel", + "kind": 2, + "importPath": "tests.jobs.test_nmt_engine_build_job", + "description": "tests.jobs.test_nmt_engine_build_job", + "peekOfCode": "def test_cancel(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n checker = _CancellationChecker(3)\n with raises(CanceledError):\n env.job.run(check_canceled=checker.check_canceled)\n assert env.target_pretranslations == \"\"\nclass _TestEnvironment:\n def __init__(self, decoy: Decoy) -> None:\n self.source_tokenizer_trainer = decoy.mock(cls=Trainer)\n self.target_tokenizer_trainer = decoy.mock(cls=Trainer)", + "detail": "tests.jobs.test_nmt_engine_build_job", + "documentation": {} + }, + { + "label": "_TestEnvironment", + "kind": 6, + "importPath": "tests.jobs.test_smt_engine_build_job", + "description": "tests.jobs.test_smt_engine_build_job", + "peekOfCode": "class _TestEnvironment:\n def __init__(self, decoy: Decoy) -> None:\n self.model_trainer = decoy.mock(cls=Trainer)\n decoy.when(self.model_trainer.__enter__()).then_return(self.model_trainer)\n stats = TrainStats()\n stats.train_corpus_size = 3\n stats.metrics[\"bleu\"] = 30.0\n decoy.when(self.model_trainer.stats).then_return(stats)\n self.engine = decoy.mock(cls=TranslationEngine)\n decoy.when(self.engine.__enter__()).then_return(self.engine)", + "detail": "tests.jobs.test_smt_engine_build_job", + "documentation": {} + }, + { + "label": "_CancellationChecker", + "kind": 6, + "importPath": "tests.jobs.test_smt_engine_build_job", + "description": "tests.jobs.test_smt_engine_build_job", + "peekOfCode": "class _CancellationChecker:\n def __init__(self, raise_count: int) -> None:\n self._call_count = 0\n self._raise_count = raise_count\n def check_canceled(self) -> None:\n self._call_count += 1\n if self._call_count == self._raise_count:\n raise CanceledError", + "detail": "tests.jobs.test_smt_engine_build_job", + "documentation": {} + }, + { + "label": "test_run", + "kind": 2, + "importPath": "tests.jobs.test_smt_engine_build_job", + "description": "tests.jobs.test_smt_engine_build_job", + "peekOfCode": "def test_run(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n env.job.run()\n pretranslations = json.loads(env.target_pretranslations)\n assert len(pretranslations) == 1\n assert pretranslations[0][\"translation\"] == \"Please, I have booked a room.\"\n decoy.verify(\n env.translation_file_service.save_model(matchers.Anything(), f\"builds/{env.job._config.build_id}/model.zip\"),\n times=1,\n )", + "detail": "tests.jobs.test_smt_engine_build_job", + "documentation": {} + }, + { + "label": "test_cancel", + "kind": 2, + "importPath": "tests.jobs.test_smt_engine_build_job", + "description": "tests.jobs.test_smt_engine_build_job", + "peekOfCode": "def test_cancel(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n checker = _CancellationChecker(3)\n with raises(CanceledError):\n env.job.run(check_canceled=checker.check_canceled)\n assert env.target_pretranslations == \"\"\nclass _TestEnvironment:\n def __init__(self, decoy: Decoy) -> None:\n self.model_trainer = decoy.mock(cls=Trainer)\n decoy.when(self.model_trainer.__enter__()).then_return(self.model_trainer)", + "detail": "tests.jobs.test_smt_engine_build_job", + "documentation": {} + }, + { + "label": "_TestEnvironment", + "kind": 6, + "importPath": "tests.jobs.test_word_alignment_build_job", + "description": "tests.jobs.test_word_alignment_build_job", + "peekOfCode": "class _TestEnvironment:\n def __init__(self, decoy: Decoy) -> None:\n self.model_trainer = decoy.mock(cls=Trainer)\n decoy.when(self.model_trainer.__enter__()).then_return(self.model_trainer)\n stats = TrainStats()\n stats.train_corpus_size = 3\n stats.metrics[\"bleu\"] = 30.0\n decoy.when(self.model_trainer.stats).then_return(stats)\n self.model = decoy.mock(cls=WordAlignmentModel)\n decoy.when(self.model.__enter__()).then_return(self.model)", + "detail": "tests.jobs.test_word_alignment_build_job", + "documentation": {} + }, + { + "label": "_CancellationChecker", + "kind": 6, + "importPath": "tests.jobs.test_word_alignment_build_job", + "description": "tests.jobs.test_word_alignment_build_job", + "peekOfCode": "class _CancellationChecker:\n def __init__(self, raise_count: int) -> None:\n self._call_count = 0\n self._raise_count = raise_count\n def check_canceled(self) -> None:\n self._call_count += 1\n if self._call_count == self._raise_count:\n raise CanceledError", + "detail": "tests.jobs.test_word_alignment_build_job", + "documentation": {} + }, + { + "label": "test_run", + "kind": 2, + "importPath": "tests.jobs.test_word_alignment_build_job", + "description": "tests.jobs.test_word_alignment_build_job", + "peekOfCode": "def test_run(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n env.job.run()\n alignments = json.loads(env.alignment_json)\n assert len(alignments) == 1\n assert alignments[0][\"alignment\"] == \"0-0 1-1 2-2\"\n decoy.verify(\n env.word_alignment_file_service.save_model(matchers.Anything(), f\"builds/{env.job._config.build_id}/model.zip\"),\n times=1,\n )", + "detail": "tests.jobs.test_word_alignment_build_job", + "documentation": {} + }, + { + "label": "test_cancel", + "kind": 2, + "importPath": "tests.jobs.test_word_alignment_build_job", + "description": "tests.jobs.test_word_alignment_build_job", + "peekOfCode": "def test_cancel(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n checker = _CancellationChecker(3)\n with raises(CanceledError):\n env.job.run(check_canceled=checker.check_canceled)\n assert env.alignment_json == \"\"\nclass _TestEnvironment:\n def __init__(self, decoy: Decoy) -> None:\n self.model_trainer = decoy.mock(cls=Trainer)\n decoy.when(self.model_trainer.__enter__()).then_return(self.model_trainer)", + "detail": "tests.jobs.test_word_alignment_build_job", + "documentation": {} + }, + { + "label": "test_get_books", + "kind": 2, + "importPath": "tests.scripture.test_parse", + "description": "tests.scripture.test_parse", + "peekOfCode": "def test_get_books() -> None:\n assert get_books(\"MAL\") == {39}\n assert get_books(\"GEN,EXO\") == {1, 2}\n assert get_books(\"GEN,EXO\") == get_books([\"GEN\", \"EXO\"])\n assert get_books(\"OT\") == {i for i in range(1, 40)}\n assert get_books(\"NT\") == {i for i in range(40, 67)}\n whole_bible = {i for i in range(1, 67)}\n assert get_books(\"NT,OT\") == whole_bible\n whole_bible.remove(2) # EXO\n whole_bible.remove(41) # MRK", + "detail": "tests.scripture.test_parse", + "documentation": {} + }, + { + "label": "test_get_chapters", + "kind": 2, + "importPath": "tests.scripture.test_parse", + "description": "tests.scripture.test_parse", + "peekOfCode": "def test_get_chapters() -> None:\n assert get_chapters([]) == {}\n assert get_chapters(\"MAL\") == {39: []}\n assert get_chapters(\"PS2\") == {84: []}\n assert get_chapters(\"GEN,EXO\") == {1: [], 2: []}\n assert get_chapters(\"1JN,2JN\") == {62: [], 63: []}\n assert get_chapters(\"OT\") == {i: [] for i in range(1, 40)}\n assert get_chapters(\"NT\") == {i: [] for i in range(40, 67)}\n whole_bible = {i: [] for i in range(1, 67)}\n assert get_chapters(\"NT,OT\") == whole_bible", + "detail": "tests.scripture.test_parse", + "documentation": {} + }, + { + "label": "test_constructor", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_constructor() -> None:\n vref = VerseRef(1, 2, 3, SEPTUAGINT_VERSIFICATION)\n assert vref.is_valid\n assert vref.bbbcccvvv == 1002003\n assert vref.bbbcccvvvs == \"001002003\"\n assert vref.book_num == 1\n assert vref.book == \"GEN\"\n assert vref.chapter_num == 2\n assert vref.chapter == \"2\"\n assert vref.verse_num == 3", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_string", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_string() -> None:\n vref = VerseRef.from_string(\"LUK 3:4b-5a\", VULGATE_VERSIFICATION)\n assert vref.is_valid\n assert vref.bbbcccvvv == 42003004\n assert vref.bbbcccvvvs == \"042003004b\"\n assert vref.book_num == 42\n assert vref.chapter_num == 3\n assert vref.verse_num == 4\n assert vref.verse == \"4b-5a\"\n assert vref.validated_segment() == \"b\"", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_bbbcccvvv", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_bbbcccvvv() -> None:\n vref = VerseRef.from_bbbcccvvv(12015013)\n assert vref.bbbcccvvv == 12015013\n assert vref.bbbcccvvvs == \"012015013\"\n assert vref.book == \"2KI\"\n assert vref.book_num == 12\n assert vref.chapter_num == 15\n assert vref.verse_num == 13\n assert vref.verse == \"13\"\n assert vref.versification == ENGLISH_VERSIFICATION", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_chapter_and_verse_as_empty_strings", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_chapter_and_verse_as_empty_strings() -> None:\n vref = VerseRef(\"LUK\", \"\", \"\", SEPTUAGINT_VERSIFICATION)\n assert vref.valid_status == ValidStatus.OUT_OF_RANGE\n assert vref.book == \"LUK\"\n assert vref.chapter == \"\"\n assert vref.verse == \"\"\n assert vref.book_num == 42\n assert vref.chapter_num == -1\n assert vref.verse_num == -1\n vref = VerseRef(\"LUK\", \"5\", \"3\", SEPTUAGINT_VERSIFICATION)", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_verse_with_rtl_markers", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_verse_with_rtl_markers() -> None:\n vref = VerseRef(\"LUK\", \"5\", \"1\\u200f-2\", SEPTUAGINT_VERSIFICATION)\n assert vref.valid_status == ValidStatus.VALID\n assert vref.book == \"LUK\"\n assert vref.chapter == \"5\"\n assert vref.verse == \"1-2\"\n assert vref.book_num == 42\n assert vref.chapter_num == 5\n assert vref.verse_num == 1\ndef test_build_verse_ref_by_props() -> None:", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_build_verse_ref_by_props", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_build_verse_ref_by_props() -> None:\n vref = VerseRef()\n vref.versification = ENGLISH_VERSIFICATION\n assert vref.valid_status == ValidStatus.OUT_OF_RANGE\n assert vref.bbbcccvvv == 0\n vref.book_num = 13\n assert vref.valid_status == ValidStatus.OUT_OF_RANGE\n assert vref.bbbcccvvv == 13000000\n assert vref.book_num == 13\n assert vref.chapter_num == 0", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_invalid", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_invalid() -> None:\n with raises(ValueError):\n VerseRef(-1, 1, 1)\n with raises(ValueError):\n VerseRef(LAST_BOOK + 1, 1, 1)\n with raises(ValueError):\n VerseRef(2, -42, 1)\n with raises(ValueError):\n VerseRef(2, 1, -4)\n with raises(ValueError):", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_segments", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_segments() -> None:\n assert VerseRef.from_string(\"MAT 3:13\").bbbcccvvvs == \"040003013\"\n assert VerseRef.from_string(\"MAT 3:12a\").bbbcccvvvs == \"040003012a\"\n assert VerseRef.from_string(\"1KI 2:35a-35h\").bbbcccvvvs == \"011002035a\"\n assert VerseRef.from_string(\"ESG 8:8a\").bbbcccvvvs == \"069008008a\"\n assert VerseRef.from_string(\"MAT 12:1-3,5a,6c-9\").bbbcccvvvs == \"040012001\"\n assert VerseRef.from_string(\"MAT 3:13b-12a\").bbbcccvvvs == \"040003013b\"\ndef test_is_valid() -> None:\n assert VerseRef.from_string(\"GEN 1:1\").is_valid\n assert VerseRef.from_string(\"GEN 1:1-2\").is_valid", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_is_valid", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_is_valid() -> None:\n assert VerseRef.from_string(\"GEN 1:1\").is_valid\n assert VerseRef.from_string(\"GEN 1:1-2\").is_valid\n assert VerseRef.from_string(\"GEN 1:1,3\").is_valid\n assert VerseRef.from_string(\"GEN 1:1,3,7\").is_valid\n assert VerseRef.from_string(\"PSA 119:1,3-6\").is_valid\ndef test_is_valid_segments() -> None:\n assert VerseRef.from_string(\"GEN 1:1b\").is_valid\n assert VerseRef.from_string(\"GEN 1:1c-2a\").is_valid\n assert VerseRef.from_string(\"GEN 1:1a,3b\").is_valid", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_is_valid_segments", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_is_valid_segments() -> None:\n assert VerseRef.from_string(\"GEN 1:1b\").is_valid\n assert VerseRef.from_string(\"GEN 1:1c-2a\").is_valid\n assert VerseRef.from_string(\"GEN 1:1a,3b\").is_valid\n assert VerseRef.from_string(\"GEN 1:1a,3c,7b\").is_valid\n assert VerseRef.from_string(\"GEN 1:1a,3c-6a\").is_valid\ndef test_valid_status_invalid_order() -> None:\n assert VerseRef.from_string(\"GEN 1:2-1\").valid_status == ValidStatus.VERSE_OUT_OF_ORDER\n assert VerseRef.from_string(\"GEN 1:2,1\").valid_status == ValidStatus.VERSE_OUT_OF_ORDER\n assert VerseRef.from_string(\"GEN 1:2-3,1\").valid_status == ValidStatus.VERSE_OUT_OF_ORDER", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_valid_status_invalid_order", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_valid_status_invalid_order() -> None:\n assert VerseRef.from_string(\"GEN 1:2-1\").valid_status == ValidStatus.VERSE_OUT_OF_ORDER\n assert VerseRef.from_string(\"GEN 1:2,1\").valid_status == ValidStatus.VERSE_OUT_OF_ORDER\n assert VerseRef.from_string(\"GEN 1:2-3,1\").valid_status == ValidStatus.VERSE_OUT_OF_ORDER\n assert VerseRef.from_string(\"GEN 1:5,2-3\").valid_status == ValidStatus.VERSE_OUT_OF_ORDER\ndef test_valid_status_invalid_in_versification() -> None:\n # Invalid chapters\n assert VerseRef.from_string(\"GEN 100:1\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"PHM 2:1\").valid_status == ValidStatus.OUT_OF_RANGE\n # Invalid verses", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_valid_status_invalid_in_versification", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_valid_status_invalid_in_versification() -> None:\n # Invalid chapters\n assert VerseRef.from_string(\"GEN 100:1\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"PHM 2:1\").valid_status == ValidStatus.OUT_OF_RANGE\n # Invalid verses\n assert VerseRef.from_string(\"GEN 1:100\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:100-2\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:1-200\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:100,3\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:1,300\").valid_status == ValidStatus.OUT_OF_RANGE", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_valid_status_invalid_excluded_in_versification", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_valid_status_invalid_excluded_in_versification() -> None:\n versification = Versification.create(\"Dummy\")\n versification.excluded_verses.add(VerseRef.from_string(\"GEN 1:30\").bbbcccvvv)\n # Valid verses (surrounding excluded verse)\n assert VerseRef.from_string(\"GEN 1:29\", versification).is_valid\n assert VerseRef.from_string(\"GEN 1:31\", versification).is_valid\n # Invalid (excluded) verse\n assert VerseRef.from_string(\"GEN 1:30\", versification).valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:30,31\", versification).valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:29,30\", versification).valid_status == ValidStatus.OUT_OF_RANGE", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_valid_status_excluded_verse", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_valid_status_excluded_verse() -> None:\n versification = Versification.create(\"Dummy\")\n versification.excluded_verses.add(get_bbbcccvvv(1, 2, 2))\n # If an excluded verse is within a verse range, it is valid.\n assert VerseRef.from_string(\"GEN 2:1-3\", versification).is_valid\n # If an excluded verse is explicitly included in the reference, it is invalid.\n assert VerseRef.from_string(\"GEN 2:2\", versification).valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 2:2-3\", versification).valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 2:1-2\", versification).valid_status == ValidStatus.OUT_OF_RANGE\ndef test_valid_status_invalid_versification_on_segments() -> None:", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_valid_status_invalid_versification_on_segments", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_valid_status_invalid_versification_on_segments() -> None:\n assert VerseRef.from_string(\"GEN 1:100b\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:1c-200a\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:1a,300b\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:1a,3c,700b\").valid_status == ValidStatus.OUT_OF_RANGE\n assert VerseRef.from_string(\"GEN 1:1a,3c-600a\").valid_status == ValidStatus.OUT_OF_RANGE\ndef test_from_string_valid() -> None:\n vref = VerseRef.from_string(\"Gen 1:1\", ENGLISH_VERSIFICATION)\n assert vref.is_valid\n assert vref.bbbcccvvv == 1001001", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_string_valid", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_string_valid() -> None:\n vref = VerseRef.from_string(\"Gen 1:1\", ENGLISH_VERSIFICATION)\n assert vref.is_valid\n assert vref.bbbcccvvv == 1001001\ndef test_from_string_bridge() -> None:\n vref = VerseRef.from_string(\"NUM 5:1-5\", ENGLISH_VERSIFICATION)\n assert vref.is_valid\n assert vref.bbbcccvvv == 4005001\n assert vref.bbbcccvvvs == \"004005001\"\n assert str(vref) == \"NUM 5:1-5\"", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_string_bridge", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_string_bridge() -> None:\n vref = VerseRef.from_string(\"NUM 5:1-5\", ENGLISH_VERSIFICATION)\n assert vref.is_valid\n assert vref.bbbcccvvv == 4005001\n assert vref.bbbcccvvvs == \"004005001\"\n assert str(vref) == \"NUM 5:1-5\"\n assert vref.str_with_versification() == \"NUM 5:1-5/4\"\n assert vref.book_num == 4\n assert vref.chapter_num == 5\n assert vref.verse_num == 1", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_string_bridge_with_versification", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_string_bridge_with_versification() -> None:\n vref = VerseRef.from_string(\"NUM 5:1-5/2\")\n assert vref.is_valid\n assert vref.bbbcccvvv == 4005001\n assert vref.bbbcccvvvs == \"004005001\"\n assert str(vref) == \"NUM 5:1-5\"\n assert vref.str_with_versification() == \"NUM 5:1-5/2\"\n assert vref.book_num == 4\n assert vref.chapter_num == 5\n assert vref.verse_num == 1", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_string_book_intro", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_string_book_intro() -> None:\n vref = VerseRef.from_string(\"JOS 1:0\")\n assert vref.is_valid\n assert vref.bbbcccvvv == 6001000\ndef test_from_string_chapter_intro() -> None:\n vref = VerseRef.from_string(\"JOS 2:0\")\n assert vref.is_valid\n assert vref.bbbcccvvv == 6002000\ndef test_from_string_weird() -> None:\n vref = VerseRef.from_string(\"EXO 0:18\")", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_string_chapter_intro", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_string_chapter_intro() -> None:\n vref = VerseRef.from_string(\"JOS 2:0\")\n assert vref.is_valid\n assert vref.bbbcccvvv == 6002000\ndef test_from_string_weird() -> None:\n vref = VerseRef.from_string(\"EXO 0:18\")\n assert not vref.is_valid\n assert vref.bbbcccvvv == 2000018\n assert vref.book_num == 2\n assert vref.chapter_num == 0", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_string_weird", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_string_weird() -> None:\n vref = VerseRef.from_string(\"EXO 0:18\")\n assert not vref.is_valid\n assert vref.bbbcccvvv == 2000018\n assert vref.book_num == 2\n assert vref.chapter_num == 0\n assert vref.verse_num == 18\ndef test_parse_ref_invalid_book() -> None:\n with raises(ValueError):\n VerseRef.from_string(\"BLA 1:1\")", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_parse_ref_invalid_book", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_parse_ref_invalid_book() -> None:\n with raises(ValueError):\n VerseRef.from_string(\"BLA 1:1\")\n with raises(ValueError):\n VerseRef(\"BLA\", \"1\", \"1\")\ndef test_from_string_invalid_numbers() -> None:\n with raises(ValueError):\n VerseRef.from_string(\"EXO 6:-18\")\n with raises(ValueError):\n VerseRef.from_string(\"EXO -1:18\")", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_string_invalid_numbers", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_string_invalid_numbers() -> None:\n with raises(ValueError):\n VerseRef.from_string(\"EXO 6:-18\")\n with raises(ValueError):\n VerseRef.from_string(\"EXO -1:18\")\ndef test_from_string_letters() -> None:\n with raises(ValueError):\n VerseRef.from_string(\"EXO F:18\")\n with raises(ValueError):\n VerseRef.from_string(\"EXO 1:F\")", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_from_string_letters", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_from_string_letters() -> None:\n with raises(ValueError):\n VerseRef.from_string(\"EXO F:18\")\n with raises(ValueError):\n VerseRef.from_string(\"EXO 1:F\")\ndef test_copy_from() -> None:\n source = VerseRef(\"LUK\", \"3\", \"4b-6a\", VULGATE_VERSIFICATION)\n dest = VerseRef()\n dest.copy_from(source)\n # Now change the source to ensure that we didn't just make it referentially equal.", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_copy_from", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_copy_from() -> None:\n source = VerseRef(\"LUK\", \"3\", \"4b-6a\", VULGATE_VERSIFICATION)\n dest = VerseRef()\n dest.copy_from(source)\n # Now change the source to ensure that we didn't just make it referentially equal.\n source.book_num = 2\n source.chapter_num = 6\n source.verse_num = 9\n source.versification = ENGLISH_VERSIFICATION\n assert dest.book == \"LUK\"", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_copy_verse_from", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_copy_verse_from() -> None:\n source = VerseRef(\"LUK\", \"3\", \"4b-6a\", VULGATE_VERSIFICATION)\n dest = VerseRef(1, 3, 5, RUSSIAN_ORTHODOX_VERSIFICATION)\n dest.copy_verse_from(source)\n # Now change the source to ensure that we didn't just make it referentially equal.\n source.book_num = 2\n source.chapter_num = 6\n source.verse_num = 9\n source.versification = ENGLISH_VERSIFICATION\n assert dest.book == \"GEN\"", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_all_verses_bridge", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_all_verses_bridge() -> None:\n vref = VerseRef(\"LUK\", \"3\", \"4b-6a\", VULGATE_VERSIFICATION)\n assert list(vref.all_verses()) == [\n VerseRef(\"LUK\", \"3\", \"4b\", VULGATE_VERSIFICATION),\n VerseRef(\"LUK\", \"3\", \"5\", VULGATE_VERSIFICATION),\n VerseRef(\"LUK\", \"3\", \"6a\", VULGATE_VERSIFICATION),\n ]\ndef test_all_verses_simple_verse() -> None:\n vref = VerseRef(\"LUK\", \"3\", \"12\", VULGATE_VERSIFICATION)\n assert list(vref.all_verses()) == [vref]", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_all_verses_simple_verse", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_all_verses_simple_verse() -> None:\n vref = VerseRef(\"LUK\", \"3\", \"12\", VULGATE_VERSIFICATION)\n assert list(vref.all_verses()) == [vref]\ndef test_all_verses_verse_with_segment() -> None:\n vref = VerseRef(\"LUK\", \"3\", \"12v\", VULGATE_VERSIFICATION)\n assert list(vref.all_verses()) == [vref]\ndef test_get_ranges_single_verse() -> None:\n vref = VerseRef.from_string(\"LUK 3:12\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [VerseRef.from_string(\"LUK 3:12\", ORIGINAL_VERSIFICATION)]\ndef test_get_ranges_single_range() -> None:", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_all_verses_verse_with_segment", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_all_verses_verse_with_segment() -> None:\n vref = VerseRef(\"LUK\", \"3\", \"12v\", VULGATE_VERSIFICATION)\n assert list(vref.all_verses()) == [vref]\ndef test_get_ranges_single_verse() -> None:\n vref = VerseRef.from_string(\"LUK 3:12\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [VerseRef.from_string(\"LUK 3:12\", ORIGINAL_VERSIFICATION)]\ndef test_get_ranges_single_range() -> None:\n vref = VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION)]\ndef test_get_ranges_multiple_ranges() -> None:", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_get_ranges_single_verse", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_get_ranges_single_verse() -> None:\n vref = VerseRef.from_string(\"LUK 3:12\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [VerseRef.from_string(\"LUK 3:12\", ORIGINAL_VERSIFICATION)]\ndef test_get_ranges_single_range() -> None:\n vref = VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION)]\ndef test_get_ranges_multiple_ranges() -> None:\n vref = VerseRef.from_string(\"LUK 3:12-14,16-17\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [\n VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION),", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_get_ranges_single_range", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_get_ranges_single_range() -> None:\n vref = VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION)]\ndef test_get_ranges_multiple_ranges() -> None:\n vref = VerseRef.from_string(\"LUK 3:12-14,16-17\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [\n VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION),\n VerseRef.from_string(\"LUK 3:16-17\", ORIGINAL_VERSIFICATION),\n ]\ndef test_get_ranges_complicated_ranges() -> None:", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_get_ranges_multiple_ranges", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_get_ranges_multiple_ranges() -> None:\n vref = VerseRef.from_string(\"LUK 3:12-14,16-17\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [\n VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION),\n VerseRef.from_string(\"LUK 3:16-17\", ORIGINAL_VERSIFICATION),\n ]\ndef test_get_ranges_complicated_ranges() -> None:\n vref = VerseRef.from_string(\"LUK 3:12-14,16b-17a,18a,19,20\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [\n VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION),", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_get_ranges_complicated_ranges", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_get_ranges_complicated_ranges() -> None:\n vref = VerseRef.from_string(\"LUK 3:12-14,16b-17a,18a,19,20\", ORIGINAL_VERSIFICATION)\n assert list(vref.get_ranges()) == [\n VerseRef.from_string(\"LUK 3:12-14\", ORIGINAL_VERSIFICATION),\n VerseRef.from_string(\"LUK 3:16b-17a\", ORIGINAL_VERSIFICATION),\n VerseRef.from_string(\"LUK 3:18a\", ORIGINAL_VERSIFICATION),\n VerseRef.from_string(\"LUK 3:19\", ORIGINAL_VERSIFICATION),\n VerseRef.from_string(\"LUK 3:20\", ORIGINAL_VERSIFICATION),\n ]\ndef test_lt() -> None:", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_lt", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_lt() -> None:\n assert VerseRef(1, 1, 1) < VerseRef(2, 1, 1)\n assert not (VerseRef(10, 1, 1) < VerseRef(1, 1, 1))\n assert VerseRef(\"GEN\", \"1\", \"1a\") < VerseRef(\"GEN\", \"1\", \"1b\")\n assert VerseRef(1, 1, 1) < VerseRef(\"GEN\", \"1\", \"1a\")\n assert not (VerseRef(\"GEN\", \"1\", \"1a\") < VerseRef(1, 1, 1))\ndef test_le() -> None:\n assert VerseRef(1, 1, 1) <= VerseRef(2, 1, 1)\n assert not (VerseRef(10, 1, 1) <= VerseRef(1, 1, 1))\n assert VerseRef(1, 1, 1) <= VerseRef(1, 1, 1)", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_le", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_le() -> None:\n assert VerseRef(1, 1, 1) <= VerseRef(2, 1, 1)\n assert not (VerseRef(10, 1, 1) <= VerseRef(1, 1, 1))\n assert VerseRef(1, 1, 1) <= VerseRef(1, 1, 1)\n assert VerseRef(\"GEN\", \"1\", \"1a\") <= VerseRef(\"GEN\", \"1\", \"1b\")\n assert VerseRef(\"GEN\", \"1\", \"1a\") <= VerseRef(\"GEN\", \"1\", \"1a\")\n assert VerseRef(1, 1, 1) <= VerseRef(\"GEN\", \"1\", \"1a\")\n assert not (VerseRef(\"GEN\", \"1\", \"1a\") <= VerseRef(1, 1, 1))\ndef test_gt() -> None:\n assert VerseRef(2, 1, 1) > VerseRef(1, 1, 1)", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_gt", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_gt() -> None:\n assert VerseRef(2, 1, 1) > VerseRef(1, 1, 1)\n assert not (VerseRef(1, 1, 1) > VerseRef(10, 1, 1))\n assert VerseRef(\"GEN\", \"1\", \"1b\") > VerseRef(\"GEN\", \"1\", \"1a\")\n assert VerseRef(\"GEN\", \"1\", \"1a\") > VerseRef(1, 1, 1)\n assert not (VerseRef(1, 1, 1) > VerseRef(\"GEN\", \"1\", \"1a\"))\ndef test_ge() -> None:\n assert VerseRef(2, 1, 1) >= VerseRef(1, 1, 1)\n assert not (VerseRef(1, 1, 1) >= VerseRef(10, 1, 1))\n assert VerseRef(1, 1, 1) >= VerseRef(1, 1, 1)", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_ge", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_ge() -> None:\n assert VerseRef(2, 1, 1) >= VerseRef(1, 1, 1)\n assert not (VerseRef(1, 1, 1) >= VerseRef(10, 1, 1))\n assert VerseRef(1, 1, 1) >= VerseRef(1, 1, 1)\n assert VerseRef(\"GEN\", \"1\", \"1b\") >= VerseRef(\"GEN\", \"1\", \"1a\")\n assert VerseRef(\"GEN\", \"1\", \"1a\") >= VerseRef(\"GEN\", \"1\", \"1a\")\n assert VerseRef(\"GEN\", \"1\", \"1a\") >= VerseRef(1, 1, 1)\n assert not (VerseRef(1, 1, 1) >= VerseRef(\"GEN\", \"1\", \"1a\"))\ndef test_eq() -> None:\n assert VerseRef(1, 1, 1) == VerseRef(1, 1, 1)", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_eq", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_eq() -> None:\n assert VerseRef(1, 1, 1) == VerseRef(1, 1, 1)\n assert VerseRef(\"GEN\", \"1\", \"1a\") == VerseRef(\"GEN\", \"1\", \"1a\")\n assert VerseRef(\"GEN\", \"1\", \"1a\") != VerseRef(\"GEN\", \"1\", \"1b\")\n assert VerseRef(\"GEN\", \"1\", \"1a\") != VerseRef(1, 1, 1)\n assert VerseRef(\"GEN\", \"1\", \"1a\") != 1001001\ndef test_change_versification() -> None:\n vref = VerseRef.from_string(\"EXO 6:0\", ENGLISH_VERSIFICATION)\n vref.change_versification(ORIGINAL_VERSIFICATION)\n assert vref == VerseRef.from_string(\"EXO 6:0\", ORIGINAL_VERSIFICATION)", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_change_versification", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_change_versification() -> None:\n vref = VerseRef.from_string(\"EXO 6:0\", ENGLISH_VERSIFICATION)\n vref.change_versification(ORIGINAL_VERSIFICATION)\n assert vref == VerseRef.from_string(\"EXO 6:0\", ORIGINAL_VERSIFICATION)\n vref = VerseRef.from_string(\"GEN 31:55\", ENGLISH_VERSIFICATION)\n vref.change_versification(ORIGINAL_VERSIFICATION)\n assert vref == VerseRef.from_string(\"GEN 32:1\", ORIGINAL_VERSIFICATION)\n vref = VerseRef.from_string(\"ESG 1:2\", ENGLISH_VERSIFICATION)\n vref.change_versification(SEPTUAGINT_VERSIFICATION)\n assert vref == VerseRef.from_string(\"ESG 1:1b\", SEPTUAGINT_VERSIFICATION)", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_change_versification_with_ranges", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_change_versification_with_ranges() -> None:\n vref = VerseRef.from_string(\"EXO 6:0\", ENGLISH_VERSIFICATION)\n assert vref.change_versification(ORIGINAL_VERSIFICATION)\n assert vref == VerseRef.from_string(\"EXO 6:0\", ORIGINAL_VERSIFICATION)\n vref = VerseRef.from_string(\"GEN 31:55\", ENGLISH_VERSIFICATION)\n assert vref.change_versification(ORIGINAL_VERSIFICATION)\n assert vref == VerseRef.from_string(\"GEN 32:1\", ORIGINAL_VERSIFICATION)\n vref = VerseRef.from_string(\"GEN 32:3-4\", ENGLISH_VERSIFICATION)\n assert vref.change_versification(ORIGINAL_VERSIFICATION)\n assert vref == VerseRef.from_string(\"GEN 32:4-5\", ORIGINAL_VERSIFICATION)", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_with_without_verse_bridges", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_with_without_verse_bridges() -> None:\n vref_without_bridge = VerseRef(1, 1, 2)\n vref_with_bridge = VerseRef.from_string(\"GEN 1:2-3\")\n assert vref_with_bridge.compare_to(vref_without_bridge) > 0\n assert vref_without_bridge.compare_to(vref_with_bridge) < 0\ndef test_compare_to_same_verse_bridge() -> None:\n vref1 = VerseRef.from_string(\"GEN 1:1-2\")\n vref2 = VerseRef.from_string(\"GEN 1:1-2\")\n assert vref2.compare_to(vref1) == 0\ndef test_compare_to_overlapping_verse_bridges() -> None:", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_same_verse_bridge", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_same_verse_bridge() -> None:\n vref1 = VerseRef.from_string(\"GEN 1:1-2\")\n vref2 = VerseRef.from_string(\"GEN 1:1-2\")\n assert vref2.compare_to(vref1) == 0\ndef test_compare_to_overlapping_verse_bridges() -> None:\n vref1 = VerseRef.from_string(\"GEN 1:1-2\")\n vref2 = VerseRef.from_string(\"GEN 1:2-3\")\n assert vref2.compare_to(vref1) > 0\n assert vref1.compare_to(vref2) < 0\ndef test_compare_to_verse_lists() -> None:", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_overlapping_verse_bridges", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_overlapping_verse_bridges() -> None:\n vref1 = VerseRef.from_string(\"GEN 1:1-2\")\n vref2 = VerseRef.from_string(\"GEN 1:2-3\")\n assert vref2.compare_to(vref1) > 0\n assert vref1.compare_to(vref2) < 0\ndef test_compare_to_verse_lists() -> None:\n vref1 = VerseRef.from_string(\"GEN 1:2,3,21\")\n vref2 = VerseRef.from_string(\"GEN 1:2,21\")\n assert vref2.compare_to(vref1) > 0\n assert vref1.compare_to(vref2) < 0", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_verse_lists", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_verse_lists() -> None:\n vref1 = VerseRef.from_string(\"GEN 1:2,3,21\")\n vref2 = VerseRef.from_string(\"GEN 1:2,21\")\n assert vref2.compare_to(vref1) > 0\n assert vref1.compare_to(vref2) < 0\n vref1 = VerseRef.from_string(\"GEN 1:2,3,21\")\n vref2 = VerseRef.from_string(\"GEN 1:2,3\")\n assert vref2.compare_to(vref1) < 0\n assert vref1.compare_to(vref2) > 0\ndef test_compare_to_verse_bridge_includes_another() -> None:", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_verse_bridge_includes_another", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_verse_bridge_includes_another() -> None:\n vref1 = VerseRef.from_string(\"GEN 1:1-2\")\n vref2 = VerseRef.from_string(\"GEN 1:1-5\")\n assert vref2.compare_to(vref1) > 0\n assert vref1.compare_to(vref2) < 0\ndef test_compare_to_versification_makes_different_verse_same() -> None:\n vref1 = VerseRef.from_string(\"EXO 8:1\", ENGLISH_VERSIFICATION)\n # Set up another VerseRef that has a different verse that is defined to be same as EXO 8:1 in the Septuagint\n # (The Septuagint is the same as original versification for these verses).\n vref2 = VerseRef.from_string(\"EXO 7:26\", SEPTUAGINT_VERSIFICATION)", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_versification_makes_different_verse_same", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_versification_makes_different_verse_same() -> None:\n vref1 = VerseRef.from_string(\"EXO 8:1\", ENGLISH_VERSIFICATION)\n # Set up another VerseRef that has a different verse that is defined to be same as EXO 8:1 in the Septuagint\n # (The Septuagint is the same as original versification for these verses).\n vref2 = VerseRef.from_string(\"EXO 7:26\", SEPTUAGINT_VERSIFICATION)\n assert vref2.compare_to(vref1) == 0\n assert vref1.compare_to(vref2) == 0\ndef test_compare_to_versification_makes_different_verse_range_same() -> None:\n vref1 = VerseRef.from_string(\"EXO 8:2-3\", ENGLISH_VERSIFICATION)\n # Set up another VerseRef that has a different verse range that is defined to be same as EXO 8:2-3 in original", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_versification_makes_different_verse_range_same", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_versification_makes_different_verse_range_same() -> None:\n vref1 = VerseRef.from_string(\"EXO 8:2-3\", ENGLISH_VERSIFICATION)\n # Set up another VerseRef that has a different verse range that is defined to be same as EXO 8:2-3 in original\n # versification.\n vref2 = VerseRef.from_string(\"EXO 7:27-28\", ORIGINAL_VERSIFICATION)\n assert vref2.compare_to(vref1) == 0\n assert vref1.compare_to(vref2) == 0\ndef test_compare_to_versification_makes_same_verse_different() -> None:\n vref1 = VerseRef.from_string(\"EXO 8:1\", ENGLISH_VERSIFICATION)\n # Set up another VerseRef that has a different verse that is different from original.", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_versification_makes_same_verse_different", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_versification_makes_same_verse_different() -> None:\n vref1 = VerseRef.from_string(\"EXO 8:1\", ENGLISH_VERSIFICATION)\n # Set up another VerseRef that has a different verse that is different from original.\n vref2 = VerseRef.from_string(\"EXO 8:1\", ORIGINAL_VERSIFICATION)\n # Changing English ref to standard versification (EXO 8:1 => EXO 7:26) so difference (1) is found in chapter number\n # that is evaluated first.\n assert vref2.compare_to(vref1) > 0\n # Changing Septuagint ref to English versification EXO 8:1 => EXO 8:5 so difference (-4) is found in verse number\n # since book and chapter numbers are the same.\n assert vref1.compare_to(vref2) < 0", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_versification_makes_same_verse_range_different", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_versification_makes_same_verse_range_different() -> None:\n vref1 = VerseRef.from_string(\"EXO 8:2-3\", ENGLISH_VERSIFICATION)\n # Set up another VerseRef that has a different verse that is different from original.\n vref2 = VerseRef.from_string(\"EXO 8:2-3\", SEPTUAGINT_VERSIFICATION)\n # Changing English ref to standard versification (EXO 8:2-3 => EXO 7:27-28) so difference (1) is found in chapter\n # number that is evaluated first.\n assert vref2.compare_to(vref1) > 0\n # Changing Septuagint ref to English versification (EXO 8:2-3 => EXO 8:6-7) so difference (-4) is found in verse\n # number since book and chapter numbers are the same.\n assert vref1.compare_to(vref2) < 0", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_compare_to_segments", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_compare_to_segments() -> None:\n assert VerseRef.from_string(\"GEN 1:1a\").compare_to(VerseRef.from_string(\"GEN 1:1\")) > 0\n assert VerseRef.from_string(\"GEN 1:1\").compare_to(VerseRef.from_string(\"GEN 1:1a\")) < 0\n assert VerseRef.from_string(\"GEN 1:1a\").compare_to(VerseRef.from_string(\"GEN 1:1b\")) < 0\n assert VerseRef.from_string(\"GEN 1:1b\").compare_to(VerseRef.from_string(\"GEN 1:1a\")) > 0\n assert VerseRef.from_string(\"GEN 1:1a\").compare_to(VerseRef.from_string(\"GEN 1:1a\")) == 0\n assert VerseRef.from_string(\"GEN 1:1b\").compare_to(VerseRef.from_string(\"GEN 1:1b\")) == 0\ndef test_validated_segment() -> None:\n assert VerseRef.from_string(\"GEN 1:1\").validated_segment() == \"\"\n assert VerseRef.from_string(\"GEN 1:1a\").validated_segment() == \"a\"", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_validated_segment", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_validated_segment() -> None:\n assert VerseRef.from_string(\"GEN 1:1\").validated_segment() == \"\"\n assert VerseRef.from_string(\"GEN 1:1a\").validated_segment() == \"a\"\n assert VerseRef.from_string(\"GEN 1:1@\").validated_segment() == \"@\"\n assert VerseRef.from_string(\"GEN 1:1a-5c\").validated_segment() == \"a\"\n assert VerseRef.from_string(\"GEN 1:1-5c\").validated_segment() == \"\"\n assert VerseRef.from_string(\"GEN 1:1b-3c\").validated_segment() == \"b\"\n assert VerseRef.from_string(\"GEN 1:1a,3,5\").validated_segment() == \"a\"\n assert VerseRef.from_string(\"GEN 1:1,3b,5\").validated_segment() == \"\"\n assert VerseRef.from_string(\"GEN 1:1abc\").validated_segment() == \"abc\"", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_validated_segment_with_versification_info", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_validated_segment_with_versification_info() -> None:\n versification = Versification.create(\"Dummy\")\n versification.verse_segments[get_bbbcccvvv(1, 1, 1)] = {\"\", \"@\", \"$\", \"%\", \"abc\", \"a\\u0301\"}\n assert VerseRef.from_string(\"GEN 1:1\", versification).validated_segment() == \"\"\n assert VerseRef.from_string(\"GEN 1:1a\", versification).validated_segment() == \"\"\n assert VerseRef.from_string(\"GEN 1:1@\", versification).validated_segment() == \"@\"\n assert VerseRef.from_string(\"GEN 1:1!\", versification).validated_segment() == \"\"\n assert VerseRef.from_string(\"GEN 1:1def\", versification).validated_segment() == \"\"\n assert VerseRef.from_string(\"GEN 1:2a\", versification).validated_segment() == \"a\"\n assert VerseRef.from_string(\"GEN 1:2b\", versification).validated_segment() == \"b\"", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_validated_segment_with_defined_default_segments", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_validated_segment_with_defined_default_segments() -> None:\n defined_segments = {\"@\", \"$\", \"%\", \"abc\", \"a\\u0301\"}\n assert VerseRef.from_string(\"GEN 1:1\").validated_segment(defined_segments) == \"\"\n assert VerseRef.from_string(\"GEN 1:1a\").validated_segment(defined_segments) == \"\"\n assert VerseRef.from_string(\"GEN 1:1@\").validated_segment(defined_segments) == \"@\"\n assert VerseRef.from_string(\"GEN 1:1$\").validated_segment(defined_segments) == \"$\"\n assert VerseRef.from_string(\"GEN 1:1!\").validated_segment(defined_segments) == \"\"\n assert VerseRef.from_string(\"GEN 1:1abc\").validated_segment(defined_segments) == \"abc\"\n assert VerseRef.from_string(\"GEN 1:1def\").validated_segment(defined_segments) == \"\"\n assert VerseRef.from_string(\"GEN 1:1a\\u0301\").validated_segment(defined_segments) == \"a\\u0301\"", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_validated_segment_with_versification_and_defined_default_segments", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_validated_segment_with_versification_and_defined_default_segments() -> None:\n versification = Versification.create(\"Dummy\")\n versification.verse_segments[get_bbbcccvvv(1, 1, 1)] = {\"^\", \"&\", \"*\", \"a\\u0301\"}\n defined_segments = {\"@\", \"$\", \"%\", \"o\\u0301\"}\n assert VerseRef.from_string(\"GEN 1:1*\", versification).validated_segment(defined_segments) == \"*\"\n assert VerseRef.from_string(\"GEN 1:1a\\u0301\", versification).validated_segment(defined_segments) == \"a\\u0301\"\n assert VerseRef.from_string(\"GEN 1:2a\\u0301\", versification).validated_segment(defined_segments) == \"\"\n assert VerseRef.from_string(\"GEN 1:2*\", versification).validated_segment(defined_segments) == \"\"\n assert VerseRef.from_string(\"GEN 1:1@\", versification).validated_segment(defined_segments) == \"\"\n assert VerseRef.from_string(\"GEN 1:1o\\u0301\", versification).validated_segment(defined_segments) == \"\"", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_str", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_str() -> None:\n assert str(VerseRef(1, 0, 0)) == \"GEN 0:0\"\n assert str(VerseRef(1, 1, 0)) == \"GEN 1:0\"\n assert str(VerseRef(1, 2, 0)) == \"GEN 2:0\"\n assert str(VerseRef(2, 4, 6)) == \"EXO 4:6\"\n assert str(VerseRef(\"LEV\", \"4\", \"6b-7a\")) == \"LEV 4:6b-7a\"\ndef test_simplify() -> None:\n vref = VerseRef()\n vref.simplify()\n assert vref == VerseRef()", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_simplify", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_simplify() -> None:\n vref = VerseRef()\n vref.simplify()\n assert vref == VerseRef()\n vref = VerseRef.from_string(\"EXO 6:0\")\n vref.simplify()\n assert vref == VerseRef.from_string(\"EXO 6:0\")\n vref = VerseRef.from_string(\"EXO 6:5b-18a,19\")\n vref.simplify()\n assert vref == VerseRef.from_string(\"EXO 6:5\")", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_unbridge", + "kind": 2, + "importPath": "tests.scripture.test_verse_ref", + "description": "tests.scripture.test_verse_ref", + "peekOfCode": "def test_unbridge() -> None:\n assert VerseRef().unbridge() == VerseRef()\n assert VerseRef.from_string(\"EXO 6:0\").unbridge() == VerseRef.from_string(\"EXO 6:0\")\n assert VerseRef.from_string(\"EXO 6:5b-18a,19\").unbridge() == VerseRef.from_string(\"EXO 6:5b\")\n assert VerseRef.from_string(\"EXO 6:9a,9b\").unbridge() == VerseRef.from_string(\"EXO 6:9a\")\n assert VerseRef.from_string(\"EXO 6:4-10\").unbridge() == VerseRef.from_string(\"EXO 6:4\")\n assert VerseRef.from_string(\"EXO 6:150monkeys\").unbridge() == VerseRef.from_string(\"EXO 6:150monkeys\")", + "detail": "tests.scripture.test_verse_ref", + "documentation": {} + }, + { + "label": "test_parse_valid", + "kind": 2, + "importPath": "tests.scripture.test_versification", + "description": "tests.scripture.test_versification", + "peekOfCode": "def test_parse_valid() -> None:\n src = (\n '# Versification \"Test\"\\n'\n \"# Version=1.9\\n\"\n \"GEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 \"\n \"20:18 21:34 22:24 23:20 24:67\\n\"\n \"MRK 1:45 2:28 3:35 4:41 5:44 6:56\\n\"\n \"MRK 5:44 = MRK 6:1\\n\"\n )\n stream = StringIO(src)", + "detail": "tests.scripture.test_versification", + "documentation": {} + }, + { + "label": "test_parse_without_name", + "kind": 2, + "importPath": "tests.scripture.test_versification", + "description": "tests.scripture.test_versification", + "peekOfCode": "def test_parse_without_name() -> None:\n src = \"GEN 1:31\\n\" \"MRK 1:45\\n\"\n stream = StringIO(src)\n with raises(RuntimeError):\n Versification.parse(stream, \"vers.txt\")\ndef test_parse_invalid_syntax() -> None:\n src = \"GEN 1:31 MRK 1:-8MAT 5:44 = FFF6,1\\n\"\n stream = StringIO(src)\n with raises(RuntimeError):\n Versification.parse(stream, \"vers.txt\", fallback_name=\"name\")", + "detail": "tests.scripture.test_versification", + "documentation": {} + }, + { + "label": "test_parse_invalid_syntax", + "kind": 2, + "importPath": "tests.scripture.test_versification", + "description": "tests.scripture.test_versification", + "peekOfCode": "def test_parse_invalid_syntax() -> None:\n src = \"GEN 1:31 MRK 1:-8MAT 5:44 = FFF6,1\\n\"\n stream = StringIO(src)\n with raises(RuntimeError):\n Versification.parse(stream, \"vers.txt\", fallback_name=\"name\")\ndef test_custom_versification() -> None:\n src = (\n '# Versification \"Test\"\\n'\n \"# Version=1.9\\n\"\n \"GEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 \"", + "detail": "tests.scripture.test_versification", + "documentation": {} + }, + { + "label": "test_custom_versification", + "kind": 2, + "importPath": "tests.scripture.test_versification", + "description": "tests.scripture.test_versification", + "peekOfCode": "def test_custom_versification() -> None:\n src = (\n '# Versification \"Test\"\\n'\n \"# Version=1.9\\n\"\n \"GEN 1:31 2:25 3:24 4:26 5:32 6:22 7:24 8:22 9:29 10:32 11:32 12:20 13:18 14:24 15:21 16:16 17:27 18:33 19:38 \"\n \"20:18 21:34 22:24 23:20 24:67\\n\"\n \"MRK 1:45 2:28 3:35 4:41 5:44 6:56\\n\"\n \"MRK 5:44 = MRK 6:1\\n\"\n )\n stream = StringIO(src)", + "detail": "tests.scripture.test_versification", + "documentation": {} + }, + { + "label": "test_utf_16_encoding_filename", + "kind": 2, + "importPath": "tests.scripture.test_versification", + "description": "tests.scripture.test_versification", + "peekOfCode": "def test_utf_16_encoding_filename() -> None:\n versification = Versification.load(CUSTOM_VERS_PATH, ENGLISH_VERSIFICATION, \"custom\")\n assert versification.get_last_verse(47, 13) == 13\ndef test_utf_16_encoding_stream() -> None:\n with open(CUSTOM_VERS_PATH, \"rb\") as stream:\n versification = Versification.load(stream, ENGLISH_VERSIFICATION, \"custom\")\n assert versification.get_last_verse(47, 13) == 13\n with open(CUSTOM_VERS_PATH, \"rb\") as stream:\n stream = BytesIO(stream.read())\n versification = Versification.load(stream, ENGLISH_VERSIFICATION, \"custom\")", + "detail": "tests.scripture.test_versification", + "documentation": {} + }, + { + "label": "test_utf_16_encoding_stream", + "kind": 2, + "importPath": "tests.scripture.test_versification", + "description": "tests.scripture.test_versification", + "peekOfCode": "def test_utf_16_encoding_stream() -> None:\n with open(CUSTOM_VERS_PATH, \"rb\") as stream:\n versification = Versification.load(stream, ENGLISH_VERSIFICATION, \"custom\")\n assert versification.get_last_verse(47, 13) == 13\n with open(CUSTOM_VERS_PATH, \"rb\") as stream:\n stream = BytesIO(stream.read())\n versification = Versification.load(stream, ENGLISH_VERSIFICATION, \"custom\")\n assert versification.get_last_verse(47, 13) == 13", + "detail": "tests.scripture.test_versification", + "documentation": {} + }, + { + "label": "_StringScorer", + "kind": 6, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "class _StringScorer(PairwiseAlignmentScorer[str, str]):\n def get_gap_penalty(self, sequence1: str, sequence2: str) -> int:\n return -100\n def get_insertion_score(self, sequence1: str, p: Optional[str], sequence2: str, q: str) -> int:\n return 0\n def get_deletion_score(self, sequence1: str, p: str, sequence2: str, q: Optional[str]) -> int:\n return 0\n def get_substitution_score(self, sequence1: str, p: str, sequence2: str, q: str) -> int:\n return 100 if p == q else 0\n def get_expansion_score(self, sequence1: str, p: str, sequence2: str, q1: str, q2: str) -> int:", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "_ZeroMaxStringScorer", + "kind": 6, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "class _ZeroMaxStringScorer(_StringScorer):\n def get_max_score1(self, sequence1: str, p: str, sequence2: str) -> int:\n return 0\n def get_max_score2(self, sequence1: str, sequence2: str, q: str) -> int:\n return 0\ndef _get_chars(sequence: str) -> Tuple[Iterable[str], int, int]:\n return sequence, 0, len(sequence)\ndef _create_alignment(*alignment: str) -> Alignment[str, str]:\n sequences: List[Tuple[str, AlignmentCell[str], Iterable[AlignmentCell[str]], AlignmentCell[str]]] = []\n for i in range(len(alignment)):", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_global_align", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_global_align() -> None:\n scorer = _StringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"car\", \"bar\", _get_chars)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 1\n _assert_alignments_equal(alignments[0], _create_alignment(\"| c a r |\", \"| b a r |\"))\n assert alignments[0].normalized_score == approx(0.66, abs=0.01)\n paa = PairwiseAlignmentAlgorithm(scorer, \"cart\", \"bar\", _get_chars)\n paa.compute()", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_local_align", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_local_align() -> None:\n scorer = _StringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"car\", \"bar\", _get_chars, mode=AlignmentMode.LOCAL)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 2\n _assert_alignments_equal(alignments[0], _create_alignment(\"| c a r |\", \"| b a r |\"))\n assert alignments[0].normalized_score == approx(0.66, abs=0.01)\n _assert_alignments_equal(alignments[1], _create_alignment(\"c | a r |\", \"b | a r |\"))\n assert alignments[1].normalized_score == approx(0.8, abs=0.01)", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_half_local_align", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_half_local_align() -> None:\n scorer = _StringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"car\", \"bar\", _get_chars, mode=AlignmentMode.HALF_LOCAL)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 1\n _assert_alignments_equal(alignments[0], _create_alignment(\"| c a r |\", \"| b a r |\"))\n assert alignments[0].normalized_score == approx(0.66, abs=0.01)\n paa = PairwiseAlignmentAlgorithm(scorer, \"cart\", \"bar\", _get_chars, mode=AlignmentMode.HALF_LOCAL)\n paa.compute()", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_semi_global_align", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_semi_global_align() -> None:\n scorer = _StringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"car\", \"bar\", _get_chars, mode=AlignmentMode.SEMI_GLOBAL)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 1\n _assert_alignments_equal(alignments[0], _create_alignment(\"| c a r |\", \"| b a r |\"))\n assert alignments[0].normalized_score == approx(0.66, abs=0.01)\n paa = PairwiseAlignmentAlgorithm(scorer, \"cart\", \"bar\", _get_chars, mode=AlignmentMode.SEMI_GLOBAL)\n paa.compute()", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_expansion_compression_align", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_expansion_compression_align() -> None:\n scorer = _StringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"car\", \"bar\", _get_chars, expansion_compression_enabled=True)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 1\n _assert_alignments_equal(alignments[0], _create_alignment(\"| c a r |\", \"| b a r |\"))\n assert alignments[0].normalized_score == approx(0.66, abs=0.01)\n paa = PairwiseAlignmentAlgorithm(scorer, \"cart\", \"bar\", _get_chars, expansion_compression_enabled=True)\n paa.compute()", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_zero_max_score", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_zero_max_score() -> None:\n scorer = _ZeroMaxStringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"car\", \"bar\", _get_chars, expansion_compression_enabled=True)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 1\n _assert_alignments_equal(alignments[0], _create_alignment(\"| c a r |\", \"| b a r |\"))\n assert alignments[0].normalized_score == 0\ndef test_global_align_empty_sequence() -> None:\n scorer = _StringScorer()", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_global_align_empty_sequence", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_global_align_empty_sequence() -> None:\n scorer = _StringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"\", \"\", _get_chars)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 1\n _assert_alignments_equal(alignments[0], _create_alignment(\"||\", \"||\"))\n assert alignments[0].normalized_score == 0\ndef test_local_align_empty_sequence() -> None:\n scorer = _StringScorer()", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_local_align_empty_sequence", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_local_align_empty_sequence() -> None:\n scorer = _StringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"\", \"\", _get_chars, mode=AlignmentMode.LOCAL)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 1\n _assert_alignments_equal(alignments[0], _create_alignment(\"||\", \"||\"))\n assert alignments[0].normalized_score == 0\ndef test_half_local_align_empty_sequence() -> None:\n scorer = _StringScorer()", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_half_local_align_empty_sequence", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_half_local_align_empty_sequence() -> None:\n scorer = _StringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"\", \"\", _get_chars, mode=AlignmentMode.HALF_LOCAL)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 1\n _assert_alignments_equal(alignments[0], _create_alignment(\"||\", \"||\"))\n assert alignments[0].normalized_score == 0\ndef test_semi_global_align_empty_sequence() -> None:\n scorer = _StringScorer()", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "test_semi_global_align_empty_sequence", + "kind": 2, + "importPath": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "description": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "peekOfCode": "def test_semi_global_align_empty_sequence() -> None:\n scorer = _StringScorer()\n paa = PairwiseAlignmentAlgorithm(scorer, \"\", \"\", _get_chars, mode=AlignmentMode.SEMI_GLOBAL)\n paa.compute()\n alignments = list(paa.get_alignments())\n assert len(alignments) == 1\n _assert_alignments_equal(alignments[0], _create_alignment(\"||\", \"||\"))\n assert alignments[0].normalized_score == 0", + "detail": "tests.sequence_alignment.test_pairwise_alignment_algorithm", + "documentation": {} + }, + { + "label": "create_test_dbl_bundle", + "kind": 2, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "def create_test_dbl_bundle(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USX_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef create_test_paratext_backup(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USFM_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef verse_ref(segment: TextRow) -> VerseRef:\n assert isinstance(segment.ref, VerseRef)\n return segment.ref\ndef scripture_ref(segment: TextRow) -> ScriptureRef:", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "create_test_paratext_backup", + "kind": 2, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "def create_test_paratext_backup(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USFM_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef verse_ref(segment: TextRow) -> VerseRef:\n assert isinstance(segment.ref, VerseRef)\n return segment.ref\ndef scripture_ref(segment: TextRow) -> ScriptureRef:\n assert isinstance(segment.ref, ScriptureRef)\n return segment.ref\ndef ignore_line_endings(actual: str, expected: str):", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "verse_ref", + "kind": 2, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "def verse_ref(segment: TextRow) -> VerseRef:\n assert isinstance(segment.ref, VerseRef)\n return segment.ref\ndef scripture_ref(segment: TextRow) -> ScriptureRef:\n assert isinstance(segment.ref, ScriptureRef)\n return segment.ref\ndef ignore_line_endings(actual: str, expected: str):\n assert actual.replace(\"\\r\\n\", \"\\n\").replace(\"\\r\", \"\\n\") == expected.replace(\"\\r\\n\", \"\\n\").replace(\"\\r\", \"\\n\")", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "scripture_ref", + "kind": 2, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "def scripture_ref(segment: TextRow) -> ScriptureRef:\n assert isinstance(segment.ref, ScriptureRef)\n return segment.ref\ndef ignore_line_endings(actual: str, expected: str):\n assert actual.replace(\"\\r\\n\", \"\\n\").replace(\"\\r\", \"\\n\") == expected.replace(\"\\r\\n\", \"\\n\").replace(\"\\r\", \"\\n\")", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "ignore_line_endings", + "kind": 2, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "def ignore_line_endings(actual: str, expected: str):\n assert actual.replace(\"\\r\\n\", \"\\n\").replace(\"\\r\", \"\\n\") == expected.replace(\"\\r\\n\", \"\\n\").replace(\"\\r\", \"\\n\")", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_TEST_PROJECT_PATH", + "kind": 5, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "USFM_TEST_PROJECT_PATH = TEST_DATA_PATH / \"usfm\" / \"Tes\"\nUSFM_TARGET_PROJECT_PATH = TEST_DATA_PATH / \"usfm\" / \"target\"\nUSFM_SOURCE_PROJECT_PATH = TEST_DATA_PATH / \"usfm\" / \"source\"\nUSX_TEST_PROJECT_PATH = TEST_DATA_PATH / \"usx\" / \"Tes\"\nTEXT_TEST_PROJECT_PATH = TEST_DATA_PATH / \"txt\"\nCUSTOM_VERS_PATH = TEST_DATA_PATH / \"custom.vrs\"\ndef create_test_dbl_bundle(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USX_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef create_test_paratext_backup(temp_dir: Path) -> Path:", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_TARGET_PROJECT_PATH", + "kind": 5, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "USFM_TARGET_PROJECT_PATH = TEST_DATA_PATH / \"usfm\" / \"target\"\nUSFM_SOURCE_PROJECT_PATH = TEST_DATA_PATH / \"usfm\" / \"source\"\nUSX_TEST_PROJECT_PATH = TEST_DATA_PATH / \"usx\" / \"Tes\"\nTEXT_TEST_PROJECT_PATH = TEST_DATA_PATH / \"txt\"\nCUSTOM_VERS_PATH = TEST_DATA_PATH / \"custom.vrs\"\ndef create_test_dbl_bundle(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USX_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef create_test_paratext_backup(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USFM_TEST_PROJECT_PATH)", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USFM_SOURCE_PROJECT_PATH", + "kind": 5, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "USFM_SOURCE_PROJECT_PATH = TEST_DATA_PATH / \"usfm\" / \"source\"\nUSX_TEST_PROJECT_PATH = TEST_DATA_PATH / \"usx\" / \"Tes\"\nTEXT_TEST_PROJECT_PATH = TEST_DATA_PATH / \"txt\"\nCUSTOM_VERS_PATH = TEST_DATA_PATH / \"custom.vrs\"\ndef create_test_dbl_bundle(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USX_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef create_test_paratext_backup(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USFM_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "USX_TEST_PROJECT_PATH", + "kind": 5, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "USX_TEST_PROJECT_PATH = TEST_DATA_PATH / \"usx\" / \"Tes\"\nTEXT_TEST_PROJECT_PATH = TEST_DATA_PATH / \"txt\"\nCUSTOM_VERS_PATH = TEST_DATA_PATH / \"custom.vrs\"\ndef create_test_dbl_bundle(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USX_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef create_test_paratext_backup(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USFM_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef verse_ref(segment: TextRow) -> VerseRef:", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "TEXT_TEST_PROJECT_PATH", + "kind": 5, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "TEXT_TEST_PROJECT_PATH = TEST_DATA_PATH / \"txt\"\nCUSTOM_VERS_PATH = TEST_DATA_PATH / \"custom.vrs\"\ndef create_test_dbl_bundle(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USX_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef create_test_paratext_backup(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USFM_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef verse_ref(segment: TextRow) -> VerseRef:\n assert isinstance(segment.ref, VerseRef)", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "CUSTOM_VERS_PATH", + "kind": 5, + "importPath": "tests.testutils.corpora_test_helpers", + "description": "tests.testutils.corpora_test_helpers", + "peekOfCode": "CUSTOM_VERS_PATH = TEST_DATA_PATH / \"custom.vrs\"\ndef create_test_dbl_bundle(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USX_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef create_test_paratext_backup(temp_dir: Path) -> Path:\n shutil.make_archive(str(temp_dir / \"Tes\"), \"zip\", USFM_TEST_PROJECT_PATH)\n return temp_dir / \"Tes.zip\"\ndef verse_ref(segment: TextRow) -> VerseRef:\n assert isinstance(segment.ref, VerseRef)\n return segment.ref", + "detail": "tests.testutils.corpora_test_helpers", + "documentation": {} + }, + { + "label": "DblBundleTestEnvironment", + "kind": 6, + "importPath": "tests.testutils.dbl_bundle_test_environment", + "description": "tests.testutils.dbl_bundle_test_environment", + "peekOfCode": "class DblBundleTestEnvironment(ContextManager[\"DblBundleTestEnvironment\"]):\n def __init__(self) -> None:\n self._temp_dir = TemporaryDirectory()\n bundle_filename = create_test_dbl_bundle(Path(self._temp_dir.name))\n self._corpus = DblBundleTextCorpus(bundle_filename)\n @property\n def corpus(self) -> DblBundleTextCorpus:\n return self._corpus\n def __enter__(self) -> DblBundleTestEnvironment:\n return self", + "detail": "tests.testutils.dbl_bundle_test_environment", + "documentation": {} + }, + { + "label": "MockSettings", + "kind": 6, + "importPath": "tests.testutils.mock_settings", + "description": "tests.testutils.mock_settings", + "peekOfCode": "class MockSettings(Settings):\n def __init__(self, settings: dict) -> None:\n super().__init__()\n self.update(settings)", + "detail": "tests.testutils.mock_settings", + "documentation": {} + }, + { + "label": "create_test_parallel_corpus", + "kind": 2, + "importPath": "tests.testutils.thot_test_helpers", + "description": "tests.testutils.thot_test_helpers", + "peekOfCode": "def create_test_parallel_corpus() -> StandardParallelTextCorpus:\n src_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n _segment(1, \"isthay isyay ayay esttay-N .\"),\n _segment(2, \"ouyay ouldshay esttay-V oftenyay .\"),\n _segment(3, \"isyay isthay orkingway ?\"),\n _segment(4, \"isthay ouldshay orkway-V .\"),\n _segment(5, \"ityay isyay orkingway .\"),", + "detail": "tests.testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "TOY_CORPUS_HMM_PATH", + "kind": 5, + "importPath": "tests.testutils.thot_test_helpers", + "description": "tests.testutils.thot_test_helpers", + "peekOfCode": "TOY_CORPUS_HMM_PATH = TEST_DATA_PATH / \"toy_corpus_hmm\"\nTOY_CORPUS_HMM_CONFIG_FILENAME = TOY_CORPUS_HMM_PATH / \"smt.cfg\"\nTOY_CORPUS_FAST_ALIGN_PATH = TEST_DATA_PATH / \"toy_corpus_fa\"\nTOY_CORPUS_FAST_ALIGN_CONFIG_FILENAME = TOY_CORPUS_FAST_ALIGN_PATH / \"smt.cfg\"\ndef create_test_parallel_corpus() -> StandardParallelTextCorpus:\n src_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n _segment(1, \"isthay isyay ayay esttay-N .\"),", + "detail": "tests.testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "TOY_CORPUS_HMM_CONFIG_FILENAME", + "kind": 5, + "importPath": "tests.testutils.thot_test_helpers", + "description": "tests.testutils.thot_test_helpers", + "peekOfCode": "TOY_CORPUS_HMM_CONFIG_FILENAME = TOY_CORPUS_HMM_PATH / \"smt.cfg\"\nTOY_CORPUS_FAST_ALIGN_PATH = TEST_DATA_PATH / \"toy_corpus_fa\"\nTOY_CORPUS_FAST_ALIGN_CONFIG_FILENAME = TOY_CORPUS_FAST_ALIGN_PATH / \"smt.cfg\"\ndef create_test_parallel_corpus() -> StandardParallelTextCorpus:\n src_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n _segment(1, \"isthay isyay ayay esttay-N .\"),\n _segment(2, \"ouyay ouldshay esttay-V oftenyay .\"),", + "detail": "tests.testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "TOY_CORPUS_FAST_ALIGN_PATH", + "kind": 5, + "importPath": "tests.testutils.thot_test_helpers", + "description": "tests.testutils.thot_test_helpers", + "peekOfCode": "TOY_CORPUS_FAST_ALIGN_PATH = TEST_DATA_PATH / \"toy_corpus_fa\"\nTOY_CORPUS_FAST_ALIGN_CONFIG_FILENAME = TOY_CORPUS_FAST_ALIGN_PATH / \"smt.cfg\"\ndef create_test_parallel_corpus() -> StandardParallelTextCorpus:\n src_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n _segment(1, \"isthay isyay ayay esttay-N .\"),\n _segment(2, \"ouyay ouldshay esttay-V oftenyay .\"),\n _segment(3, \"isyay isthay orkingway ?\"),", + "detail": "tests.testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "TOY_CORPUS_FAST_ALIGN_CONFIG_FILENAME", + "kind": 5, + "importPath": "tests.testutils.thot_test_helpers", + "description": "tests.testutils.thot_test_helpers", + "peekOfCode": "TOY_CORPUS_FAST_ALIGN_CONFIG_FILENAME = TOY_CORPUS_FAST_ALIGN_PATH / \"smt.cfg\"\ndef create_test_parallel_corpus() -> StandardParallelTextCorpus:\n src_corpus = DictionaryTextCorpus(\n MemoryText(\n \"text1\",\n [\n _segment(1, \"isthay isyay ayay esttay-N .\"),\n _segment(2, \"ouyay ouldshay esttay-V oftenyay .\"),\n _segment(3, \"isyay isthay orkingway ?\"),\n _segment(4, \"isthay ouldshay orkway-V .\"),", + "detail": "tests.testutils.thot_test_helpers", + "documentation": {} + }, + { + "label": "test_detokenize", + "kind": 2, + "importPath": "tests.tokenization.sentencepiece.test_sentence_piece_detokenizer", + "description": "tests.tokenization.sentencepiece.test_sentence_piece_detokenizer", + "peekOfCode": "def test_detokenize() -> None:\n detokenizer = SentencePieceDetokenizer()\n sentence = detokenizer.detokenize(\n (\n \"▁In ▁particular , ▁the ▁actress es ▁play ▁a ▁major ▁role ▁in ▁the ▁sometimes ▁rather ▁dubious\"\n + \" ▁staging .\"\n ).split()\n )\n assert sentence == \"In particular, the actresses play a major role in the sometimes rather dubious staging.\"\ndef test_detokenize_empty() -> None:", + "detail": "tests.tokenization.sentencepiece.test_sentence_piece_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_empty", + "kind": 2, + "importPath": "tests.tokenization.sentencepiece.test_sentence_piece_detokenizer", + "description": "tests.tokenization.sentencepiece.test_sentence_piece_detokenizer", + "peekOfCode": "def test_detokenize_empty() -> None:\n detokenizer = SentencePieceDetokenizer()\n sentence = detokenizer.detokenize([])\n assert sentence == \"\"", + "detail": "tests.tokenization.sentencepiece.test_sentence_piece_detokenizer", + "documentation": {} + }, + { + "label": "model_filename", + "kind": 2, + "importPath": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "description": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "peekOfCode": "def model_filename() -> Iterable[Path]:\n with TemporaryDirectory() as temp_dir:\n model_filename = Path(temp_dir) / \"sp\"\n sp.SentencePieceTrainer.Train(f\"--input={TEST_FILENAME} --model_prefix={model_filename} --vocab_size=100\")\n yield model_filename.with_suffix(\".model\")\ndef test_tokenize(model_filename: Path) -> None:\n tokenizer = SentencePieceTokenizer(model_filename)\n tokens = list(tokenizer.tokenize(\"Other travelling salesmen live a life of luxury.\"))\n assert len(tokens) == 29\ndef test_tokenize_empty(model_filename: Path) -> None:", + "detail": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize", + "kind": 2, + "importPath": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "description": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "peekOfCode": "def test_tokenize(model_filename: Path) -> None:\n tokenizer = SentencePieceTokenizer(model_filename)\n tokens = list(tokenizer.tokenize(\"Other travelling salesmen live a life of luxury.\"))\n assert len(tokens) == 29\ndef test_tokenize_empty(model_filename: Path) -> None:\n tokenizer = SentencePieceTokenizer(model_filename)\n tokens = list(tokenizer.tokenize(\"\"))\n assert len(tokens) == 0", + "detail": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_empty", + "kind": 2, + "importPath": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "description": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "peekOfCode": "def test_tokenize_empty(model_filename: Path) -> None:\n tokenizer = SentencePieceTokenizer(model_filename)\n tokens = list(tokenizer.tokenize(\"\"))\n assert len(tokens) == 0", + "detail": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "documentation": {} + }, + { + "label": "TEST_FILENAME", + "kind": 5, + "importPath": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "description": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "peekOfCode": "TEST_FILENAME = Path(__file__).parent / \"data\" / \"test.txt\"\n@pytest.fixture(scope=\"module\")\ndef model_filename() -> Iterable[Path]:\n with TemporaryDirectory() as temp_dir:\n model_filename = Path(temp_dir) / \"sp\"\n sp.SentencePieceTrainer.Train(f\"--input={TEST_FILENAME} --model_prefix={model_filename} --vocab_size=100\")\n yield model_filename.with_suffix(\".model\")\ndef test_tokenize(model_filename: Path) -> None:\n tokenizer = SentencePieceTokenizer(model_filename)\n tokens = list(tokenizer.tokenize(\"Other travelling salesmen live a life of luxury.\"))", + "detail": "tests.tokenization.sentencepiece.test_sentence_piece_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_empty", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_empty() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert not any(tokenizer.tokenize(\"\"))\ndef test_tokenize_single_line() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is a test.\")) == [\"This is a test.\"]\ndef test_tokenize_multiple_lines() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\nThis is the second sentence.\")) == [\n \"This is the first sentence.\",", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_single_line", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_single_line() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is a test.\")) == [\"This is a test.\"]\ndef test_tokenize_multiple_lines() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\nThis is the second sentence.\")) == [\n \"This is the first sentence.\",\n \"This is the second sentence.\",\n ]\ndef test_tokenize_two_sentences() -> None:", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_multiple_lines", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_multiple_lines() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\nThis is the second sentence.\")) == [\n \"This is the first sentence.\",\n \"This is the second sentence.\",\n ]\ndef test_tokenize_two_sentences() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence. This is the second sentence.\")) == [\n \"This is the first sentence.\",", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_two_sentences", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_two_sentences() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence. This is the second sentence.\")) == [\n \"This is the first sentence.\",\n \"This is the second sentence.\",\n ]\ndef test_tokenize_quotes() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize('\"This is the first sentence.\" This is the second sentence.')) == [\n '\"This is the first sentence.\"',", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_quotes", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_quotes() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize('\"This is the first sentence.\" This is the second sentence.')) == [\n '\"This is the first sentence.\"',\n \"This is the second sentence.\",\n ]\ndef test_tokenize_quotation_in_sentence() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize('\"This is the first sentence!\" he said. This is the second sentence.')) == [\n '\"This is the first sentence!\" he said.',", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_quotation_in_sentence", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_quotation_in_sentence() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize('\"This is the first sentence!\" he said. This is the second sentence.')) == [\n '\"This is the first sentence!\" he said.',\n \"This is the second sentence.\",\n ]\ndef test_tokenize_parens() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence. (This is the second sentence.)\")) == [\n \"This is the first sentence.\",", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_parens", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_parens() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence. (This is the second sentence.)\")) == [\n \"This is the first sentence.\",\n \"(This is the second sentence.)\",\n ]\ndef test_tokenize_abbreviation() -> None:\n tokenizer = LatinSentenceTokenizer(abbreviations={\"mr\", \"dr\", \"ms\"})\n assert list(tokenizer.tokenize(\"Mr. Smith went to Washington. This is the second sentence.\")) == [\n \"Mr. Smith went to Washington.\",", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_abbreviation", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_abbreviation() -> None:\n tokenizer = LatinSentenceTokenizer(abbreviations={\"mr\", \"dr\", \"ms\"})\n assert list(tokenizer.tokenize(\"Mr. Smith went to Washington. This is the second sentence.\")) == [\n \"Mr. Smith went to Washington.\",\n \"This is the second sentence.\",\n ]\ndef test_tokenize_incomplete_sentence() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is an incomplete sentence \")) == [\"This is an incomplete sentence \"]\ndef test_tokenize_complete_sentence_with_space_at_end() -> None:", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_incomplete_sentence", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_incomplete_sentence() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize(\"This is an incomplete sentence \")) == [\"This is an incomplete sentence \"]\ndef test_tokenize_complete_sentence_with_space_at_end() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize('\"This is a complete sentence.\" \\n')) == ['\"This is a complete sentence.\"']", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_complete_sentence_with_space_at_end", + "kind": 2, + "importPath": "tests.tokenization.test_latin_sentence_tokenizer", + "description": "tests.tokenization.test_latin_sentence_tokenizer", + "peekOfCode": "def test_tokenize_complete_sentence_with_space_at_end() -> None:\n tokenizer = LatinSentenceTokenizer()\n assert list(tokenizer.tokenize('\"This is a complete sentence.\" \\n')) == ['\"This is a complete sentence.\"']", + "detail": "tests.tokenization.test_latin_sentence_tokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_empty", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_detokenizer", + "description": "tests.tokenization.test_latin_word_detokenizer", + "peekOfCode": "def test_detokenize_empty() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([]) == \"\"\ndef test_detokenize_punctuation_at_end_of_word() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"This\", \"is\", \"a\", \"test\", \",\", \"also\", \".\"]) == \"This is a test, also.\"\ndef test_detokenize_punctuation_at_start_of_word() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"Is\", \"this\", \"a\", \"test\", \"?\", \"(\", \"yes\", \")\"]) == \"Is this a test? (yes)\"\ndef test_detokenize_currency_symbol() -> None:", + "detail": "tests.tokenization.test_latin_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_punctuation_at_end_of_word", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_detokenizer", + "description": "tests.tokenization.test_latin_word_detokenizer", + "peekOfCode": "def test_detokenize_punctuation_at_end_of_word() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"This\", \"is\", \"a\", \"test\", \",\", \"also\", \".\"]) == \"This is a test, also.\"\ndef test_detokenize_punctuation_at_start_of_word() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"Is\", \"this\", \"a\", \"test\", \"?\", \"(\", \"yes\", \")\"]) == \"Is this a test? (yes)\"\ndef test_detokenize_currency_symbol() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"He\", \"had\", \"$\", \"50\", \".\"]) == \"He had $50.\"\ndef test_detokenize_quotes() -> None:", + "detail": "tests.tokenization.test_latin_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_punctuation_at_start_of_word", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_detokenizer", + "description": "tests.tokenization.test_latin_word_detokenizer", + "peekOfCode": "def test_detokenize_punctuation_at_start_of_word() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"Is\", \"this\", \"a\", \"test\", \"?\", \"(\", \"yes\", \")\"]) == \"Is this a test? (yes)\"\ndef test_detokenize_currency_symbol() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"He\", \"had\", \"$\", \"50\", \".\"]) == \"He had $50.\"\ndef test_detokenize_quotes() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize(['\"', \"This\", \"is\", \"a\", \"test\", \".\", '\"']) == '\"This is a test.\"'\ndef test_detokenize_multiple_quotes() -> None:", + "detail": "tests.tokenization.test_latin_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_currency_symbol", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_detokenizer", + "description": "tests.tokenization.test_latin_word_detokenizer", + "peekOfCode": "def test_detokenize_currency_symbol() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"He\", \"had\", \"$\", \"50\", \".\"]) == \"He had $50.\"\ndef test_detokenize_quotes() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize(['\"', \"This\", \"is\", \"a\", \"test\", \".\", '\"']) == '\"This is a test.\"'\ndef test_detokenize_multiple_quotes() -> None:\n detokenizer = LatinWordDetokenizer()\n assert (\n detokenizer.detokenize([\"“\", \"‘\", \"Moses'\", \"’\", \"cat\", \"said\", \"‘\", \"Meow\", \"’\", \"to\", \"the\", \"dog\", \".\", \"”\"])", + "detail": "tests.tokenization.test_latin_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_quotes", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_detokenizer", + "description": "tests.tokenization.test_latin_word_detokenizer", + "peekOfCode": "def test_detokenize_quotes() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize(['\"', \"This\", \"is\", \"a\", \"test\", \".\", '\"']) == '\"This is a test.\"'\ndef test_detokenize_multiple_quotes() -> None:\n detokenizer = LatinWordDetokenizer()\n assert (\n detokenizer.detokenize([\"“\", \"‘\", \"Moses'\", \"’\", \"cat\", \"said\", \"‘\", \"Meow\", \"’\", \"to\", \"the\", \"dog\", \".\", \"”\"])\n == \"“‘Moses'’ cat said ‘Meow’ to the dog.”\"\n )\ndef test_detokenize_slash() -> None:", + "detail": "tests.tokenization.test_latin_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_multiple_quotes", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_detokenizer", + "description": "tests.tokenization.test_latin_word_detokenizer", + "peekOfCode": "def test_detokenize_multiple_quotes() -> None:\n detokenizer = LatinWordDetokenizer()\n assert (\n detokenizer.detokenize([\"“\", \"‘\", \"Moses'\", \"’\", \"cat\", \"said\", \"‘\", \"Meow\", \"’\", \"to\", \"the\", \"dog\", \".\", \"”\"])\n == \"“‘Moses'’ cat said ‘Meow’ to the dog.”\"\n )\ndef test_detokenize_slash() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"This\", \"is\", \"a\", \"test\", \"/\", \"trial\", \".\"]) == \"This is a test/trial.\"\ndef test_detokenize_angle_bracket() -> None:", + "detail": "tests.tokenization.test_latin_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_slash", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_detokenizer", + "description": "tests.tokenization.test_latin_word_detokenizer", + "peekOfCode": "def test_detokenize_slash() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"This\", \"is\", \"a\", \"test\", \"/\", \"trial\", \".\"]) == \"This is a test/trial.\"\ndef test_detokenize_angle_bracket() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"This\", \"is\", \"a\", \"<<\", \"test\", \">>\", \".\"]) == \"This is a <>.\"", + "detail": "tests.tokenization.test_latin_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_angle_bracket", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_detokenizer", + "description": "tests.tokenization.test_latin_word_detokenizer", + "peekOfCode": "def test_detokenize_angle_bracket() -> None:\n detokenizer = LatinWordDetokenizer()\n assert detokenizer.detokenize([\"This\", \"is\", \"a\", \"<<\", \"test\", \">>\", \".\"]) == \"This is a <>.\"", + "detail": "tests.tokenization.test_latin_word_detokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_empty", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_empty() -> None:\n tokenizer = LatinWordTokenizer()\n assert not any(tokenizer.tokenize(\"\"))\ndef test_tokenize_whitespace() -> None:\n tokenizer = LatinWordTokenizer()\n assert not any(tokenizer.tokenize(\" \"))\ndef test_tokenize_punctuation_at_end_of_word() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is a test, also.\")) == [\"This\", \"is\", \"a\", \"test\", \",\", \"also\", \".\"]\ndef test_tokenize_punctuation_at_start_of_word() -> None:", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_whitespace", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_whitespace() -> None:\n tokenizer = LatinWordTokenizer()\n assert not any(tokenizer.tokenize(\" \"))\ndef test_tokenize_punctuation_at_end_of_word() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is a test, also.\")) == [\"This\", \"is\", \"a\", \"test\", \",\", \"also\", \".\"]\ndef test_tokenize_punctuation_at_start_of_word() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"Is this a test? (yes)\")) == [\n \"Is\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_punctuation_at_end_of_word", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_punctuation_at_end_of_word() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is a test, also.\")) == [\"This\", \"is\", \"a\", \"test\", \",\", \"also\", \".\"]\ndef test_tokenize_punctuation_at_start_of_word() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"Is this a test? (yes)\")) == [\n \"Is\",\n \"this\",\n \"a\",\n \"test\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_punctuation_at_start_of_word", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_punctuation_at_start_of_word() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"Is this a test? (yes)\")) == [\n \"Is\",\n \"this\",\n \"a\",\n \"test\",\n \"?\",\n \"(\",\n \"yes\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_punctuation_inside_word", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_punctuation_inside_word() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This isn't a test.\")) == [\"This\", \"isn't\", \"a\", \"test\", \".\"]\n assert list(tokenizer.tokenize(\"He had $5,000.\")) == [\"He\", \"had\", \"$\", \"5,000\", \".\"]\ndef test_tokenize_symbol() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"He had $50.\")) == [\"He\", \"had\", \"$\", \"50\", \".\"]\ndef test_tokenize_abbreviation() -> None:\n tokenizer = LatinWordTokenizer([\"mr\", \"dr\", \"ms\"])\n assert list(tokenizer.tokenize(\"Mr. Smith went to Washington.\")) == [", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_symbol", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_symbol() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"He had $50.\")) == [\"He\", \"had\", \"$\", \"50\", \".\"]\ndef test_tokenize_abbreviation() -> None:\n tokenizer = LatinWordTokenizer([\"mr\", \"dr\", \"ms\"])\n assert list(tokenizer.tokenize(\"Mr. Smith went to Washington.\")) == [\n \"Mr.\",\n \"Smith\",\n \"went\",\n \"to\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_abbreviation", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_abbreviation() -> None:\n tokenizer = LatinWordTokenizer([\"mr\", \"dr\", \"ms\"])\n assert list(tokenizer.tokenize(\"Mr. Smith went to Washington.\")) == [\n \"Mr.\",\n \"Smith\",\n \"went\",\n \"to\",\n \"Washington\",\n \".\",\n ]", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_quotes", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_quotes() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize('\"This is a test.\"')) == ['\"', \"This\", \"is\", \"a\", \"test\", \".\", '\"']\ndef test_tokenize_apostrophe_not_as_single_quote() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"“Moses' cat said ‘Meow’ to the dog.”\")) == [\n \"“\",\n \"Moses'\",\n \"cat\",\n \"said\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_apostrophe_not_as_single_quote", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_apostrophe_not_as_single_quote() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"“Moses' cat said ‘Meow’ to the dog.”\")) == [\n \"“\",\n \"Moses'\",\n \"cat\",\n \"said\",\n \"‘\",\n \"Meow\",\n \"’\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_apostrophe_as_single_quote", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_apostrophe_as_single_quote() -> None:\n tokenizer = LatinWordTokenizer(treat_apostrophe_as_single_quote=True)\n assert list(tokenizer.tokenize(\"'Moses's cat said 'Meow' to the dog.'\")) == [\n \"'\",\n \"Moses's\",\n \"cat\",\n \"said\",\n \"'\",\n \"Meow\",\n \"'\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_slash", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_slash() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is a test/trial.\")) == [\"This\", \"is\", \"a\", \"test\", \"/\", \"trial\", \".\"]\ndef test_tokenize_angle_bracket() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is a <>.\")) == [\"This\", \"is\", \"a\", \"<<\", \"test\", \">>\", \".\"]\ndef test_tokenize_email_address() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is an email address, name@test.com, in a sentence.\")) == [\n \"This\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_angle_bracket", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_angle_bracket() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is a <>.\")) == [\"This\", \"is\", \"a\", \"<<\", \"test\", \">>\", \".\"]\ndef test_tokenize_email_address() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is an email address, name@test.com, in a sentence.\")) == [\n \"This\",\n \"is\",\n \"an\",\n \"email\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_email_address", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_email_address() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is an email address, name@test.com, in a sentence.\")) == [\n \"This\",\n \"is\",\n \"an\",\n \"email\",\n \"address\",\n \",\",\n \"name@test.com\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_email_address_at_end_of_sentence", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_email_address_at_end_of_sentence() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"Here is an email address: name@test.com.\")) == [\n \"Here\",\n \"is\",\n \"an\",\n \"email\",\n \"address\",\n \":\",\n \"name@test.com\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_url", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_url() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"This is a url, http://www.test.com/page.html, in a sentence.\")) == [\n \"This\",\n \"is\",\n \"a\",\n \"url\",\n \",\",\n \"http://www.test.com/page.html\",\n \",\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_url_at_end_of_sentence", + "kind": 2, + "importPath": "tests.tokenization.test_latin_word_tokenizer", + "description": "tests.tokenization.test_latin_word_tokenizer", + "peekOfCode": "def test_tokenize_url_at_end_of_sentence() -> None:\n tokenizer = LatinWordTokenizer()\n assert list(tokenizer.tokenize(\"Here is a url: http://www.test.com/page.html?param=1.\")) == [\n \"Here\",\n \"is\",\n \"a\",\n \"url\",\n \":\",\n \"http://www.test.com/page.html?param=1\",\n \".\",", + "detail": "tests.tokenization.test_latin_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_empty", + "kind": 2, + "importPath": "tests.tokenization.test_line_segment_tokenizer", + "description": "tests.tokenization.test_line_segment_tokenizer", + "peekOfCode": "def test_tokenize_empty() -> None:\n tokenizer = LineSegmentTokenizer()\n assert not any(tokenizer.tokenize(\"\"))\ndef test_tokenize_single_line() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is a test.\")) == [\"This is a test.\"]\ndef test_tokenize_multiple_lines() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\nThis is the second sentence.\")) == [\n \"This is the first sentence.\",", + "detail": "tests.tokenization.test_line_segment_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_single_line", + "kind": 2, + "importPath": "tests.tokenization.test_line_segment_tokenizer", + "description": "tests.tokenization.test_line_segment_tokenizer", + "peekOfCode": "def test_tokenize_single_line() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is a test.\")) == [\"This is a test.\"]\ndef test_tokenize_multiple_lines() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\nThis is the second sentence.\")) == [\n \"This is the first sentence.\",\n \"This is the second sentence.\",\n ]\ndef test_tokenize_ends_with_newline() -> None:", + "detail": "tests.tokenization.test_line_segment_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_multiple_lines", + "kind": 2, + "importPath": "tests.tokenization.test_line_segment_tokenizer", + "description": "tests.tokenization.test_line_segment_tokenizer", + "peekOfCode": "def test_tokenize_multiple_lines() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\nThis is the second sentence.\")) == [\n \"This is the first sentence.\",\n \"This is the second sentence.\",\n ]\ndef test_tokenize_ends_with_newline() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is a test.\\n\")) == [\"This is a test.\"]\ndef test_tokenize_ends_with_newline_and_space() -> None:", + "detail": "tests.tokenization.test_line_segment_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_ends_with_newline", + "kind": 2, + "importPath": "tests.tokenization.test_line_segment_tokenizer", + "description": "tests.tokenization.test_line_segment_tokenizer", + "peekOfCode": "def test_tokenize_ends_with_newline() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is a test.\\n\")) == [\"This is a test.\"]\ndef test_tokenize_ends_with_newline_and_space() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is a test.\\n \")) == [\"This is a test.\", \" \"]\ndef test_tokenize_ends_with_text_and_space() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\nThis is a partial sentence \")) == [\n \"This is the first sentence.\",", + "detail": "tests.tokenization.test_line_segment_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_ends_with_newline_and_space", + "kind": 2, + "importPath": "tests.tokenization.test_line_segment_tokenizer", + "description": "tests.tokenization.test_line_segment_tokenizer", + "peekOfCode": "def test_tokenize_ends_with_newline_and_space() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is a test.\\n \")) == [\"This is a test.\", \" \"]\ndef test_tokenize_ends_with_text_and_space() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\nThis is a partial sentence \")) == [\n \"This is the first sentence.\",\n \"This is a partial sentence \",\n ]\ndef test_tokenize_empty_line() -> None:", + "detail": "tests.tokenization.test_line_segment_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_ends_with_text_and_space", + "kind": 2, + "importPath": "tests.tokenization.test_line_segment_tokenizer", + "description": "tests.tokenization.test_line_segment_tokenizer", + "peekOfCode": "def test_tokenize_ends_with_text_and_space() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\nThis is a partial sentence \")) == [\n \"This is the first sentence.\",\n \"This is a partial sentence \",\n ]\ndef test_tokenize_empty_line() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\n\\nThis is the third sentence.\")) == [\n \"This is the first sentence.\",", + "detail": "tests.tokenization.test_line_segment_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_empty_line", + "kind": 2, + "importPath": "tests.tokenization.test_line_segment_tokenizer", + "description": "tests.tokenization.test_line_segment_tokenizer", + "peekOfCode": "def test_tokenize_empty_line() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence.\\n\\nThis is the third sentence.\")) == [\n \"This is the first sentence.\",\n \"\",\n \"This is the third sentence.\",\n ]\ndef test_tokenize_line_ends_with_space() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence. \\nThis is the second sentence.\")) == [", + "detail": "tests.tokenization.test_line_segment_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_line_ends_with_space", + "kind": 2, + "importPath": "tests.tokenization.test_line_segment_tokenizer", + "description": "tests.tokenization.test_line_segment_tokenizer", + "peekOfCode": "def test_tokenize_line_ends_with_space() -> None:\n tokenizer = LineSegmentTokenizer()\n assert list(tokenizer.tokenize(\"This is the first sentence. \\nThis is the second sentence.\")) == [\n \"This is the first sentence. \",\n \"This is the second sentence.\",\n ]", + "detail": "tests.tokenization.test_line_segment_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_empty", + "kind": 2, + "importPath": "tests.tokenization.test_zswp_word_tokenizer", + "description": "tests.tokenization.test_zswp_word_tokenizer", + "peekOfCode": "def test_tokenize_empty() -> None:\n tokenizer = ZwspWordTokenizer()\n assert not any(tokenizer.tokenize(\"\"))\ndef test_tokenize_zswp() -> None:\n tokenizer = ZwspWordTokenizer()\n assert not any(tokenizer.tokenize(\"\\u200b\"))\ndef test_tokenize_space() -> None:\n tokenizer = ZwspWordTokenizer()\n assert list(tokenizer.tokenize(\"គែស\\u200bមាង់ អី\\u200bនៃ\\u200bជេង\\u200bនារ\\u200bត៝ល់\\u200bព្វាន់។\")) == [\n \"គែស\",", + "detail": "tests.tokenization.test_zswp_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_zswp", + "kind": 2, + "importPath": "tests.tokenization.test_zswp_word_tokenizer", + "description": "tests.tokenization.test_zswp_word_tokenizer", + "peekOfCode": "def test_tokenize_zswp() -> None:\n tokenizer = ZwspWordTokenizer()\n assert not any(tokenizer.tokenize(\"\\u200b\"))\ndef test_tokenize_space() -> None:\n tokenizer = ZwspWordTokenizer()\n assert list(tokenizer.tokenize(\"គែស\\u200bមាង់ អី\\u200bនៃ\\u200bជេង\\u200bនារ\\u200bត៝ល់\\u200bព្វាន់។\")) == [\n \"គែស\",\n \"មាង់\",\n \" \",\n \"អី\",", + "detail": "tests.tokenization.test_zswp_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_space", + "kind": 2, + "importPath": "tests.tokenization.test_zswp_word_tokenizer", + "description": "tests.tokenization.test_zswp_word_tokenizer", + "peekOfCode": "def test_tokenize_space() -> None:\n tokenizer = ZwspWordTokenizer()\n assert list(tokenizer.tokenize(\"គែស\\u200bមាង់ អី\\u200bនៃ\\u200bជេង\\u200bនារ\\u200bត៝ល់\\u200bព្វាន់។\")) == [\n \"គែស\",\n \"មាង់\",\n \" \",\n \"អី\",\n \"នៃ\",\n \"ជេង\",\n \"នារ\",", + "detail": "tests.tokenization.test_zswp_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_guillemet", + "kind": 2, + "importPath": "tests.tokenization.test_zswp_word_tokenizer", + "description": "tests.tokenization.test_zswp_word_tokenizer", + "peekOfCode": "def test_tokenize_guillemet() -> None:\n tokenizer = ZwspWordTokenizer()\n assert list(tokenizer.tokenize(\"ឞ្ក្នៃ\\u200bរាញា «នារ» ជេសរី\")) == [\"ឞ្ក្នៃ\", \"រាញា\", \"«\", \"នារ\", \"»\", \"ជេសរី\"]\ndef test_tokenize_punctuation() -> None:\n tokenizer = ZwspWordTokenizer()\n assert list(tokenizer.tokenize(\"ไป\\u200bไหน\\u200bมา? เขา\\u200bถาม\\u200bผม.\")) == [\n \"ไป\",\n \"ไหน\",\n \"มา\",\n \"?\",", + "detail": "tests.tokenization.test_zswp_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_punctuation", + "kind": 2, + "importPath": "tests.tokenization.test_zswp_word_tokenizer", + "description": "tests.tokenization.test_zswp_word_tokenizer", + "peekOfCode": "def test_tokenize_punctuation() -> None:\n tokenizer = ZwspWordTokenizer()\n assert list(tokenizer.tokenize(\"ไป\\u200bไหน\\u200bมา? เขา\\u200bถาม\\u200bผม.\")) == [\n \"ไป\",\n \"ไหน\",\n \"มา\",\n \"?\",\n \"เขา\",\n \"ถาม\",\n \"ผม\",", + "detail": "tests.tokenization.test_zswp_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_punctuation_inside_word", + "kind": 2, + "importPath": "tests.tokenization.test_zswp_word_tokenizer", + "description": "tests.tokenization.test_zswp_word_tokenizer", + "peekOfCode": "def test_tokenize_punctuation_inside_word() -> None:\n tokenizer = ZwspWordTokenizer()\n assert list(tokenizer.tokenize(\"เริ่ม\\u200bต้น\\u200bที่ 7,999 บาท\")) == [\n \"เริ่ม\",\n \"ต้น\",\n \"ที่\",\n \" \",\n \"7,999\",\n \" \",\n \"บาท\",", + "detail": "tests.tokenization.test_zswp_word_tokenizer", + "documentation": {} + }, + { + "label": "test_tokenize_multiple_spaces", + "kind": 2, + "importPath": "tests.tokenization.test_zswp_word_tokenizer", + "description": "tests.tokenization.test_zswp_word_tokenizer", + "peekOfCode": "def test_tokenize_multiple_spaces() -> None:\n tokenizer = ZwspWordTokenizer()\n assert list(tokenizer.tokenize(\"គែស\\u200bមាង់ អី\\u200bនៃ\\u200bជេង\\u200bនារ\\u200bត៝ល់\\u200bព្វាន់។\")) == [\n \"គែស\",\n \"មាង់\",\n \" \",\n \"អី\",\n \"នៃ\",\n \"ជេង\",\n \"នារ\",", + "detail": "tests.tokenization.test_zswp_word_tokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_empty", + "kind": 2, + "importPath": "tests.tokenization.test_zwsp_word_detokenizer", + "description": "tests.tokenization.test_zwsp_word_detokenizer", + "peekOfCode": "def test_detokenize_empty() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert detokenizer.detokenize([]) == \"\"\ndef test_detokenize_space() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert (\n detokenizer.detokenize([\"គែស\", \"មាង់\", \" \", \"អី\", \"នៃ\", \"ជេង\", \"នារ\", \"ត៝ល់\", \"ព្វាន់\", \"។\"])\n == \"គែស\\u200bមាង់ អី\\u200bនៃ\\u200bជេង\\u200bនារ\\u200bត៝ល់\\u200bព្វាន់។\"\n )\ndef test_detokenize_guillment() -> None:", + "detail": "tests.tokenization.test_zwsp_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_space", + "kind": 2, + "importPath": "tests.tokenization.test_zwsp_word_detokenizer", + "description": "tests.tokenization.test_zwsp_word_detokenizer", + "peekOfCode": "def test_detokenize_space() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert (\n detokenizer.detokenize([\"គែស\", \"មាង់\", \" \", \"អី\", \"នៃ\", \"ជេង\", \"នារ\", \"ត៝ល់\", \"ព្វាន់\", \"។\"])\n == \"គែស\\u200bមាង់ អី\\u200bនៃ\\u200bជេង\\u200bនារ\\u200bត៝ល់\\u200bព្វាន់។\"\n )\ndef test_detokenize_guillment() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert detokenizer.detokenize([\"ឞ្ក្នៃ\", \"រាញា\", \"«\", \"នារ\", \"»\", \"ជេសរី\"]) == \"ឞ្ក្នៃ\\u200bរាញា «នារ» ជេសរី\"\ndef test_detokenize_punctuation() -> None:", + "detail": "tests.tokenization.test_zwsp_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_guillment", + "kind": 2, + "importPath": "tests.tokenization.test_zwsp_word_detokenizer", + "description": "tests.tokenization.test_zwsp_word_detokenizer", + "peekOfCode": "def test_detokenize_guillment() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert detokenizer.detokenize([\"ឞ្ក្នៃ\", \"រាញា\", \"«\", \"នារ\", \"»\", \"ជេសរី\"]) == \"ឞ្ក្នៃ\\u200bរាញា «នារ» ជេសរី\"\ndef test_detokenize_punctuation() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert (\n detokenizer.detokenize([\"ไป\", \"ไหน\", \"มา\", \"?\", \"เขา\", \"ถาม\", \"ผม\", \".\"])\n == \"ไป\\u200bไหน\\u200bมา? เขา\\u200bถาม\\u200bผม.\"\n )\n assert detokenizer.detokenize([\"ช้าง\", \",\", \"ม้า\", \",\", \"วัว\", \",\", \"กระบือ\"]) == \"ช้าง, ม้า, วัว, กระบือ\"", + "detail": "tests.tokenization.test_zwsp_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_punctuation", + "kind": 2, + "importPath": "tests.tokenization.test_zwsp_word_detokenizer", + "description": "tests.tokenization.test_zwsp_word_detokenizer", + "peekOfCode": "def test_detokenize_punctuation() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert (\n detokenizer.detokenize([\"ไป\", \"ไหน\", \"มา\", \"?\", \"เขา\", \"ถาม\", \"ผม\", \".\"])\n == \"ไป\\u200bไหน\\u200bมา? เขา\\u200bถาม\\u200bผม.\"\n )\n assert detokenizer.detokenize([\"ช้าง\", \",\", \"ม้า\", \",\", \"วัว\", \",\", \"กระบือ\"]) == \"ช้าง, ม้า, วัว, กระบือ\"\ndef test_detokenize_punctuation_inside_word() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert detokenizer.detokenize([\"เริ่ม\", \"ต้น\", \"ที่\", \" \", \"7,999\", \" \", \"บาท\"]) == \"เริ่ม\\u200bต้น\\u200bที่ 7,999 บาท\"", + "detail": "tests.tokenization.test_zwsp_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_punctuation_inside_word", + "kind": 2, + "importPath": "tests.tokenization.test_zwsp_word_detokenizer", + "description": "tests.tokenization.test_zwsp_word_detokenizer", + "peekOfCode": "def test_detokenize_punctuation_inside_word() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert detokenizer.detokenize([\"เริ่ม\", \"ต้น\", \"ที่\", \" \", \"7,999\", \" \", \"บาท\"]) == \"เริ่ม\\u200bต้น\\u200bที่ 7,999 บาท\"\ndef test_detokenize_multiple_spaces() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert (\n detokenizer.detokenize([\"គែស\", \"មាង់\", \" \", \"អី\", \"នៃ\", \"ជេង\", \"នារ\", \"ត៝ល់\", \"ព្វាន់\", \"។\"])\n == \"គែស\\u200bមាង់ អី\\u200bនៃ\\u200bជេង\\u200bនារ\\u200bត៝ល់\\u200bព្វាន់។\"\n )", + "detail": "tests.tokenization.test_zwsp_word_detokenizer", + "documentation": {} + }, + { + "label": "test_detokenize_multiple_spaces", + "kind": 2, + "importPath": "tests.tokenization.test_zwsp_word_detokenizer", + "description": "tests.tokenization.test_zwsp_word_detokenizer", + "peekOfCode": "def test_detokenize_multiple_spaces() -> None:\n detokenizer = ZwspWordDetokenizer()\n assert (\n detokenizer.detokenize([\"គែស\", \"មាង់\", \" \", \"អី\", \"នៃ\", \"ជេង\", \"នារ\", \"ត៝ល់\", \"ព្វាន់\", \"។\"])\n == \"គែស\\u200bមាង់ អី\\u200bនៃ\\u200bជេង\\u200bនារ\\u200bត៝ល់\\u200bព្វាន់។\"\n )", + "detail": "tests.tokenization.test_zwsp_word_detokenizer", + "documentation": {} + }, + { + "label": "test_translate_n_batch_beam", + "kind": 2, + "importPath": "tests.translation.huggingface.test_hugging_face_nmt_engine", + "description": "tests.translation.huggingface.test_hugging_face_nmt_engine", + "peekOfCode": "def test_translate_n_batch_beam() -> None:\n engine = HuggingFaceNmtEngine(\"stas/tiny-m2m_100\", src_lang=\"en\", tgt_lang=\"es\", num_beams=2, max_length=10)\n results = engine.translate_n_batch(\n n=2,\n segments=[\"This is a test string\", \"Hello, world!\"],\n )\n assert results[0][0].translation == \"skaberskaber Dollar Dollar ፤ ፤ gerekir gerekir\"\n assert results[0][0].confidences[0] == approx(1.08e-05, 0.01)\n assert str(results[0][0].alignment) == \"2-0 2-1 2-2 2-3 4-4 4-5 4-6 4-7\"\n assert results[0][1].translation == \"skaberskaber Dollar Dollar ፤ ፤ ፤ gerekir\"", + "detail": "tests.translation.huggingface.test_hugging_face_nmt_engine", + "documentation": {} + }, + { + "label": "test_translate_greedy", + "kind": 2, + "importPath": "tests.translation.huggingface.test_hugging_face_nmt_engine", + "description": "tests.translation.huggingface.test_hugging_face_nmt_engine", + "peekOfCode": "def test_translate_greedy() -> None:\n engine = HuggingFaceNmtEngine(\"stas/tiny-m2m_100\", src_lang=\"en\", tgt_lang=\"es\", max_length=10)\n result = engine.translate(\"This is a test string\")\n assert result.translation == \"skaberskaber Dollar Dollar Dollar ፤ gerekir gerekir\"\n assert result.confidences[0] == approx(1.08e-05, 0.01)\n assert str(result.alignment) == \"2-0 2-1 2-2 2-3 4-4 4-5 4-6 4-7\"\ndef test_construct_invalid_lang() -> None:\n with raises(ValueError):\n HuggingFaceNmtEngine(\"stas/tiny-m2m_100\", src_lang=\"qaa\", tgt_lang=\"es\")", + "detail": "tests.translation.huggingface.test_hugging_face_nmt_engine", + "documentation": {} + }, + { + "label": "test_construct_invalid_lang", + "kind": 2, + "importPath": "tests.translation.huggingface.test_hugging_face_nmt_engine", + "description": "tests.translation.huggingface.test_hugging_face_nmt_engine", + "peekOfCode": "def test_construct_invalid_lang() -> None:\n with raises(ValueError):\n HuggingFaceNmtEngine(\"stas/tiny-m2m_100\", src_lang=\"qaa\", tgt_lang=\"es\")", + "detail": "tests.translation.huggingface.test_hugging_face_nmt_engine", + "documentation": {} + }, + { + "label": "test_train_non_empty_corpus", + "kind": 2, + "importPath": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "description": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "peekOfCode": "def test_train_non_empty_corpus() -> None:\n pretrained_engine = HuggingFaceNmtEngine(\"stas/tiny-m2m_100\", src_lang=\"es\", tgt_lang=\"en\", max_length=20)\n pretrained_result = pretrained_engine.translate(\"una habitación individual por semana\")\n with TemporaryDirectory() as temp_dir:\n source_corpus = DictionaryTextCorpus(\n [\n MemoryText(\n \"text1\",\n [\n _row(1, \"¿Le importaría darnos las llaves de la habitación, por favor?\"),", + "detail": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "test_update_tokenizer_missing_char", + "kind": 2, + "importPath": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "description": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "peekOfCode": "def test_update_tokenizer_missing_char() -> None:\n with TemporaryDirectory() as temp_dir:\n source_corpus = DictionaryTextCorpus(\n [\n MemoryText(\n \"text1\",\n [\n _row(1, \"Ḏ Ḻ ḻ Ṉ\"),\n _row(2, \"d e f g\"),\n ],", + "detail": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "test_update_tokenizer_missing_char_skip", + "kind": 2, + "importPath": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "description": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "peekOfCode": "def test_update_tokenizer_missing_char_skip() -> None:\n with TemporaryDirectory() as temp_dir:\n source_corpus = DictionaryTextCorpus(\n [\n MemoryText(\n \"text1\",\n [\n _row(1, \"Ḻ ḻ Ṉ\"),\n _row(2, \"d e f\"),\n ],", + "detail": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "test_update_tokenizer_missing_char_src", + "kind": 2, + "importPath": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "description": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "peekOfCode": "def test_update_tokenizer_missing_char_src() -> None:\n with TemporaryDirectory() as temp_dir:\n source_corpus = DictionaryTextCorpus(\n [\n MemoryText(\n \"text1\",\n [\n _row(1, \"Ḻ ḻ Ṉ\"),\n _row(2, \"ॽ \" + \"‌ \" + \"‍\"),\n ],", + "detail": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "test_update_tokenizer_missing_char_trg", + "kind": 2, + "importPath": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "description": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "peekOfCode": "def test_update_tokenizer_missing_char_trg() -> None:\n with TemporaryDirectory() as temp_dir:\n source_corpus = DictionaryTextCorpus(\n [\n MemoryText(\n \"text1\",\n [\n _row(1, \"random data\"),\n _row(2, \"other info\"),\n ],", + "detail": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "test_update_tokenizer_no_missing_char", + "kind": 2, + "importPath": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "description": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "peekOfCode": "def test_update_tokenizer_no_missing_char() -> None:\n with TemporaryDirectory() as temp_dir:\n source_corpus = DictionaryTextCorpus(\n [\n MemoryText(\n \"text1\",\n [\n _row(1, \"Me parece que existe un problema.\"),\n _row(2, \"Yo voy a marcharme el dos a las ocho de la noche.\"),\n ],", + "detail": "tests.translation.huggingface.test_hugging_face_nmt_model_trainer", + "documentation": {} + }, + { + "label": "test_get_best_alignment", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_get_best_alignment() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n assert matrix == WordAlignmentMatrix.from_word_pairs(\n 9, 8, {(0, 0), (4, 1), (5, 2), (6, 3), (7, 4), (8, 6), (8, 7)}\n )\ndef test_get_best_alignment_batch() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_best_alignment_batch", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_get_best_alignment_batch() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n segments = [\n (\"voy a marcharme hoy por la tarde .\".split(), \"i am leaving today in the afternoon .\".split()),\n (\"hablé hasta cinco en punto .\".split(), \"i am staying until five o ' clock .\".split()),\n ]\n matrices = model.align_batch(segments)\n assert matrices == [\n WordAlignmentMatrix.from_word_pairs(8, 8, {(0, 0), (0, 1), (2, 2), (3, 3), (6, 4), (5, 5), (6, 6), (7, 7)}),\n WordAlignmentMatrix.from_word_pairs(6, 9, {(0, 1), (1, 2), (1, 3), (2, 4), (4, 5), (4, 6), (4, 7), (5, 8)}),", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_avg_translation_score", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_get_avg_translation_score() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n score = model.get_avg_translation_score(source_segment, target_segment, matrix)\n assert score == approx(0.34, abs=0.01)\ndef test_get_translation_probability() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.get_translation_probability(\"esto\", \"this\") == approx(0.0, abs=0.01)", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_translation_probability", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_get_translation_probability() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.get_translation_probability(\"esto\", \"this\") == approx(0.0, abs=0.01)\n assert model.get_translation_probability(\"es\", \"is\") == approx(0.90, abs=0.01)\n assert model.get_translation_probability(\"una\", \"a\") == approx(0.83, abs=0.01)\n assert model.get_translation_probability(\"prueba\", \"test\") == approx(0.0, abs=0.01)\ndef test_source_words_enumerate() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.source_words) == 500\ndef test_source_words_index_accessor() -> None:", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_source_words_enumerate", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_source_words_enumerate() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.source_words) == 500\ndef test_source_words_index_accessor() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.source_words[0] == \"NULL\"\n assert model.source_words[499] == \"pagar\"\ndef test_source_words_index_len() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.source_words) == 500", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_source_words_index_accessor", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_source_words_index_accessor() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.source_words[0] == \"NULL\"\n assert model.source_words[499] == \"pagar\"\ndef test_source_words_index_len() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.source_words) == 500\ndef test_target_words_enumerate() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.target_words) == 352", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_source_words_index_len", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_source_words_index_len() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.source_words) == 500\ndef test_target_words_enumerate() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.target_words) == 352\ndef test_target_words_index_accessor() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.target_words[0] == \"NULL\"\n assert model.target_words[351] == \"pay\"", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_target_words_enumerate", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_target_words_enumerate() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.target_words) == 352\ndef test_target_words_index_accessor() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.target_words[0] == \"NULL\"\n assert model.target_words[351] == \"pay\"\ndef test_target_words_index_len() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.target_words) == 352", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_target_words_index_accessor", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_target_words_index_accessor() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.target_words[0] == \"NULL\"\n assert model.target_words[351] == \"pay\"\ndef test_target_words_index_len() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.target_words) == 352\ndef test_get_translation_table_symmetrized_no_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH),", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_target_words_index_len", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_target_words_index_len() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.target_words) == 352\ndef test_get_translation_table_symmetrized_no_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH),\n ThotFastAlignWordAlignmentModel(INVERSE_MODEL_PATH),\n ) as model:\n table = model.get_translation_table()\n assert len(table) == 500", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_translation_table_symmetrized_no_threshold", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_get_translation_table_symmetrized_no_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH),\n ThotFastAlignWordAlignmentModel(INVERSE_MODEL_PATH),\n ) as model:\n table = model.get_translation_table()\n assert len(table) == 500\n assert len(table[\"es\"]) == 21\ndef test_get_translation_table_symmetrized_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_translation_table_symmetrized_threshold", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_get_translation_table_symmetrized_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH),\n ThotFastAlignWordAlignmentModel(INVERSE_MODEL_PATH),\n ) as model:\n table = model.get_translation_table(0.2)\n assert len(table) == 500\n assert len(table[\"es\"]) == 2\ndef test_get_avg_translation_score_symmetrized() -> None:\n with ThotSymmetrizedWordAlignmentModel(", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_avg_translation_score_symmetrized", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_get_avg_translation_score_symmetrized() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH),\n ThotFastAlignWordAlignmentModel(INVERSE_MODEL_PATH),\n ) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n score = model.get_avg_translation_score(source_segment, target_segment, matrix)\n assert score == approx(0.36, abs=0.01)", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_constructor_model_corrupted", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "def test_constructor_model_corrupted() -> None:\n with TemporaryDirectory() as temp_dir:\n temp_dir_path = Path(temp_dir)\n (temp_dir_path / \"src_trg_invswm.src\").write_text(\"corrupted\", encoding=\"utf-8\")\n with raises(RuntimeError):\n ThotFastAlignWordAlignmentModel(temp_dir_path / \"src_trg_invswm\")", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "DIRECT_MODEL_PATH", + "kind": 5, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "DIRECT_MODEL_PATH = TOY_CORPUS_FAST_ALIGN_PATH / \"tm\" / \"src_trg_invswm\"\nINVERSE_MODEL_PATH = TOY_CORPUS_FAST_ALIGN_PATH / \"tm\" / \"src_trg_swm\"\ndef test_get_best_alignment() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n assert matrix == WordAlignmentMatrix.from_word_pairs(\n 9, 8, {(0, 0), (4, 1), (5, 2), (6, 3), (7, 4), (8, 6), (8, 7)}\n )", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "INVERSE_MODEL_PATH", + "kind": 5, + "importPath": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "description": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "peekOfCode": "INVERSE_MODEL_PATH = TOY_CORPUS_FAST_ALIGN_PATH / \"tm\" / \"src_trg_swm\"\ndef test_get_best_alignment() -> None:\n with ThotFastAlignWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n assert matrix == WordAlignmentMatrix.from_word_pairs(\n 9, 8, {(0, 0), (4, 1), (5, 2), (6, 3), (7, 4), (8, 6), (8, 7)}\n )\ndef test_get_best_alignment_batch() -> None:", + "detail": "tests.translation.thot.test_thot_fast_align_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_best_alignment", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_get_best_alignment() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n assert matrix == WordAlignmentMatrix.from_word_pairs(\n 9, 8, {(0, 5), (1, 6), (3, 7), (4, 0), (4, 1), (5, 2), (6, 3), (7, 4)}\n )\ndef test_get_best_alignment_batch() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_best_alignment_batch", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_get_best_alignment_batch() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n segments = [\n (\"voy a marcharme hoy por la tarde .\".split(), \"i am leaving today in the afternoon .\".split()),\n (\"hablé hasta cinco en punto .\".split(), \"i am staying until five o ' clock .\".split()),\n ]\n matrices = model.align_batch(segments)\n assert matrices == [\n WordAlignmentMatrix.from_word_pairs(8, 8, {(0, 0), (0, 1), (0, 2), (3, 3), (6, 4), (5, 5), (6, 6), (7, 7)}),\n WordAlignmentMatrix.from_word_pairs(6, 9, {(4, 1), (5, 2), (1, 3), (2, 4), (4, 5), (4, 6), (4, 7), (5, 8)}),", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_avg_translation_score", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_get_avg_translation_score() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n score = model.get_avg_translation_score(source_segment, target_segment, matrix)\n assert score == approx(0.40, abs=0.01)\ndef test_get_best_aligned_word_pairs() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"hablé hasta cinco en punto .\".split()", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_best_aligned_word_pairs", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_get_best_aligned_word_pairs() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"hablé hasta cinco en punto .\".split()\n target_segment = \"i am staying until five o ' clock .\".split()\n pairs = list(model.get_best_aligned_word_pairs(source_segment, target_segment))\n assert len(pairs) == 8\n assert pairs[0].source_index == 1\n assert pairs[0].target_index == 3\n assert pairs[0].translation_score == approx(0.78, abs=0.01)\n assert pairs[0].alignment_score == approx(0.18, abs=0.01)", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_compute_aligned_word_pair_scores", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_compute_aligned_word_pair_scores() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"hablé hasta cinco en punto .\".split()\n target_segment = \"i am staying until five o ' clock .\".split()\n matrix = model.align(source_segment, target_segment)\n pairs = list(matrix.to_aligned_word_pairs(include_null=True))\n model.compute_aligned_word_pair_scores(source_segment, target_segment, pairs)\n assert len(pairs) == 11\n assert pairs[0].source_index == -1\n assert pairs[0].target_index == 0", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_translation_probability", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_get_translation_probability() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.get_translation_probability(\"esto\", \"this\") == approx(0.0, abs=0.01)\n assert model.get_translation_probability(\"es\", \"is\") == approx(0.65, abs=0.01)\n assert model.get_translation_probability(\"una\", \"a\") == approx(0.70, abs=0.01)\n assert model.get_translation_probability(\"prueba\", \"test\") == approx(0.0, abs=0.01)\ndef test_source_words_enumerate() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.source_words) == 513\ndef test_source_words_index_accessor() -> None:", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_source_words_enumerate", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_source_words_enumerate() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.source_words) == 513\ndef test_source_words_index_accessor() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.source_words[0] == \"NULL\"\n assert model.source_words[512] == \"pagar\"\ndef test_source_words_index_len() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.source_words) == 513", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_source_words_index_accessor", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_source_words_index_accessor() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.source_words[0] == \"NULL\"\n assert model.source_words[512] == \"pagar\"\ndef test_source_words_index_len() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.source_words) == 513\ndef test_target_words_enumerate() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.target_words) == 363", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_source_words_index_len", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_source_words_index_len() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.source_words) == 513\ndef test_target_words_enumerate() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.target_words) == 363\ndef test_target_words_index_accessor() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.target_words[0] == \"NULL\"\n assert model.target_words[362] == \"pay\"", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_target_words_enumerate", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_target_words_enumerate() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert sum(1 for _ in model.target_words) == 363\ndef test_target_words_index_accessor() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.target_words[0] == \"NULL\"\n assert model.target_words[362] == \"pay\"\ndef test_target_words_index_len() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.target_words) == 363", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_target_words_index_accessor", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_target_words_index_accessor() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert model.target_words[0] == \"NULL\"\n assert model.target_words[362] == \"pay\"\ndef test_target_words_index_len() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.target_words) == 363\ndef test_get_translation_table_symmetrized_no_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH), ThotHmmWordAlignmentModel(INVERSE_MODEL_PATH)", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_target_words_index_len", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_target_words_index_len() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n assert len(model.target_words) == 363\ndef test_get_translation_table_symmetrized_no_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH), ThotHmmWordAlignmentModel(INVERSE_MODEL_PATH)\n ) as model:\n table = model.get_translation_table()\n assert len(table) == 513\n assert len(table[\"es\"]) == 23", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_translation_table_symmetrized_no_threshold", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_get_translation_table_symmetrized_no_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH), ThotHmmWordAlignmentModel(INVERSE_MODEL_PATH)\n ) as model:\n table = model.get_translation_table()\n assert len(table) == 513\n assert len(table[\"es\"]) == 23\ndef test_get_translation_table_symmetrized_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH), ThotHmmWordAlignmentModel(INVERSE_MODEL_PATH)", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_translation_table_symmetrized_threshold", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_get_translation_table_symmetrized_threshold() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH), ThotHmmWordAlignmentModel(INVERSE_MODEL_PATH)\n ) as model:\n table = model.get_translation_table(0.2)\n assert len(table) == 513\n assert len(table[\"es\"]) == 9\ndef test_get_avg_translation_score_symmetrized() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH), ThotHmmWordAlignmentModel(INVERSE_MODEL_PATH)", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_avg_translation_score_symmetrized", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_get_avg_translation_score_symmetrized() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH), ThotHmmWordAlignmentModel(INVERSE_MODEL_PATH)\n ) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n score = model.get_avg_translation_score(source_segment, target_segment, matrix)\n assert score == approx(0.46, abs=0.01)\ndef test_get_best_aligned_word_pairs_symmetrized() -> None:", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_get_best_aligned_word_pairs_symmetrized", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_get_best_aligned_word_pairs_symmetrized() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH), ThotHmmWordAlignmentModel(INVERSE_MODEL_PATH)\n ) as model:\n source_segment = \"hablé hasta cinco en punto .\".split()\n target_segment = \"i am staying until five o ' clock .\".split()\n pairs = list(model.get_best_aligned_word_pairs(source_segment, target_segment))\n assert len(pairs) == 8\n assert pairs[0].source_index == 0\n assert pairs[0].target_index == 1", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_compute_aligned_word_pair_scores_symmetrized", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_compute_aligned_word_pair_scores_symmetrized() -> None:\n with ThotSymmetrizedWordAlignmentModel(\n ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH), ThotHmmWordAlignmentModel(INVERSE_MODEL_PATH)\n ) as model:\n source_segment = \"hablé hasta cinco en punto .\".split()\n target_segment = \"i am staying until five o ' clock .\".split()\n matrix = model.align(source_segment, target_segment)\n pairs = list(matrix.to_aligned_word_pairs(include_null=True))\n model.compute_aligned_word_pair_scores(source_segment, target_segment, pairs)\n assert len(pairs) == 10", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_create_trainer", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "def test_create_trainer() -> None:\n with ThotHmmWordAlignmentModel() as model:\n model.parameters.ibm1_iteration_count = 2\n model.parameters.hmm_iteration_count = 2\n model.parameters.hmm_p0 = 0.1\n with model.create_trainer(create_test_parallel_corpus()) as trainer:\n trainer.train()\n trainer.save()\n matrix = model.align(\"isthay isyay ayay esttay-N .\".split(), \"this is a test N .\".split())\n assert matrix == WordAlignmentMatrix.from_word_pairs(5, 6, {(0, 0), (1, 1), (2, 2), (3, 3), (3, 4), (4, 5)})", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "DIRECT_MODEL_PATH", + "kind": 5, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "DIRECT_MODEL_PATH = TOY_CORPUS_HMM_PATH / \"tm\" / \"src_trg_invswm\"\nINVERSE_MODEL_PATH = TOY_CORPUS_HMM_PATH / \"tm\" / \"src_trg_swm\"\ndef test_get_best_alignment() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n assert matrix == WordAlignmentMatrix.from_word_pairs(\n 9, 8, {(0, 5), (1, 6), (3, 7), (4, 0), (4, 1), (5, 2), (6, 3), (7, 4)}\n )", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "INVERSE_MODEL_PATH", + "kind": 5, + "importPath": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "description": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "peekOfCode": "INVERSE_MODEL_PATH = TOY_CORPUS_HMM_PATH / \"tm\" / \"src_trg_swm\"\ndef test_get_best_alignment() -> None:\n with ThotHmmWordAlignmentModel(DIRECT_MODEL_PATH) as model:\n source_segment = \"por favor , ¿ podríamos ver otra habitación ?\".split()\n target_segment = \"could we see another room , please ?\".split()\n matrix = model.align(source_segment, target_segment)\n assert matrix == WordAlignmentMatrix.from_word_pairs(\n 9, 8, {(0, 5), (1, 6), (3, 7), (4, 0), (4, 1), (5, 2), (6, 3), (7, 4)}\n )\ndef test_get_best_alignment_batch() -> None:", + "detail": "tests.translation.thot.test_thot_hmm_word_alignment_model", + "documentation": {} + }, + { + "label": "test_create_trainer", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_ibm4_word_alignment_model", + "description": "tests.translation.thot.test_thot_ibm4_word_alignment_model", + "peekOfCode": "def test_create_trainer() -> None:\n with ThotIbm4WordAlignmentModel() as model:\n model.parameters.ibm1_iteration_count = 2\n model.parameters.hmm_iteration_count = 2\n model.parameters.ibm3_iteration_count = 2\n model.parameters.ibm4_iteration_count = 2\n model.parameters.hmm_p0 = 0.1\n # pronouns\n _add_src_word_class(model, \"1\", [\"isthay\", \"ouyay\", \"ityay\"])\n # verbs", + "detail": "tests.translation.thot.test_thot_ibm4_word_alignment_model", + "documentation": {} + }, + { + "label": "test_translate_target_segment_hmm", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_translate_target_segment_hmm() -> None:\n with _create_hmm_model() as smt_model:\n result = smt_model.translate(\"voy a marcharme hoy por la tarde .\")\n assert result.translation == \"i am leaving today in the afternoon .\"\ndef test_translate_n_less_than_n_hmm() -> None:\n with _create_hmm_model() as smt_model:\n results = smt_model.translate_n(3, \"voy a marcharme hoy por la tarde .\")\n assert [r.translation for r in results] == [\"i am leaving today in the afternoon .\"]\ndef test_translate_n_hmm() -> None:\n with _create_hmm_model() as smt_model:", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_translate_n_less_than_n_hmm", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_translate_n_less_than_n_hmm() -> None:\n with _create_hmm_model() as smt_model:\n results = smt_model.translate_n(3, \"voy a marcharme hoy por la tarde .\")\n assert [r.translation for r in results] == [\"i am leaving today in the afternoon .\"]\ndef test_translate_n_hmm() -> None:\n with _create_hmm_model() as smt_model:\n results = smt_model.translate_n(2, \"hablé hasta cinco en punto .\")\n assert [r.translation for r in results] == [\n \"hablé until five o ' clock .\",\n \"hablé until five o ' clock for\",", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_translate_n_hmm", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_translate_n_hmm() -> None:\n with _create_hmm_model() as smt_model:\n results = smt_model.translate_n(2, \"hablé hasta cinco en punto .\")\n assert [r.translation for r in results] == [\n \"hablé until five o ' clock .\",\n \"hablé until five o ' clock for\",\n ]\ndef test_train_segment_hmm() -> None:\n with _create_hmm_model() as smt_model:\n result = smt_model.translate(\"esto es una prueba .\")", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_train_segment_hmm", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_train_segment_hmm() -> None:\n with _create_hmm_model() as smt_model:\n result = smt_model.translate(\"esto es una prueba .\")\n assert result.translation == \"esto is a prueba .\"\n smt_model.train_segment(\"esto es una prueba .\", \"this is a test .\")\n result = smt_model.translate(\"esto es una prueba .\")\n assert result.translation == \"this is a test .\"\ndef test_get_word_graph_empty_segment_hmm() -> None:\n with _create_hmm_model() as smt_model:\n word_graph = smt_model.get_word_graph([])", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_get_word_graph_empty_segment_hmm", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_get_word_graph_empty_segment_hmm() -> None:\n with _create_hmm_model() as smt_model:\n word_graph = smt_model.get_word_graph([])\n assert word_graph.is_empty\ndef test_translate_batch_hmm() -> None:\n batch = [\n \"por favor , desearía reservar una habitación hasta mañana .\",\n \"por favor , despiértenos mañana a las siete y cuarto .\",\n \"voy a marcharme hoy por la tarde .\",\n \"por favor , ¿ les importaría bajar nuestro equipaje a la habitación número cero trece ?\",", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_translate_batch_hmm", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_translate_batch_hmm() -> None:\n batch = [\n \"por favor , desearía reservar una habitación hasta mañana .\",\n \"por favor , despiértenos mañana a las siete y cuarto .\",\n \"voy a marcharme hoy por la tarde .\",\n \"por favor , ¿ les importaría bajar nuestro equipaje a la habitación número cero trece ?\",\n \"¿ me podrían dar la llave de la habitación dos cuatro cuatro , por favor ?\",\n ]\n with _create_hmm_model() as smt_model:\n results = smt_model.translate_batch(batch)", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_translate_fast_align", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_translate_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n result = smt_model.translate(\"voy a marcharme hoy por la tarde .\")\n assert result.translation == \"i am leaving today in the afternoon .\"\ndef test_translate_n_less_than_n_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n results = smt_model.translate_n(3, \"voy a marcharme hoy por la tarde .\")\n assert [r.translation for r in results] == [\"i am leaving today in the afternoon .\"]\ndef test_translate_n_fast_align() -> None:\n with _create_fast_align_model() as smt_model:", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_translate_n_less_than_n_fast_align", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_translate_n_less_than_n_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n results = smt_model.translate_n(3, \"voy a marcharme hoy por la tarde .\")\n assert [r.translation for r in results] == [\"i am leaving today in the afternoon .\"]\ndef test_translate_n_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n results = smt_model.translate_n(2, \"hablé hasta cinco en punto .\")\n assert [r.translation for r in results] == [\n \"hablé until five o ' clock .\",\n \"hablé until five o ' clock , please .\",", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_translate_n_fast_align", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_translate_n_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n results = smt_model.translate_n(2, \"hablé hasta cinco en punto .\")\n assert [r.translation for r in results] == [\n \"hablé until five o ' clock .\",\n \"hablé until five o ' clock , please .\",\n ]\ndef test_train_segment_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n result = smt_model.translate(\"esto es una prueba .\")", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_train_segment_fast_align", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_train_segment_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n result = smt_model.translate(\"esto es una prueba .\")\n assert result.translation == \"esto is a prueba .\"\n smt_model.train_segment(\"esto es una prueba .\", \"this is a test .\")\n result = smt_model.translate(\"esto es una prueba .\")\n assert result.translation == \"this is a test .\"\ndef test_get_word_graph_empty_segment_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n word_graph = smt_model.get_word_graph([])", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_get_word_graph_empty_segment_fast_align", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_get_word_graph_empty_segment_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n word_graph = smt_model.get_word_graph([])\n assert word_graph.is_empty\ndef test_constructor_model_not_found() -> None:\n with raises(FileNotFoundError):\n ThotSmtModel(\n ThotWordAlignmentModelType.HMM,\n ThotSmtParameters(\n translation_model_filename_prefix=\"does-not-exist\",", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_constructor_model_not_found", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_constructor_model_not_found() -> None:\n with raises(FileNotFoundError):\n ThotSmtModel(\n ThotWordAlignmentModelType.HMM,\n ThotSmtParameters(\n translation_model_filename_prefix=\"does-not-exist\",\n language_model_filename_prefix=\"does-not-exist\",\n ),\n )\ndef test_constructor_model_corrupted() -> None:", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_constructor_model_corrupted", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_constructor_model_corrupted() -> None:\n with TemporaryDirectory() as temp_dir:\n temp_dir_path = Path(temp_dir)\n tm_dir_path = temp_dir_path / \"tm\"\n tm_dir_path.mkdir()\n (tm_dir_path / \"src_trg.ttable\").write_text(\"corrupted\", encoding=\"utf-8\")\n lm_dir_path = temp_dir_path / \"lm\"\n lm_dir_path.mkdir()\n (lm_dir_path / \"trg.lm\").write_text(\"corrupted\", encoding=\"utf-8\")\n with raises(RuntimeError):", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_get_word_graph_hmm", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_get_word_graph_hmm() -> None:\n with _create_hmm_model() as smt_model:\n word_graph = smt_model.get_word_graph(\"voy a marcharme hoy por la tarde .\")\n assert len(word_graph.arcs) == 2\n assert len(word_graph.final_states) == 1\ndef test_get_word_graph_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n word_graph = smt_model.get_word_graph(\"voy a marcharme hoy por la tarde .\")\n assert len(word_graph.arcs) == 2\n assert len(word_graph.final_states) == 1", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_get_word_graph_fast_align", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model", + "description": "tests.translation.thot.test_thot_smt_model", + "peekOfCode": "def test_get_word_graph_fast_align() -> None:\n with _create_fast_align_model() as smt_model:\n word_graph = smt_model.get_word_graph(\"voy a marcharme hoy por la tarde .\")\n assert len(word_graph.arcs) == 2\n assert len(word_graph.final_states) == 1", + "detail": "tests.translation.thot.test_thot_smt_model", + "documentation": {} + }, + { + "label": "test_train_non_empty_corpus", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model_trainer", + "description": "tests.translation.thot.test_thot_smt_model_trainer", + "peekOfCode": "def test_train_non_empty_corpus() -> None:\n with TemporaryDirectory() as temp_dir:\n corpus = get_parallel_corpus()\n parameters = ThotSmtParameters(\n translation_model_filename_prefix=os.path.join(temp_dir, \"tm\", \"src_trg\"),\n language_model_filename_prefix=os.path.join(temp_dir, \"lm\", \"trg.lm\"),\n )\n with ThotSmtModelTrainer(ThotWordAlignmentModelType.HMM, corpus, parameters) as trainer:\n trainer.train()\n trainer.save()", + "detail": "tests.translation.thot.test_thot_smt_model_trainer", + "documentation": {} + }, + { + "label": "test_train_empty_corpus", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_smt_model_trainer", + "description": "tests.translation.thot.test_thot_smt_model_trainer", + "peekOfCode": "def test_train_empty_corpus() -> None:\n with TemporaryDirectory() as temp_dir:\n corpus = get_emtpy_parallel_corpus()\n parameters = ThotSmtParameters(\n translation_model_filename_prefix=os.path.join(temp_dir, \"tm\", \"src_trg\"),\n language_model_filename_prefix=os.path.join(temp_dir, \"lm\", \"trg.lm\"),\n )\n with ThotSmtModelTrainer(ThotWordAlignmentModelType.HMM, corpus, parameters) as trainer:\n trainer.train()\n trainer.save()", + "detail": "tests.translation.thot.test_thot_smt_model_trainer", + "documentation": {} + }, + { + "label": "train_model", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_model_trainer", + "description": "tests.translation.thot.test_thot_word_alignment_model_trainer", + "peekOfCode": "def train_model(\n corpus: ParallelTextCorpus,\n direct_model_path: Path,\n inverse_model_path: Path,\n thot_word_alignment_model_type: str,\n tokenizer: StringTokenizer,\n):\n direct_trainer = ThotWordAlignmentModelTrainer(\n thot_word_alignment_model_type,\n corpus.lowercase(),", + "detail": "tests.translation.thot.test_thot_word_alignment_model_trainer", + "documentation": {} + }, + { + "label": "test_train_non_empty_corpus", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_model_trainer", + "description": "tests.translation.thot.test_thot_word_alignment_model_trainer", + "peekOfCode": "def test_train_non_empty_corpus() -> None:\n thot_word_alignment_model_type = \"hmm\"\n tokenizer = WhitespaceTokenizer()\n corpus = get_parallel_corpus()\n with TemporaryDirectory() as temp_dir:\n tmp_path = Path(temp_dir)\n (tmp_path / \"tm\").mkdir()\n direct_model_path = tmp_path / \"tm\" / \"src_trg_invswm\"\n inverse_model_path = tmp_path / \"tm\" / \"src_trg_swm\"\n train_model(corpus, direct_model_path, inverse_model_path, thot_word_alignment_model_type, tokenizer)", + "detail": "tests.translation.thot.test_thot_word_alignment_model_trainer", + "documentation": {} + }, + { + "label": "test_train_empty_corpus", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_model_trainer", + "description": "tests.translation.thot.test_thot_word_alignment_model_trainer", + "peekOfCode": "def test_train_empty_corpus() -> None:\n thot_word_alignment_model_type = \"hmm\"\n tokenizer = WhitespaceTokenizer()\n corpus = get_emtpy_parallel_corpus()\n with TemporaryDirectory() as temp_dir:\n tmp_path = Path(temp_dir)\n direct_model_path = tmp_path / \"tm\" / \"src_trg_invswm\"\n inverse_model_path = tmp_path / \"tm\" / \"src_trg_swm\"\n train_model(corpus, direct_model_path, inverse_model_path, thot_word_alignment_model_type, tokenizer)\n with ThotSymmetrizedWordAlignmentModel(", + "detail": "tests.translation.thot.test_thot_word_alignment_model_trainer", + "documentation": {} + }, + { + "label": "test_get_fast_align_iteration_count_default", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_fast_align_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_fast_align_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 4\n assert parameters.get_fast_align_iteration_count(ThotWordAlignmentModelType.IBM1) == 0\ndef test_get_fast_align_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(fast_align_iteration_count=2)\n assert parameters.get_fast_align_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 2\n assert parameters.get_fast_align_iteration_count(ThotWordAlignmentModelType.IBM1) == 0\ndef test_get_ibm1_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_fast_align_iteration_count_set", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_fast_align_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(fast_align_iteration_count=2)\n assert parameters.get_fast_align_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 2\n assert parameters.get_fast_align_iteration_count(ThotWordAlignmentModelType.IBM1) == 0\ndef test_get_ibm1_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.IBM1) == 4\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.IBM4) == 5\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_ibm1_iteration_count_set() -> None:", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_ibm1_iteration_count_default", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_ibm1_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.IBM1) == 4\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.IBM4) == 5\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_ibm1_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm1_iteration_count=2)\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.IBM1) == 2\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_ibm1_iteration_count_set", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_ibm1_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm1_iteration_count=2)\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.IBM1) == 2\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_ibm1_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_ibm2_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.IBM2) == 4\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.IBM4) == 0\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_ibm2_iteration_count_default", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_ibm2_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.IBM2) == 4\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.IBM4) == 0\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_ibm2_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm2_iteration_count=2)\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.IBM2) == 2\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_ibm2_iteration_count_set", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_ibm2_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm2_iteration_count=2)\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.IBM2) == 2\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_ibm2_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_hmm_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.HMM) == 4\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.IBM4) == 5\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_hmm_iteration_count_default", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_hmm_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.HMM) == 4\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.IBM4) == 5\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_hmm_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(hmm_iteration_count=2)\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.HMM) == 2\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_hmm_iteration_count_set", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_hmm_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(hmm_iteration_count=2)\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.HMM) == 2\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_hmm_iteration_count_ibm2_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm2_iteration_count=2)\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.HMM) == 4\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.IBM4) == 0\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_hmm_iteration_count_ibm2_set", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_hmm_iteration_count_ibm2_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm2_iteration_count=2)\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.HMM) == 4\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.IBM4) == 0\n assert parameters.get_hmm_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_ibm3_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.IBM3) == 4\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.IBM4) == 5\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_ibm3_iteration_count_default", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_ibm3_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.IBM3) == 4\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.IBM4) == 5\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_ibm3_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm3_iteration_count=2)\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.IBM3) == 2\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_ibm3_iteration_count_set", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_ibm3_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm3_iteration_count=2)\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.IBM3) == 2\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_ibm3_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_ibm4_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_ibm4_iteration_count(ThotWordAlignmentModelType.IBM4) == 4\n assert parameters.get_ibm4_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_ibm4_iteration_count_set() -> None:", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_ibm4_iteration_count_default", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_ibm4_iteration_count_default() -> None:\n parameters = ThotWordAlignmentParameters()\n assert parameters.get_ibm4_iteration_count(ThotWordAlignmentModelType.IBM4) == 4\n assert parameters.get_ibm4_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0\ndef test_get_ibm4_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm4_iteration_count=2)\n assert parameters.get_ibm4_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_ibm4_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "test_get_ibm4_iteration_count_set", + "kind": 2, + "importPath": "tests.translation.thot.test_thot_word_alignment_parameters", + "description": "tests.translation.thot.test_thot_word_alignment_parameters", + "peekOfCode": "def test_get_ibm4_iteration_count_set() -> None:\n parameters = ThotWordAlignmentParameters(ibm4_iteration_count=2)\n assert parameters.get_ibm4_iteration_count(ThotWordAlignmentModelType.IBM4) == 2\n assert parameters.get_ibm4_iteration_count(ThotWordAlignmentModelType.FAST_ALIGN) == 0", + "detail": "tests.translation.thot.test_thot_word_alignment_parameters", + "documentation": {} + }, + { + "label": "get_parallel_corpus", + "kind": 2, + "importPath": "tests.translation.thot.thot_model_trainer_helper", + "description": "tests.translation.thot.thot_model_trainer_helper", + "peekOfCode": "def get_parallel_corpus() -> ParallelTextCorpus:\n source_corpus = DictionaryTextCorpus(\n [\n MemoryText(\n \"text1\",\n [\n _row(1, \"¿ le importaría darnos las llaves de la habitación , por favor ?\"),\n _row(\n 2,\n \"he hecho la reserva de una habitación tranquila doble con ||| teléfono ||| y televisión a \"", + "detail": "tests.translation.thot.thot_model_trainer_helper", + "documentation": {} + }, + { + "label": "get_emtpy_parallel_corpus", + "kind": 2, + "importPath": "tests.translation.thot.thot_model_trainer_helper", + "description": "tests.translation.thot.thot_model_trainer_helper", + "peekOfCode": "def get_emtpy_parallel_corpus() -> ParallelTextCorpus:\n source_corpus = DictionaryTextCorpus([])\n target_corpus = DictionaryTextCorpus([])\n alignment_corpus = DictionaryAlignmentCorpus([])\n corpus = source_corpus.align_rows(target_corpus, alignment_corpus)\n return corpus\ndef _row(row_ref: int, text: str) -> TextRow:\n return TextRow(\"text1\", row_ref, segment=[text])\ndef _alignment(row_ref: int, *pairs: AlignedWordPair) -> AlignmentRow:\n return AlignmentRow(\"text1\", row_ref, aligned_word_pairs=pairs)", + "detail": "tests.translation.thot.thot_model_trainer_helper", + "documentation": {} + }, + { + "label": "test_correct_prefix_empty_uncorrected_prefix_appends_prefix", + "kind": 2, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "def test_correct_prefix_empty_uncorrected_prefix_appends_prefix() -> None:\n builder = _create_result_builder(\"\")\n prefix = \"this is a test\".split()\n assert (\n ECM.correct_prefix(\n builder,\n uncorrected_prefix_len=len(builder.target_tokens),\n prefix=prefix,\n is_last_word_complete=True,\n )", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "test_correct_prefix_new_end_word_inserts_word_at_end", + "kind": 2, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "def test_correct_prefix_new_end_word_inserts_word_at_end() -> None:\n builder = _create_result_builder(\"this is a\", 2, 3)\n prefix = \"this is a test\".split()\n assert (\n ECM.correct_prefix(\n builder,\n uncorrected_prefix_len=len(builder.target_tokens),\n prefix=prefix,\n is_last_word_complete=True,\n )", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "test_correct_prefix_substring_uncorrected_prefix_new_end_word_inserts_word_at_end", + "kind": 2, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "def test_correct_prefix_substring_uncorrected_prefix_new_end_word_inserts_word_at_end() -> None:\n builder = _create_result_builder(\"this is a and only a test\", 2, 3, 5, 7)\n prefix = \"this is a test\".split()\n assert ECM.correct_prefix(builder, uncorrected_prefix_len=3, prefix=prefix, is_last_word_complete=True) == 0\n assert len(builder.confidences) == 8\n assert builder.target_tokens == \"this is a test and only a test\".split()\n assert len(builder.phrases) == 4\n assert builder.phrases[0].target_cut == 2\n assert builder.phrases[0].alignment.column_count == 2\n assert builder.phrases[1].target_cut == 3", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "test_correct_prefix_new_middle_word_inserts_word", + "kind": 2, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "def test_correct_prefix_new_middle_word_inserts_word() -> None:\n builder = _create_result_builder(\"this is a test\", 2, 4)\n prefix = \"this is , a test\".split()\n assert (\n ECM.correct_prefix(\n builder,\n uncorrected_prefix_len=len(builder.target_tokens),\n prefix=prefix,\n is_last_word_complete=True,\n )", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "test_correct_prefix_new_start_word_inserts_word_at_beginning", + "kind": 2, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "def test_correct_prefix_new_start_word_inserts_word_at_beginning() -> None:\n builder = _create_result_builder(\"this is a test\", 2, 4)\n prefix = \"yes this is a test\".split()\n assert (\n ECM.correct_prefix(\n builder,\n uncorrected_prefix_len=len(builder.target_tokens),\n prefix=prefix,\n is_last_word_complete=True,\n )", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "test_correct_prefix_missing_end_word_deletes_world_at_end", + "kind": 2, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "def test_correct_prefix_missing_end_word_deletes_world_at_end() -> None:\n builder = _create_result_builder(\"this is a test\", 2, 4)\n prefix = \"this is a\".split()\n assert (\n ECM.correct_prefix(\n builder,\n uncorrected_prefix_len=len(builder.target_tokens),\n prefix=prefix,\n is_last_word_complete=True,\n )", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "test_correct_prefix_substring_uncorrected_prefix_missing_end_word_deletes_word_at_end", + "kind": 2, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "def test_correct_prefix_substring_uncorrected_prefix_missing_end_word_deletes_word_at_end() -> None:\n builder = _create_result_builder(\"this is a test and only a test\", 2, 4, 6, 8)\n prefix = \"this is a\".split()\n assert ECM.correct_prefix(builder, uncorrected_prefix_len=4, prefix=prefix, is_last_word_complete=True) == 0\n assert len(builder.confidences) == 7\n assert builder.target_tokens == \"this is a and only a test\".split()\n assert len(builder.phrases) == 4\n assert builder.phrases[0].target_cut == 2\n assert builder.phrases[0].alignment.column_count == 2\n assert builder.phrases[1].target_cut == 3", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "test_correct_prefix_missing_middle_word_deletes_word", + "kind": 2, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "def test_correct_prefix_missing_middle_word_deletes_word() -> None:\n builder = _create_result_builder(\"this is a test\", 2, 4)\n prefix = \"this a test\".split()\n assert (\n ECM.correct_prefix(\n builder,\n uncorrected_prefix_len=len(builder.target_tokens),\n prefix=prefix,\n is_last_word_complete=True,\n )", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "test_correct_prefix_missing_start_word_deletes_word_at_beginning", + "kind": 2, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "def test_correct_prefix_missing_start_word_deletes_word_at_beginning() -> None:\n builder = _create_result_builder(\"yes this is a test\", 3, 5)\n prefix = \"this is a test\".split()\n assert (\n ECM.correct_prefix(\n builder,\n uncorrected_prefix_len=len(builder.target_tokens),\n prefix=prefix,\n is_last_word_complete=True,\n )", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "ECM", + "kind": 5, + "importPath": "tests.translation.test_error_correction_model", + "description": "tests.translation.test_error_correction_model", + "peekOfCode": "ECM = ErrorCorrectionModel()\ndef test_correct_prefix_empty_uncorrected_prefix_appends_prefix() -> None:\n builder = _create_result_builder(\"\")\n prefix = \"this is a test\".split()\n assert (\n ECM.correct_prefix(\n builder,\n uncorrected_prefix_len=len(builder.target_tokens),\n prefix=prefix,\n is_last_word_complete=True,", + "detail": "tests.translation.test_error_correction_model", + "documentation": {} + }, + { + "label": "test_align_last_src_first_trg", + "kind": 2, + "importPath": "tests.translation.test_fuzzy_edit_distance_word_alignment_method", + "description": "tests.translation.test_fuzzy_edit_distance_word_alignment_method", + "peekOfCode": "def test_align_last_src_first_trg() -> None:\n def score_selector(src_segment: Sequence[str], src_idx: int, trg_segment: Sequence[str], trg_idx: int) -> float:\n if src_idx == -1 or trg_idx == -1:\n return 0.1\n return 0.9 if src_segment[src_idx] == trg_segment[trg_idx] else 0.1\n method = FuzzyEditDistanceWordAlignmentMethod(score_selector=score_selector)\n matrix = method.align(\"A B\".split(), \"B C\".split())\n assert str(matrix) == \"1-0\"", + "detail": "tests.translation.test_fuzzy_edit_distance_word_alignment_method", + "documentation": {} + }, + { + "label": "_TestEnvironment", + "kind": 6, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "class _TestEnvironment:\n def __init__(self, decoy: Decoy) -> None:\n self._decoy = decoy\n self.engine = decoy.mock(cls=InteractiveTranslationEngine)\n word_graph = WordGraph(\n source_tokens=WHITESPACE_TOKENIZER.tokenize(_SOURCE_SEGMENT),\n arcs=[\n WordGraphArc(\n 0,\n 1,", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_get_current_results_empty_prefix", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_get_current_results_empty_prefix(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n result = next(translator.get_current_results())\n assert result.translation == \"In the beginning the Word already existía .\"\ndef test_get_current_results_append_complete_word(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n translator.append_to_prefix(\"In \")\n result = next(translator.get_current_results())", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_get_current_results_append_complete_word", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_get_current_results_append_complete_word(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n translator.append_to_prefix(\"In \")\n result = next(translator.get_current_results())\n assert result.translation == \"In the beginning the Word already existía .\"\ndef test_get_current_results_append_partial_word(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n translator.append_to_prefix(\"In \")", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_get_current_results_append_partial_word", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_get_current_results_append_partial_word(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n translator.append_to_prefix(\"In \")\n translator.append_to_prefix(\"t\")\n result = next(translator.get_current_results())\n assert result.translation == \"In the beginning the Word already existía .\"\ndef test_get_current_results_remove_word(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_get_current_results_remove_word", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_get_current_results_remove_word(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n translator.append_to_prefix(\"In the beginning \")\n translator.set_prefix(\"In the \")\n result = next(translator.get_current_results())\n assert result.translation == \"In the beginning the Word already existía .\"\ndef test_get_current_results_remove_all_words(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_get_current_results_remove_all_words", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_get_current_results_remove_all_words(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n translator.append_to_prefix(\"In the beginning \")\n translator.set_prefix(\"\")\n result = next(translator.get_current_results())\n assert result.translation == \"In the beginning the Word already existía .\"\ndef test_is_source_segment_valid_valid(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_is_source_segment_valid_valid", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_is_source_segment_valid_valid(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n assert translator.is_segment_valid\ndef test_is_source_segment_valid_invalid(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n source_segment = \"\"\n for _ in range(MAX_SEGMENT_LENGTH):\n source_segment += \"word \"\n source_segment += \".\"", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_is_source_segment_valid_invalid", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_is_source_segment_valid_invalid(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n source_segment = \"\"\n for _ in range(MAX_SEGMENT_LENGTH):\n source_segment += \"word \"\n source_segment += \".\"\n decoy.when(env.engine.get_word_graph(source_segment)).then_return(\n WordGraph(WHITESPACE_TOKENIZER.tokenize(source_segment))\n )\n translator = env.create_translator(source_segment)", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_approve_aligned_only", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_approve_aligned_only(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n translator.append_to_prefix(\"In the beginning \")\n translator.approve(aligned_only=True)\n decoy.verify(env.engine.train_segment(\"En el principio\", \"In the beginning\", sentence_start=True), times=1)\n translator.append_to_prefix(\"the Word already existed .\")\n translator.approve(aligned_only=True)\n decoy.verify(\n env.engine.train_segment(", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_approve_whole_source_segment", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_approve_whole_source_segment(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n translator.append_to_prefix(\"In the beginning \")\n translator.approve(aligned_only=False)\n decoy.verify(\n env.engine.train_segment(\"En el principio la Palabra ya existía .\", \"In the beginning\", sentence_start=True),\n times=1,\n )\ndef test_get_current_results_multiple_suggestions_empty_prefix(decoy: Decoy) -> None:", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_get_current_results_multiple_suggestions_empty_prefix", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_get_current_results_multiple_suggestions_empty_prefix(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n env.use_simple_word_graph()\n translator = env.create_translator()\n results = list(islice(translator.get_current_results(), 2))\n assert results[0].translation == \"In the beginning the Word already existía .\"\n assert results[1].translation == \"In the start the Word already existía .\"\ndef test_get_current_results_multiple_suggestions_nonempty_prefix(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n env.use_simple_word_graph()", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_get_current_results_multiple_suggestions_nonempty_prefix", + "kind": 2, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "def test_get_current_results_multiple_suggestions_nonempty_prefix(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n env.use_simple_word_graph()\n translator = env.create_translator()\n translator.append_to_prefix(\"In the \")\n results = list(islice(translator.get_current_results(), 2))\n assert results[0].translation == \"In the beginning the Word already existía .\"\n assert results[1].translation == \"In the start the Word already existía .\"\n translator.append_to_prefix(\"beginning\")\n results = list(islice(translator.get_current_results(), 2))", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "_SOURCE_SEGMENT", + "kind": 5, + "importPath": "tests.translation.test_interactive_translator", + "description": "tests.translation.test_interactive_translator", + "peekOfCode": "_SOURCE_SEGMENT = \"En el principio la Palabra ya existía .\"\ndef test_get_current_results_empty_prefix(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n result = next(translator.get_current_results())\n assert result.translation == \"In the beginning the Word already existía .\"\ndef test_get_current_results_append_complete_word(decoy: Decoy) -> None:\n env = _TestEnvironment(decoy)\n translator = env.create_translator()\n translator.append_to_prefix(\"In \")", + "detail": "tests.translation.test_interactive_translator", + "documentation": {} + }, + { + "label": "test_get_suggestions_punctuation", + "kind": 2, + "importPath": "tests.translation.test_phrase_translation_suggester", + "description": "tests.translation.test_phrase_translation_suggester", + "peekOfCode": "def test_get_suggestions_punctuation() -> None:\n builder = TranslationResultBuilder([\"esto\", \"es\", \"una\", \"prueba\", \".\"])\n builder.append_token(\"this\", TranslationSources.SMT, 0.5)\n builder.append_token(\"is\", TranslationSources.SMT, 0.5)\n builder.append_token(\"a\", TranslationSources.SMT, 0.5)\n builder.mark_phrase(\n Range.create(0, 3),\n WordAlignmentMatrix.from_word_pairs(row_count=3, column_count=3, set_values=[(0, 0), (1, 1), (2, 2)]),\n )\n builder.append_token(\"test\", TranslationSources.SMT, 0.5)", + "detail": "tests.translation.test_phrase_translation_suggester", + "documentation": {} + }, + { + "label": "test_get_suggestions_untranslated_word", + "kind": 2, + "importPath": "tests.translation.test_phrase_translation_suggester", + "description": "tests.translation.test_phrase_translation_suggester", + "peekOfCode": "def test_get_suggestions_untranslated_word() -> None:\n builder = TranslationResultBuilder([\"esto\", \"es\", \"una\", \"prueba\", \".\"])\n builder.append_token(\"this\", TranslationSources.SMT, 0.5)\n builder.append_token(\"is\", TranslationSources.SMT, 0.5)\n builder.mark_phrase(\n Range.create(0, 2),\n WordAlignmentMatrix.from_word_pairs(row_count=2, column_count=2, set_values=[(0, 0), (1, 1)]),\n )\n builder.append_token(\"a\", TranslationSources.NONE, 0)\n builder.mark_phrase(", + "detail": "tests.translation.test_phrase_translation_suggester", + "documentation": {} + }, + { + "label": "test_get_suggestions_prefix_incomplete_word", + "kind": 2, + "importPath": "tests.translation.test_phrase_translation_suggester", + "description": "tests.translation.test_phrase_translation_suggester", + "peekOfCode": "def test_get_suggestions_prefix_incomplete_word() -> None:\n builder = TranslationResultBuilder([\"esto\", \"es\", \"una\", \"prueba\", \".\"])\n builder.append_token(\"this\", TranslationSources.SMT | TranslationSources.PREFIX, 0.5)\n builder.append_token(\"is\", TranslationSources.SMT, 0.5)\n builder.append_token(\"a\", TranslationSources.SMT, 0.5)\n builder.mark_phrase(\n Range.create(0, 3),\n WordAlignmentMatrix.from_word_pairs(row_count=3, column_count=3, set_values=[(0, 0), (1, 1), (2, 2)]),\n )\n builder.append_token(\"test\", TranslationSources.SMT, 0.5)", + "detail": "tests.translation.test_phrase_translation_suggester", + "documentation": {} + }, + { + "label": "test_get_suggestions_prefix_complete_word", + "kind": 2, + "importPath": "tests.translation.test_phrase_translation_suggester", + "description": "tests.translation.test_phrase_translation_suggester", + "peekOfCode": "def test_get_suggestions_prefix_complete_word() -> None:\n builder = TranslationResultBuilder([\"esto\", \"es\", \"una\", \"prueba\", \".\"])\n builder.append_token(\"this\", TranslationSources.SMT | TranslationSources.PREFIX, 0.5)\n builder.append_token(\"is\", TranslationSources.SMT, 0.5)\n builder.append_token(\"a\", TranslationSources.SMT, 0.5)\n builder.mark_phrase(\n Range.create(0, 3),\n WordAlignmentMatrix.from_word_pairs(row_count=3, column_count=3, set_values=[(0, 0), (1, 1), (2, 2)]),\n )\n builder.append_token(\"test\", TranslationSources.SMT, 0.5)", + "detail": "tests.translation.test_phrase_translation_suggester", + "documentation": {} + }, + { + "label": "test_get_suggestions_prefix_partial_word", + "kind": 2, + "importPath": "tests.translation.test_phrase_translation_suggester", + "description": "tests.translation.test_phrase_translation_suggester", + "peekOfCode": "def test_get_suggestions_prefix_partial_word() -> None:\n builder = TranslationResultBuilder([\"esto\", \"es\", \"una\", \"prueba\", \".\"])\n builder.append_token(\"te\", TranslationSources.PREFIX, -1)\n builder.append_token(\"this\", TranslationSources.SMT, 0.5)\n builder.append_token(\"is\", TranslationSources.SMT, 0.5)\n builder.append_token(\"a\", TranslationSources.SMT, 0.5)\n builder.mark_phrase(\n Range.create(0, 3),\n WordAlignmentMatrix.from_word_pairs(row_count=3, column_count=4, set_values=[(0, 1), (1, 2), (2, 3)]),\n )", + "detail": "tests.translation.test_phrase_translation_suggester", + "documentation": {} + }, + { + "label": "test_get_suggestions_multiple", + "kind": 2, + "importPath": "tests.translation.test_phrase_translation_suggester", + "description": "tests.translation.test_phrase_translation_suggester", + "peekOfCode": "def test_get_suggestions_multiple() -> None:\n results: List[TranslationResult] = []\n builder = TranslationResultBuilder([\"esto\", \"es\", \"una\", \"prueba\", \".\"])\n builder.append_token(\"this\", TranslationSources.SMT, 0.5)\n builder.append_token(\"is\", TranslationSources.SMT, 0.5)\n builder.append_token(\"a\", TranslationSources.SMT, 0.5)\n builder.mark_phrase(\n Range.create(0, 3),\n WordAlignmentMatrix.from_word_pairs(row_count=3, column_count=3, set_values=[(0, 0), (1, 1), (2, 2)]),\n )", + "detail": "tests.translation.test_phrase_translation_suggester", + "documentation": {} + }, + { + "label": "test_get_suggestions_duplicate", + "kind": 2, + "importPath": "tests.translation.test_phrase_translation_suggester", + "description": "tests.translation.test_phrase_translation_suggester", + "peekOfCode": "def test_get_suggestions_duplicate() -> None:\n results: List[TranslationResult] = []\n builder = TranslationResultBuilder([\"esto\", \"es\", \"una\", \"prueba\", \".\", \"segunda\", \"frase\"])\n builder.append_token(\"this\", TranslationSources.SMT, 0.5)\n builder.append_token(\"is\", TranslationSources.SMT, 0.5)\n builder.append_token(\"a\", TranslationSources.SMT, 0.5)\n builder.mark_phrase(\n Range.create(0, 3),\n WordAlignmentMatrix.from_word_pairs(row_count=3, column_count=3, set_values=[(0, 0), (1, 1), (2, 2)]),\n )", + "detail": "tests.translation.test_phrase_translation_suggester", + "documentation": {} + }, + { + "label": "test_get_suggestions_starts_with_punctuation", + "kind": 2, + "importPath": "tests.translation.test_phrase_translation_suggester", + "description": "tests.translation.test_phrase_translation_suggester", + "peekOfCode": "def test_get_suggestions_starts_with_punctuation() -> None:\n results: List[TranslationResult] = []\n builder = TranslationResultBuilder([\"esto\", \"es\", \"una\", \"prueba\", \".\"])\n builder.append_token(\",\", TranslationSources.SMT, 0.5)\n builder.append_token(\"this\", TranslationSources.SMT, 0.5)\n builder.append_token(\"is\", TranslationSources.SMT, 0.5)\n builder.append_token(\"a\", TranslationSources.SMT, 0.5)\n builder.mark_phrase(\n Range.create(0, 3),\n WordAlignmentMatrix.from_word_pairs(row_count=3, column_count=4, set_values=[(0, 1), (1, 2), (2, 3)]),", + "detail": "tests.translation.test_phrase_translation_suggester", + "documentation": {} + }, + { + "label": "test_get_suggestions_below_threshold", + "kind": 2, + "importPath": "tests.translation.test_phrase_translation_suggester", + "description": "tests.translation.test_phrase_translation_suggester", + "peekOfCode": "def test_get_suggestions_below_threshold() -> None:\n builder = TranslationResultBuilder([\"esto\", \"es\", \"una\", \"prueba\", \".\"])\n builder.append_token(\"this\", TranslationSources.SMT, 0.5)\n builder.append_token(\"is\", TranslationSources.SMT, 0.5)\n builder.append_token(\"a\", TranslationSources.SMT, 0.5)\n builder.mark_phrase(\n Range.create(0, 3),\n WordAlignmentMatrix.from_word_pairs(row_count=3, column_count=3, set_values=[(0, 0), (1, 1), (2, 2)]),\n )\n builder.append_token(\"bad\", TranslationSources.SMT, 0.1)", + "detail": "tests.translation.test_phrase_translation_suggester", + "documentation": {} + }, + { + "label": "test_truecase_empty", + "kind": 2, + "importPath": "tests.translation.test_unigram_truecaser", + "description": "tests.translation.test_unigram_truecaser", + "peekOfCode": "def test_truecase_empty() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([])\n assert result == []\ndef test_truecase_capitialized_name() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([\"THE\", \"ADVENTURES\", \"OF\", \"SHERLOCK\", \"HOLMES\"])\n assert result == [\"the\", \"adventures\", \"of\", \"Sherlock\", \"Holmes\"]\ndef test_truecase_unknown_word() -> None:\n truecaser = _create_truecaser()", + "detail": "tests.translation.test_unigram_truecaser", + "documentation": {} + }, + { + "label": "test_truecase_capitialized_name", + "kind": 2, + "importPath": "tests.translation.test_unigram_truecaser", + "description": "tests.translation.test_unigram_truecaser", + "peekOfCode": "def test_truecase_capitialized_name() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([\"THE\", \"ADVENTURES\", \"OF\", \"SHERLOCK\", \"HOLMES\"])\n assert result == [\"the\", \"adventures\", \"of\", \"Sherlock\", \"Holmes\"]\ndef test_truecase_unknown_word() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([\"THE\", \"EXPLOITS\", \"OF\", \"SHERLOCK\", \"HOLMES\"])\n assert result == [\"the\", \"EXPLOITS\", \"of\", \"Sherlock\", \"Holmes\"]\ndef test_truecase_multiple_sentences() -> None:\n truecaser = _create_truecaser()", + "detail": "tests.translation.test_unigram_truecaser", + "documentation": {} + }, + { + "label": "test_truecase_unknown_word", + "kind": 2, + "importPath": "tests.translation.test_unigram_truecaser", + "description": "tests.translation.test_unigram_truecaser", + "peekOfCode": "def test_truecase_unknown_word() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([\"THE\", \"EXPLOITS\", \"OF\", \"SHERLOCK\", \"HOLMES\"])\n assert result == [\"the\", \"EXPLOITS\", \"of\", \"Sherlock\", \"Holmes\"]\ndef test_truecase_multiple_sentences() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([\"SHERLOCK\", \"HOLMES\", \"IS\", \"SMART\", \".\", \"YOU\", \"AGREE\", \".\"])\n assert result == [\"Sherlock\", \"Holmes\", \"is\", \"smart\", \".\", \"you\", \"agree\", \".\"]\ndef test_truecase_ignore_first_word_during_training() -> None:\n truecaser = _create_truecaser()", + "detail": "tests.translation.test_unigram_truecaser", + "documentation": {} + }, + { + "label": "test_truecase_multiple_sentences", + "kind": 2, + "importPath": "tests.translation.test_unigram_truecaser", + "description": "tests.translation.test_unigram_truecaser", + "peekOfCode": "def test_truecase_multiple_sentences() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([\"SHERLOCK\", \"HOLMES\", \"IS\", \"SMART\", \".\", \"YOU\", \"AGREE\", \".\"])\n assert result == [\"Sherlock\", \"Holmes\", \"is\", \"smart\", \".\", \"you\", \"agree\", \".\"]\ndef test_truecase_ignore_first_word_during_training() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([\"HE\", \"IS\", \"SMART\", \".\"])\n assert result == [\"HE\", \"is\", \"smart\", \".\"]\ndef _create_truecaser() -> UnigramTruecaser:\n truecaser = UnigramTruecaser()", + "detail": "tests.translation.test_unigram_truecaser", + "documentation": {} + }, + { + "label": "test_truecase_ignore_first_word_during_training", + "kind": 2, + "importPath": "tests.translation.test_unigram_truecaser", + "description": "tests.translation.test_unigram_truecaser", + "peekOfCode": "def test_truecase_ignore_first_word_during_training() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([\"HE\", \"IS\", \"SMART\", \".\"])\n assert result == [\"HE\", \"is\", \"smart\", \".\"]\ndef _create_truecaser() -> UnigramTruecaser:\n truecaser = UnigramTruecaser()\n for segment in TRAINING_SEGMENTS:\n truecaser.train_segment(segment)\n return truecaser", + "detail": "tests.translation.test_unigram_truecaser", + "documentation": {} + }, + { + "label": "TRAINING_SEGMENTS", + "kind": 5, + "importPath": "tests.translation.test_unigram_truecaser", + "description": "tests.translation.test_unigram_truecaser", + "peekOfCode": "TRAINING_SEGMENTS = [\n [\"The\", \"house\", \"is\", \"made\", \"of\", \"wood\", \".\"],\n [\"I\", \"go\", \"on\", \"adventures\", \".\"],\n [\"He\", \"read\", \"the\", \"book\", \"about\", \"Sherlock\", \"Holmes\", \".\"],\n [\"John\", \"and\", \"I\", \"agree\", \"that\", \"you\", \"and\", \"I\", \"are\", \"smart\", \".\"],\n]\ndef test_truecase_empty() -> None:\n truecaser = _create_truecaser()\n result = truecaser.truecase([])\n assert result == []", + "detail": "tests.translation.test_unigram_truecaser", + "documentation": {} + }, + { + "label": "_MockWordAligner", + "kind": 6, + "importPath": "tests.translation.test_word_aligner", + "description": "tests.translation.test_word_aligner", + "peekOfCode": "class _MockWordAligner(WordAligner):\n def __init__(self, alignment: WordAlignmentMatrix) -> None:\n self._alignment = alignment\n def align(self, source_segment: Sequence[str], target_segment: Sequence[str]) -> WordAlignmentMatrix:\n return self._alignment\n def align_batch(self, segments: Sequence[Sequence[Sequence[str]]]) -> Sequence[WordAlignmentMatrix]:\n return [self._alignment for _ in segments]", + "detail": "tests.translation.test_word_aligner", + "documentation": {} + }, + { + "label": "test_align_parallel_text_row", + "kind": 2, + "importPath": "tests.translation.test_word_aligner", + "description": "tests.translation.test_word_aligner", + "peekOfCode": "def test_align_parallel_text_row() -> None:\n known_alignment = WordAlignmentMatrix.from_word_pairs(10, 7, {(0, 0), (6, 3), (7, 5), (8, 4)})\n row = ParallelTextRow(\n \"text1\",\n [\"1\"],\n [\"2\"],\n \"maria no daba una bofetada a la bruja verde .\".split(),\n \"mary didn't slap the green witch .\".split(),\n aligned_word_pairs=known_alignment.to_aligned_word_pairs(),\n )", + "detail": "tests.translation.test_word_aligner", + "documentation": {} + }, + { + "label": "test_intersect_with", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_intersect_with() -> None:\n x, y = _create_matrices()\n x.intersect_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(7, 9, {(0, 0), (2, 1), (3, 4)})\ndef test_union_with() -> None:\n x, y = _create_matrices()\n x.union_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(\n 7, 9, {(0, 0), (1, 1), (1, 5), (2, 1), (3, 2), (3, 3), (3, 4), (4, 5), (4, 6), (5, 3), (6, 8)}\n )", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + }, + { + "label": "test_union_with", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_union_with() -> None:\n x, y = _create_matrices()\n x.union_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(\n 7, 9, {(0, 0), (1, 1), (1, 5), (2, 1), (3, 2), (3, 3), (3, 4), (4, 5), (4, 6), (5, 3), (6, 8)}\n )\ndef test_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + }, + { + "label": "test_symmetrize_with", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(\n 7, 9, {(0, 0), (1, 1), (2, 1), (3, 2), (3, 3), (3, 4), (4, 5), (4, 6), (6, 8)}\n )\ndef test_grow_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.grow_symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(7, 9, {(0, 0), (1, 1), (2, 1), (3, 2), (3, 3), (3, 4)})", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + }, + { + "label": "test_grow_symmetrize_with", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_grow_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.grow_symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(7, 9, {(0, 0), (1, 1), (2, 1), (3, 2), (3, 3), (3, 4)})\ndef test_grow_diag_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.grow_diag_symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(\n 7, 9, {(0, 0), (1, 1), (2, 1), (3, 2), (3, 3), (3, 4), (4, 5), (4, 6)}\n )", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + }, + { + "label": "test_grow_diag_symmetrize_with", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_grow_diag_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.grow_diag_symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(\n 7, 9, {(0, 0), (1, 1), (2, 1), (3, 2), (3, 3), (3, 4), (4, 5), (4, 6)}\n )\ndef test_grow_diag_final_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.grow_diag_final_symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + }, + { + "label": "test_grow_diag_final_symmetrize_with", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_grow_diag_final_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.grow_diag_final_symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(\n 7, 9, {(0, 0), (1, 1), (2, 1), (3, 2), (3, 3), (3, 4), (4, 5), (4, 6), (5, 3), (6, 8)}\n )\ndef test_grow_diag_final_and_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.grow_diag_final_and_symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + }, + { + "label": "test_grow_diag_final_and_symmetrize_with", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_grow_diag_final_and_symmetrize_with() -> None:\n x, y = _create_matrices()\n x.grow_diag_final_and_symmetrize_with(y)\n assert x == WordAlignmentMatrix.from_word_pairs(\n 7, 9, {(0, 0), (1, 1), (2, 1), (3, 2), (3, 3), (3, 4), (4, 5), (4, 6), (6, 8)}\n )\ndef test_resize_grow() -> None:\n matrix = WordAlignmentMatrix.from_word_pairs(3, 3, {(0, 0), (1, 1), (2, 2)})\n matrix.resize(4, 4)\n assert matrix == WordAlignmentMatrix.from_word_pairs(4, 4, {(0, 0), (1, 1), (2, 2)})", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + }, + { + "label": "test_resize_grow", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_resize_grow() -> None:\n matrix = WordAlignmentMatrix.from_word_pairs(3, 3, {(0, 0), (1, 1), (2, 2)})\n matrix.resize(4, 4)\n assert matrix == WordAlignmentMatrix.from_word_pairs(4, 4, {(0, 0), (1, 1), (2, 2)})\ndef test_resize_shrink() -> None:\n matrix = WordAlignmentMatrix.from_word_pairs(3, 3, {(0, 0), (1, 1), (2, 2)})\n matrix.resize(2, 2)\n assert matrix == WordAlignmentMatrix.from_word_pairs(2, 2, {(0, 0), (1, 1)})\ndef test_resize_grow_and_shrink() -> None:\n matrix = WordAlignmentMatrix.from_word_pairs(3, 3, {(0, 0), (1, 1), (2, 2)})", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + }, + { + "label": "test_resize_shrink", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_resize_shrink() -> None:\n matrix = WordAlignmentMatrix.from_word_pairs(3, 3, {(0, 0), (1, 1), (2, 2)})\n matrix.resize(2, 2)\n assert matrix == WordAlignmentMatrix.from_word_pairs(2, 2, {(0, 0), (1, 1)})\ndef test_resize_grow_and_shrink() -> None:\n matrix = WordAlignmentMatrix.from_word_pairs(3, 3, {(0, 0), (1, 1), (2, 2)})\n matrix.resize(2, 4)\n assert matrix == WordAlignmentMatrix.from_word_pairs(2, 4, {(0, 0), (1, 1)})\ndef _create_matrices() -> Tuple[WordAlignmentMatrix, WordAlignmentMatrix]:\n x = WordAlignmentMatrix.from_word_pairs(7, 9, {(0, 0), (1, 5), (2, 1), (3, 2), (3, 3), (3, 4), (4, 5), (5, 3)})", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + }, + { + "label": "test_resize_grow_and_shrink", + "kind": 2, + "importPath": "tests.translation.test_word_alignment_matrix", + "description": "tests.translation.test_word_alignment_matrix", + "peekOfCode": "def test_resize_grow_and_shrink() -> None:\n matrix = WordAlignmentMatrix.from_word_pairs(3, 3, {(0, 0), (1, 1), (2, 2)})\n matrix.resize(2, 4)\n assert matrix == WordAlignmentMatrix.from_word_pairs(2, 4, {(0, 0), (1, 1)})\ndef _create_matrices() -> Tuple[WordAlignmentMatrix, WordAlignmentMatrix]:\n x = WordAlignmentMatrix.from_word_pairs(7, 9, {(0, 0), (1, 5), (2, 1), (3, 2), (3, 3), (3, 4), (4, 5), (5, 3)})\n y = WordAlignmentMatrix.from_word_pairs(7, 9, {(0, 0), (1, 1), (2, 1), (3, 4), (4, 6), (6, 8)})\n return x, y", + "detail": "tests.translation.test_word_alignment_matrix", + "documentation": {} + } +] \ No newline at end of file diff --git a/dockerfile b/dockerfile index 521ee5b..1b0288a 100644 --- a/dockerfile +++ b/dockerfile @@ -1,8 +1,8 @@ #compatability with Tensorflow 2.6.0 as per https://www.tensorflow.org/install/source#gpu -ARG PYTHON_VERSION=3.11 -ARG UBUNTU_VERSION=focal +ARG PYTHON_VERSION=3.12 +ARG UBUNTU_VERSION=noble ARG POETRY_VERSION=1.6.1 -ARG CUDA_VERSION=11.2.2-cudnn8-runtime-ubuntu20.04 +ARG CUDA_VERSION=12.6.1-base-ubuntu24.04 FROM python:$PYTHON_VERSION-slim as builder ARG POETRY_VERSION @@ -35,13 +35,11 @@ WORKDIR /root RUN apt-get update && \ apt-get install --no-install-recommends -y software-properties-common && \ - add-apt-repository ppa:deadsnakes/ppa -y && \ apt-get update && \ apt-get install --no-install-recommends -y \ curl \ python$PYTHON_VERSION \ - python$PYTHON_VERSION-distutils \ -# these are needed for ClearML + # these are needed for ClearML git libsm6 libxext6 libxrender-dev libglib2.0-0 && \ rm -rf /var/lib/apt/lists/* && \ apt-get clean diff --git a/dockerfile.cpu_only b/dockerfile.cpu_only index 86f90b0..c75a484 100644 --- a/dockerfile.cpu_only +++ b/dockerfile.cpu_only @@ -1,6 +1,6 @@ #compatability with Tensorflow 2.6.0 as per https://www.tensorflow.org/install/source#gpu -ARG PYTHON_VERSION=3.11 -ARG UBUNTU_VERSION=focal +ARG PYTHON_VERSION=3.12 +ARG UBUNTU_VERSION=noble ARG POETRY_VERSION=1.6.1 FROM python:$PYTHON_VERSION-slim AS builder diff --git a/machine/translation/huggingface/hugging_face_nmt_engine.py b/machine/translation/huggingface/hugging_face_nmt_engine.py index 61618f0..5abbb8a 100644 --- a/machine/translation/huggingface/hugging_face_nmt_engine.py +++ b/machine/translation/huggingface/hugging_face_nmt_engine.py @@ -52,7 +52,11 @@ def __init__( self._tokenizer = AutoTokenizer.from_pretrained(self._model.name_or_path, use_fast=True) if isinstance(self._tokenizer, (NllbTokenizer, NllbTokenizerFast)): self._mpn = MosesPunctNormalizer() - self._mpn.substitutions = [(re.compile(r), sub) for r, sub in self._mpn.substitutions] + self._mpn.substitutions = [ + (str(re.compile(r)), sub) + for r, sub in self._mpn.substitutions + if isinstance(r, str) and isinstance(sub, str) + ] else: self._mpn = None diff --git a/machine/translation/huggingface/hugging_face_nmt_model_trainer.py b/machine/translation/huggingface/hugging_face_nmt_model_trainer.py index dcd5895..2914afc 100644 --- a/machine/translation/huggingface/hugging_face_nmt_model_trainer.py +++ b/machine/translation/huggingface/hugging_face_nmt_model_trainer.py @@ -101,7 +101,11 @@ def __init__( self._add_unk_src_tokens = add_unk_src_tokens self._add_unk_trg_tokens = add_unk_trg_tokens self._mpn = MosesPunctNormalizer() - self._mpn.substitutions = [(re.compile(r), sub) for r, sub in self._mpn.substitutions] + self._mpn.substitutions = [ + (str(re.compile(r)), sub) + for r, sub in self._mpn.substitutions + if isinstance(r, str) and isinstance(sub, str) + ] self._stats = TrainStats() @property @@ -235,6 +239,7 @@ def add_lang_code_to_tokenizer(tokenizer: Any, lang_code: str): ) lang_id = tokenizer.convert_tokens_to_ids(lang_code) tokenizer.lang_code_to_id[lang_code] = lang_id + # Caused by update to NllbTokenizer if isinstance(tokenizer, (NllbTokenizer, MBart50Tokenizer, MBartTokenizer)): tokenizer.id_to_lang_code[lang_id] = lang_code tokenizer.fairseq_tokens_to_ids[lang_code] = lang_id diff --git a/poetry.lock b/poetry.lock index 31f0d6c..2dc3fba 100644 --- a/poetry.lock +++ b/poetry.lock @@ -30,123 +30,138 @@ test-prod = ["parameterized", "pytest", "pytest-subtests", "pytest-xdist"] test-trackers = ["comet-ml", "dvclive", "tensorboard", "wandb"] testing = ["bitsandbytes", "datasets", "deepspeed", "evaluate", "parameterized", "pytest", "pytest-subtests", "pytest-xdist", "scikit-learn", "scipy", "timm", "tqdm", "transformers"] +[[package]] +name = "aiohappyeyeballs" +version = "2.4.3" +description = "Happy Eyeballs for asyncio" +optional = false +python-versions = ">=3.8" +files = [ + {file = "aiohappyeyeballs-2.4.3-py3-none-any.whl", hash = "sha256:8a7a83727b2756f394ab2895ea0765a0a8c475e3c71e98d43d76f22b4b435572"}, + {file = "aiohappyeyeballs-2.4.3.tar.gz", hash = "sha256:75cf88a15106a5002a8eb1dab212525c00d1f4c0fa96e551c9fbe6f09a621586"}, +] + [[package]] name = "aiohttp" -version = "3.8.5" +version = "3.10.10" description = "Async http client/server framework (asyncio)" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, - {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, - {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, - {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, - {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, - {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, - {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, - {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, - {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, - {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, - {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, + {file = "aiohttp-3.10.10-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:be7443669ae9c016b71f402e43208e13ddf00912f47f623ee5994e12fc7d4b3f"}, + {file = "aiohttp-3.10.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7b06b7843929e41a94ea09eb1ce3927865387e3e23ebe108e0d0d09b08d25be9"}, + {file = "aiohttp-3.10.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:333cf6cf8e65f6a1e06e9eb3e643a0c515bb850d470902274239fea02033e9a8"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:274cfa632350225ce3fdeb318c23b4a10ec25c0e2c880eff951a3842cf358ac1"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9e5e4a85bdb56d224f412d9c98ae4cbd032cc4f3161818f692cd81766eee65a"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b606353da03edcc71130b52388d25f9a30a126e04caef1fd637e31683033abd"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab5a5a0c7a7991d90446a198689c0535be89bbd6b410a1f9a66688f0880ec026"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:578a4b875af3e0daaf1ac6fa983d93e0bbfec3ead753b6d6f33d467100cdc67b"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8105fd8a890df77b76dd3054cddf01a879fc13e8af576805d667e0fa0224c35d"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3bcd391d083f636c06a68715e69467963d1f9600f85ef556ea82e9ef25f043f7"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fbc6264158392bad9df19537e872d476f7c57adf718944cc1e4495cbabf38e2a"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e48d5021a84d341bcaf95c8460b152cfbad770d28e5fe14a768988c461b821bc"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2609e9ab08474702cc67b7702dbb8a80e392c54613ebe80db7e8dbdb79837c68"}, + {file = "aiohttp-3.10.10-cp310-cp310-win32.whl", hash = "sha256:84afcdea18eda514c25bc68b9af2a2b1adea7c08899175a51fe7c4fb6d551257"}, + {file = "aiohttp-3.10.10-cp310-cp310-win_amd64.whl", hash = "sha256:9c72109213eb9d3874f7ac8c0c5fa90e072d678e117d9061c06e30c85b4cf0e6"}, + {file = "aiohttp-3.10.10-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c30a0eafc89d28e7f959281b58198a9fa5e99405f716c0289b7892ca345fe45f"}, + {file = "aiohttp-3.10.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:258c5dd01afc10015866114e210fb7365f0d02d9d059c3c3415382ab633fcbcb"}, + {file = "aiohttp-3.10.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:15ecd889a709b0080f02721255b3f80bb261c2293d3c748151274dfea93ac871"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3935f82f6f4a3820270842e90456ebad3af15810cf65932bd24da4463bc0a4c"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:413251f6fcf552a33c981c4709a6bba37b12710982fec8e558ae944bfb2abd38"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1720b4f14c78a3089562b8875b53e36b51c97c51adc53325a69b79b4b48ebcb"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:679abe5d3858b33c2cf74faec299fda60ea9de62916e8b67e625d65bf069a3b7"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79019094f87c9fb44f8d769e41dbb664d6e8fcfd62f665ccce36762deaa0e911"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe2fb38c2ed905a2582948e2de560675e9dfbee94c6d5ccdb1301c6d0a5bf092"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a3f00003de6eba42d6e94fabb4125600d6e484846dbf90ea8e48a800430cc142"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1bbb122c557a16fafc10354b9d99ebf2f2808a660d78202f10ba9d50786384b9"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:30ca7c3b94708a9d7ae76ff281b2f47d8eaf2579cd05971b5dc681db8caac6e1"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:df9270660711670e68803107d55c2b5949c2e0f2e4896da176e1ecfc068b974a"}, + {file = "aiohttp-3.10.10-cp311-cp311-win32.whl", hash = "sha256:aafc8ee9b742ce75044ae9a4d3e60e3d918d15a4c2e08a6c3c3e38fa59b92d94"}, + {file = "aiohttp-3.10.10-cp311-cp311-win_amd64.whl", hash = "sha256:362f641f9071e5f3ee6f8e7d37d5ed0d95aae656adf4ef578313ee585b585959"}, + {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9294bbb581f92770e6ed5c19559e1e99255e4ca604a22c5c6397b2f9dd3ee42c"}, + {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a8fa23fe62c436ccf23ff930149c047f060c7126eae3ccea005f0483f27b2e28"}, + {file = "aiohttp-3.10.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5c6a5b8c7926ba5d8545c7dd22961a107526562da31a7a32fa2456baf040939f"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:007ec22fbc573e5eb2fb7dec4198ef8f6bf2fe4ce20020798b2eb5d0abda6138"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9627cc1a10c8c409b5822a92d57a77f383b554463d1884008e051c32ab1b3742"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:50edbcad60d8f0e3eccc68da67f37268b5144ecc34d59f27a02f9611c1d4eec7"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a45d85cf20b5e0d0aa5a8dca27cce8eddef3292bc29d72dcad1641f4ed50aa16"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b00807e2605f16e1e198f33a53ce3c4523114059b0c09c337209ae55e3823a8"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f2d4324a98062be0525d16f768a03e0bbb3b9fe301ceee99611dc9a7953124e6"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:438cd072f75bb6612f2aca29f8bd7cdf6e35e8f160bc312e49fbecab77c99e3a"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:baa42524a82f75303f714108fea528ccacf0386af429b69fff141ffef1c534f9"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a7d8d14fe962153fc681f6366bdec33d4356f98a3e3567782aac1b6e0e40109a"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c1277cd707c465cd09572a774559a3cc7c7a28802eb3a2a9472588f062097205"}, + {file = "aiohttp-3.10.10-cp312-cp312-win32.whl", hash = "sha256:59bb3c54aa420521dc4ce3cc2c3fe2ad82adf7b09403fa1f48ae45c0cbde6628"}, + {file = "aiohttp-3.10.10-cp312-cp312-win_amd64.whl", hash = "sha256:0e1b370d8007c4ae31ee6db7f9a2fe801a42b146cec80a86766e7ad5c4a259cf"}, + {file = "aiohttp-3.10.10-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ad7593bb24b2ab09e65e8a1d385606f0f47c65b5a2ae6c551db67d6653e78c28"}, + {file = "aiohttp-3.10.10-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1eb89d3d29adaf533588f209768a9c02e44e4baf832b08118749c5fad191781d"}, + {file = "aiohttp-3.10.10-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3fe407bf93533a6fa82dece0e74dbcaaf5d684e5a51862887f9eaebe6372cd79"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50aed5155f819873d23520919e16703fc8925e509abbb1a1491b0087d1cd969e"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f05e9727ce409358baa615dbeb9b969db94324a79b5a5cea45d39bdb01d82e6"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dffb610a30d643983aeb185ce134f97f290f8935f0abccdd32c77bed9388b42"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa6658732517ddabe22c9036479eabce6036655ba87a0224c612e1ae6af2087e"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:741a46d58677d8c733175d7e5aa618d277cd9d880301a380fd296975a9cdd7bc"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e00e3505cd80440f6c98c6d69269dcc2a119f86ad0a9fd70bccc59504bebd68a"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ffe595f10566f8276b76dc3a11ae4bb7eba1aac8ddd75811736a15b0d5311414"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdfcf6443637c148c4e1a20c48c566aa694fa5e288d34b20fcdc58507882fed3"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d183cf9c797a5291e8301790ed6d053480ed94070637bfaad914dd38b0981f67"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:77abf6665ae54000b98b3c742bc6ea1d1fb31c394bcabf8b5d2c1ac3ebfe7f3b"}, + {file = "aiohttp-3.10.10-cp313-cp313-win32.whl", hash = "sha256:4470c73c12cd9109db8277287d11f9dd98f77fc54155fc71a7738a83ffcc8ea8"}, + {file = "aiohttp-3.10.10-cp313-cp313-win_amd64.whl", hash = "sha256:486f7aabfa292719a2753c016cc3a8f8172965cabb3ea2e7f7436c7f5a22a151"}, + {file = "aiohttp-3.10.10-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1b66ccafef7336a1e1f0e389901f60c1d920102315a56df85e49552308fc0486"}, + {file = "aiohttp-3.10.10-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:acd48d5b80ee80f9432a165c0ac8cbf9253eaddb6113269a5e18699b33958dbb"}, + {file = "aiohttp-3.10.10-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3455522392fb15ff549d92fbf4b73b559d5e43dc522588f7eb3e54c3f38beee7"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45c3b868724137f713a38376fef8120c166d1eadd50da1855c112fe97954aed8"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:da1dee8948d2137bb51fbb8a53cce6b1bcc86003c6b42565f008438b806cccd8"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c5ce2ce7c997e1971b7184ee37deb6ea9922ef5163c6ee5aa3c274b05f9e12fa"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28529e08fde6f12eba8677f5a8608500ed33c086f974de68cc65ab218713a59d"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f7db54c7914cc99d901d93a34704833568d86c20925b2762f9fa779f9cd2e70f"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:03a42ac7895406220124c88911ebee31ba8b2d24c98507f4a8bf826b2937c7f2"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:7e338c0523d024fad378b376a79faff37fafb3c001872a618cde1d322400a572"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:038f514fe39e235e9fef6717fbf944057bfa24f9b3db9ee551a7ecf584b5b480"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:64f6c17757251e2b8d885d728b6433d9d970573586a78b78ba8929b0f41d045a"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:93429602396f3383a797a2a70e5f1de5df8e35535d7806c9f91df06f297e109b"}, + {file = "aiohttp-3.10.10-cp38-cp38-win32.whl", hash = "sha256:c823bc3971c44ab93e611ab1a46b1eafeae474c0c844aff4b7474287b75fe49c"}, + {file = "aiohttp-3.10.10-cp38-cp38-win_amd64.whl", hash = "sha256:54ca74df1be3c7ca1cf7f4c971c79c2daf48d9aa65dea1a662ae18926f5bc8ce"}, + {file = "aiohttp-3.10.10-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:01948b1d570f83ee7bbf5a60ea2375a89dfb09fd419170e7f5af029510033d24"}, + {file = "aiohttp-3.10.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9fc1500fd2a952c5c8e3b29aaf7e3cc6e27e9cfc0a8819b3bce48cc1b849e4cc"}, + {file = "aiohttp-3.10.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f614ab0c76397661b90b6851a030004dac502e48260ea10f2441abd2207fbcc7"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00819de9e45d42584bed046314c40ea7e9aea95411b38971082cad449392b08c"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05646ebe6b94cc93407b3bf34b9eb26c20722384d068eb7339de802154d61bc5"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:998f3bd3cfc95e9424a6acd7840cbdd39e45bc09ef87533c006f94ac47296090"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9010c31cd6fa59438da4e58a7f19e4753f7f264300cd152e7f90d4602449762"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ea7ffc6d6d6f8a11e6f40091a1040995cdff02cfc9ba4c2f30a516cb2633554"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ef9c33cc5cbca35808f6c74be11eb7f5f6b14d2311be84a15b594bd3e58b5527"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ce0cdc074d540265bfeb31336e678b4e37316849d13b308607efa527e981f5c2"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:597a079284b7ee65ee102bc3a6ea226a37d2b96d0418cc9047490f231dc09fe8"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:7789050d9e5d0c309c706953e5e8876e38662d57d45f936902e176d19f1c58ab"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e7f8b04d83483577fd9200461b057c9f14ced334dcb053090cea1da9c8321a91"}, + {file = "aiohttp-3.10.10-cp39-cp39-win32.whl", hash = "sha256:c02a30b904282777d872266b87b20ed8cc0d1501855e27f831320f471d54d983"}, + {file = "aiohttp-3.10.10-cp39-cp39-win_amd64.whl", hash = "sha256:edfe3341033a6b53a5c522c802deb2079eee5cbfbb0af032a55064bd65c73a23"}, + {file = "aiohttp-3.10.10.tar.gz", hash = "sha256:0631dd7c9f0822cc61c88586ca76d5b5ada26538097d0f1df510b082bad3411a"}, ] [package.dependencies] +aiohappyeyeballs = ">=2.3.0" aiosignal = ">=1.1.2" -async-timeout = ">=4.0.0a3,<5.0" +async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" -charset-normalizer = ">=2.0,<4.0" frozenlist = ">=1.1.1" multidict = ">=4.5,<7.0" -yarl = ">=1.0,<2.0" +yarl = ">=1.12.0,<2.0" [package.extras] -speedups = ["Brotli", "aiodns", "cchardet"] +speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] [[package]] name = "aiosignal" -version = "1.2.0" +version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "aiosignal-1.2.0-py3-none-any.whl", hash = "sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a"}, - {file = "aiosignal-1.2.0.tar.gz", hash = "sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2"}, + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, ] [package.dependencies] @@ -154,53 +169,56 @@ frozenlist = ">=1.1.0" [[package]] name = "anyio" -version = "3.6.2" +version = "4.6.2.post1" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false -python-versions = ">=3.6.2" +python-versions = ">=3.9" files = [ - {file = "anyio-3.6.2-py3-none-any.whl", hash = "sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"}, - {file = "anyio-3.6.2.tar.gz", hash = "sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421"}, + {file = "anyio-4.6.2.post1-py3-none-any.whl", hash = "sha256:6d170c36fba3bdd840c73d3868c1e777e33676a69c3a72cf0a0d5d6d8009b61d"}, + {file = "anyio-4.6.2.post1.tar.gz", hash = "sha256:4c8bc31ccdb51c7f7bd251f51c609e038d63e34219b44aa86e47576389880b4c"}, ] [package.dependencies] +exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} idna = ">=2.8" sniffio = ">=1.1" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} [package.extras] -doc = ["packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"] -trio = ["trio (>=0.16,<0.22)"] +doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21.0b1)"] +trio = ["trio (>=0.26.1)"] [[package]] name = "appnope" -version = "0.1.2" +version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" optional = false -python-versions = "*" +python-versions = ">=3.6" files = [ - {file = "appnope-0.1.2-py2.py3-none-any.whl", hash = "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442"}, - {file = "appnope-0.1.2.tar.gz", hash = "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a"}, + {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, + {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, ] [[package]] name = "argon2-cffi" -version = "21.3.0" -description = "The secure Argon2 password hashing algorithm." +version = "23.1.0" +description = "Argon2 for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "argon2-cffi-21.3.0.tar.gz", hash = "sha256:d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b"}, - {file = "argon2_cffi-21.3.0-py3-none-any.whl", hash = "sha256:8c976986f2c5c0e5000919e6de187906cfd81fb1c72bf9d88c01177e77da7f80"}, + {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, + {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, ] [package.dependencies] argon2-cffi-bindings = "*" [package.extras] -dev = ["cogapp", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "pre-commit", "pytest", "sphinx", "sphinx-notfound-page", "tomli"] -docs = ["furo", "sphinx", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest"] +dev = ["argon2-cffi[tests,typing]", "tox (>4)"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-copybutton", "sphinx-notfound-page"] +tests = ["hypothesis", "pytest"] +typing = ["mypy"] [[package]] name = "argon2-cffi-bindings" @@ -239,92 +257,151 @@ cffi = ">=1.0.1" dev = ["cogapp", "pre-commit", "pytest", "wheel"] tests = ["pytest"] +[[package]] +name = "arrow" +version = "1.3.0" +description = "Better dates & times for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, + {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, +] + +[package.dependencies] +python-dateutil = ">=2.7.0" +types-python-dateutil = ">=2.8.10" + +[package.extras] +doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] +test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] + +[[package]] +name = "asttokens" +version = "2.4.1" +description = "Annotate AST trees with source code positions" +optional = false +python-versions = "*" +files = [ + {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, + {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, +] + +[package.dependencies] +six = ">=1.12.0" + +[package.extras] +astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] +test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] + +[[package]] +name = "async-lru" +version = "2.0.4" +description = "Simple LRU cache for asyncio" +optional = false +python-versions = ">=3.8" +files = [ + {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, + {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} + [[package]] name = "async-timeout" -version = "4.0.2" +version = "4.0.3" description = "Timeout context manager for asyncio programs" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, - {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, ] [[package]] name = "attrs" -version = "21.2.0" +version = "24.2.0" description = "Classes Without Boilerplate" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.7" files = [ - {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"}, - {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"}, + {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, + {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, ] [package.extras] -dev = ["coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six", "sphinx", "sphinx-notfound-page", "zope.interface"] -docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "mypy", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six", "zope.interface"] -tests-no-zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "mypy", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six"] +benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] [[package]] -name = "backcall" -version = "0.2.0" -description = "Specifications for callback functions passed in to an API" +name = "babel" +version = "2.16.0" +description = "Internationalization utilities" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, - {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, ] +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "beautifulsoup4" -version = "4.11.2" +version = "4.12.3" description = "Screen-scraping library" optional = false python-versions = ">=3.6.0" files = [ - {file = "beautifulsoup4-4.11.2-py3-none-any.whl", hash = "sha256:0e79446b10b3ecb499c1556f7e228a53e64a2bfcebd455f370d8927cb5b59e39"}, - {file = "beautifulsoup4-4.11.2.tar.gz", hash = "sha256:bc4bdda6717de5a2987436fb8d72f45dc90dd856bdfd512a1314ce90349a0106"}, + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, ] [package.dependencies] soupsieve = ">1.2" [package.extras] +cchardet = ["cchardet"] +chardet = ["chardet"] +charset-normalizer = ["charset-normalizer"] html5lib = ["html5lib"] lxml = ["lxml"] [[package]] name = "black" -version = "24.1.1" +version = "24.10.0" description = "The uncompromising code formatter." optional = false -python-versions = ">=3.8" -files = [ - {file = "black-24.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2588021038bd5ada078de606f2a804cadd0a3cc6a79cb3e9bb3a8bf581325a4c"}, - {file = "black-24.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a95915c98d6e32ca43809d46d932e2abc5f1f7d582ffbe65a5b4d1588af7445"}, - {file = "black-24.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fa6a0e965779c8f2afb286f9ef798df770ba2b6cee063c650b96adec22c056a"}, - {file = "black-24.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:5242ecd9e990aeb995b6d03dc3b2d112d4a78f2083e5a8e86d566340ae80fec4"}, - {file = "black-24.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fc1ec9aa6f4d98d022101e015261c056ddebe3da6a8ccfc2c792cbe0349d48b7"}, - {file = "black-24.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0269dfdea12442022e88043d2910429bed717b2d04523867a85dacce535916b8"}, - {file = "black-24.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3d64db762eae4a5ce04b6e3dd745dcca0fb9560eb931a5be97472e38652a161"}, - {file = "black-24.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:5d7b06ea8816cbd4becfe5f70accae953c53c0e53aa98730ceccb0395520ee5d"}, - {file = "black-24.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e2c8dfa14677f90d976f68e0c923947ae68fa3961d61ee30976c388adc0b02c8"}, - {file = "black-24.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a21725862d0e855ae05da1dd25e3825ed712eaaccef6b03017fe0853a01aa45e"}, - {file = "black-24.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07204d078e25327aad9ed2c64790d681238686bce254c910de640c7cc4fc3aa6"}, - {file = "black-24.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:a83fe522d9698d8f9a101b860b1ee154c1d25f8a82ceb807d319f085b2627c5b"}, - {file = "black-24.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:08b34e85170d368c37ca7bf81cf67ac863c9d1963b2c1780c39102187ec8dd62"}, - {file = "black-24.1.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7258c27115c1e3b5de9ac6c4f9957e3ee2c02c0b39222a24dc7aa03ba0e986f5"}, - {file = "black-24.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40657e1b78212d582a0edecafef133cf1dd02e6677f539b669db4746150d38f6"}, - {file = "black-24.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e298d588744efda02379521a19639ebcd314fba7a49be22136204d7ed1782717"}, - {file = "black-24.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:34afe9da5056aa123b8bfda1664bfe6fb4e9c6f311d8e4a6eb089da9a9173bf9"}, - {file = "black-24.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:854c06fb86fd854140f37fb24dbf10621f5dab9e3b0c29a690ba595e3d543024"}, - {file = "black-24.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3897ae5a21ca132efa219c029cce5e6bfc9c3d34ed7e892113d199c0b1b444a2"}, - {file = "black-24.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:ecba2a15dfb2d97105be74bbfe5128bc5e9fa8477d8c46766505c1dda5883aac"}, - {file = "black-24.1.1-py3-none-any.whl", hash = "sha256:5cdc2e2195212208fbcae579b931407c1fa9997584f0a415421748aeafff1168"}, - {file = "black-24.1.1.tar.gz", hash = "sha256:48b5760dcbfe5cf97fd4fba23946681f3a81514c6ab8a45b50da67ac8fbc6c7b"}, +python-versions = ">=3.9" +files = [ + {file = "black-24.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6668650ea4b685440857138e5fe40cde4d652633b1bdffc62933d0db4ed9812"}, + {file = "black-24.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c536fcf674217e87b8cc3657b81809d3c085d7bf3ef262ead700da345bfa6ea"}, + {file = "black-24.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:649fff99a20bd06c6f727d2a27f401331dc0cc861fb69cde910fe95b01b5928f"}, + {file = "black-24.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe4d6476887de70546212c99ac9bd803d90b42fc4767f058a0baa895013fbb3e"}, + {file = "black-24.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a2221696a8224e335c28816a9d331a6c2ae15a2ee34ec857dcf3e45dbfa99ad"}, + {file = "black-24.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9da3333530dbcecc1be13e69c250ed8dfa67f43c4005fb537bb426e19200d50"}, + {file = "black-24.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4007b1393d902b48b36958a216c20c4482f601569d19ed1df294a496eb366392"}, + {file = "black-24.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:394d4ddc64782e51153eadcaaca95144ac4c35e27ef9b0a42e121ae7e57a9175"}, + {file = "black-24.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3"}, + {file = "black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65"}, + {file = "black-24.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f"}, + {file = "black-24.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8"}, + {file = "black-24.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cbacacb19e922a1d75ef2b6ccaefcd6e93a2c05ede32f06a21386a04cedb981"}, + {file = "black-24.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1f93102e0c5bb3907451063e08b9876dbeac810e7da5a8bfb7aeb5a9ef89066b"}, + {file = "black-24.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ddacb691cdcdf77b96f549cf9591701d8db36b2f19519373d60d31746068dbf2"}, + {file = "black-24.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:680359d932801c76d2e9c9068d05c6b107f2584b2a5b88831c83962eb9984c1b"}, + {file = "black-24.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:17374989640fbca88b6a448129cd1745c5eb8d9547b464f281b251dd00155ccd"}, + {file = "black-24.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:63f626344343083322233f175aaf372d326de8436f5928c042639a4afbbf1d3f"}, + {file = "black-24.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfa1d0cb6200857f1923b602f978386a3a2758a65b52e0950299ea014be6800"}, + {file = "black-24.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:2cd9c95431d94adc56600710f8813ee27eea544dd118d45896bb734e9d7a0dc7"}, + {file = "black-24.10.0-py3-none-any.whl", hash = "sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d"}, + {file = "black-24.10.0.tar.gz", hash = "sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875"}, ] [package.dependencies] @@ -338,19 +415,19 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +d = ["aiohttp (>=3.10)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "bleach" -version = "6.0.0" +version = "6.1.0" description = "An easy safelist-based HTML-sanitizing tool." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "bleach-6.0.0-py3-none-any.whl", hash = "sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4"}, - {file = "bleach-6.0.0.tar.gz", hash = "sha256:1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414"}, + {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, + {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, ] [package.dependencies] @@ -358,116 +435,134 @@ six = ">=1.9.0" webencodings = "*" [package.extras] -css = ["tinycss2 (>=1.1.0,<1.2)"] +css = ["tinycss2 (>=1.1.0,<1.3)"] [[package]] name = "boto3" -version = "1.24.68" +version = "1.35.42" description = "The AWS SDK for Python" optional = false -python-versions = ">= 3.7" +python-versions = ">=3.8" files = [ - {file = "boto3-1.24.68-py3-none-any.whl", hash = "sha256:428d94d7c79b6ea65ade428afbd89fb1b869da631bb5acf22230b5b0b7486290"}, - {file = "boto3-1.24.68.tar.gz", hash = "sha256:d8785ada565bd3118b9c4c26d8fa64c32d86e62c3404aab612571ae32c270be2"}, + {file = "boto3-1.35.42-py3-none-any.whl", hash = "sha256:e1f36f8be453505cebcc3da178ea081b2a06c0e5e1cdee774f1067599b8d9c3e"}, + {file = "boto3-1.35.42.tar.gz", hash = "sha256:a5b00f8b82dce62870759f04861747944da834d64a64355970120c475efdafc0"}, ] [package.dependencies] -botocore = ">=1.27.68,<1.28.0" +botocore = ">=1.35.42,<1.36.0" jmespath = ">=0.7.1,<2.0.0" -s3transfer = ">=0.6.0,<0.7.0" +s3transfer = ">=0.10.0,<0.11.0" [package.extras] crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.68" +version = "1.35.42" description = "Low-level, data-driven core of boto 3." optional = false -python-versions = ">= 3.7" +python-versions = ">=3.8" files = [ - {file = "botocore-1.27.68-py3-none-any.whl", hash = "sha256:d7decff8d5d94c265ad533c11ba0d653acf0819fcdf1049452076cf8fc0f8946"}, - {file = "botocore-1.27.68.tar.gz", hash = "sha256:aa8ce593e8d6e1aeb5852f8847e3d1750a1e840b221c01ff63ac0cb1dc583aba"}, + {file = "botocore-1.35.42-py3-none-any.whl", hash = "sha256:05af0bb8b9cea7ce7bc589c332348d338a21b784e9d088a588fd10ec145007ff"}, + {file = "botocore-1.35.42.tar.gz", hash = "sha256:af348636f73dc24b7e2dc760a34d08c8f2f94366e9b4c78d877307b128abecef"}, ] [package.dependencies] jmespath = ">=0.7.1,<2.0.0" python-dateutil = ">=2.1,<3.0.0" -urllib3 = ">=1.25.4,<1.27" +urllib3 = [ + {version = ">=1.25.4,<1.27", markers = "python_version < \"3.10\""}, + {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""}, +] [package.extras] -crt = ["awscrt (==0.14.0)"] +crt = ["awscrt (==0.22.0)"] [[package]] name = "certifi" -version = "2023.5.7" +version = "2024.8.30" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"}, - {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"}, + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, ] [[package]] name = "cffi" -version = "1.16.0" +version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" files = [ - {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, - {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, - {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, - {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, - {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, - {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, - {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, - {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, - {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, - {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, - {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, - {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, - {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, - {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, - {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, + {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, + {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, + {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, + {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, + {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, + {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, + {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, + {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, + {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, + {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, + {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, + {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, + {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, + {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] [package.dependencies] @@ -489,12 +584,12 @@ unicode-backport = ["unicodedata2"] [[package]] name = "clearml" -version = "1.13.1" +version = "1.16.4" description = "ClearML - Auto-Magical Experiment Manager, Version Control, and MLOps for AI" optional = false python-versions = "*" files = [ - {file = "clearml-1.13.1-py2.py3-none-any.whl", hash = "sha256:675d4509a05adee82412f7b3bd351098e46c64dc8fb01c9e06d9d49f68975dc5"}, + {file = "clearml-1.16.4-py2.py3-none-any.whl", hash = "sha256:98c6d63ae017e9dd6787e683041c94de19bfb6d1645cfc3a8d561f3ce827d2e8"}, ] [package.dependencies] @@ -506,10 +601,11 @@ numpy = ">=1.10" pathlib2 = ">=2.3.0" Pillow = ">=4.1.1" psutil = ">=3.4.2" -pyjwt = {version = ">=2.4.0,<2.5.0", markers = "python_version > \"3.5\""} +pyjwt = {version = ">=2.4.0,<2.9.0", markers = "python_version > \"3.5\""} pyparsing = ">=2.0.3" python-dateutil = ">=2.6.1" PyYAML = ">=3.12" +referencing = {version = "<0.40", markers = "python_version >= \"3.8\""} requests = ">=2.20.0" six = ">=1.13.0" urllib3 = ">=1.21.1" @@ -521,13 +617,13 @@ s3 = ["boto3 (>=1.9)"] [[package]] name = "click" -version = "8.0.1" +version = "8.1.7" description = "Composable command line interface toolkit" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "click-8.0.1-py3-none-any.whl", hash = "sha256:fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6"}, - {file = "click-8.0.1.tar.gz", hash = "sha256:8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a"}, + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] [package.dependencies] @@ -535,74 +631,101 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "colorama" -version = "0.4.4" +version = "0.4.6" description = "Cross-platform colored terminal text." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ - {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, - {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] [[package]] -name = "coverage" -version = "7.3.2" -description = "Code coverage measurement for Python" +name = "comm" +version = "0.2.2" +description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d872145f3a3231a5f20fd48500274d7df222e291d90baa2026cc5152b7ce86bf"}, - {file = "coverage-7.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:310b3bb9c91ea66d59c53fa4989f57d2436e08f18fb2f421a1b0b6b8cc7fffda"}, - {file = "coverage-7.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47d39359e2c3779c5331fc740cf4bce6d9d680a7b4b4ead97056a0ae07cb49a"}, - {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa72dbaf2c2068404b9870d93436e6d23addd8bbe9295f49cbca83f6e278179c"}, - {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beaa5c1b4777f03fc63dfd2a6bd820f73f036bfb10e925fce067b00a340d0f3f"}, - {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dbc1b46b92186cc8074fee9d9fbb97a9dd06c6cbbef391c2f59d80eabdf0faa6"}, - {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:315a989e861031334d7bee1f9113c8770472db2ac484e5b8c3173428360a9148"}, - {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d1bc430677773397f64a5c88cb522ea43175ff16f8bfcc89d467d974cb2274f9"}, - {file = "coverage-7.3.2-cp310-cp310-win32.whl", hash = "sha256:a889ae02f43aa45032afe364c8ae84ad3c54828c2faa44f3bfcafecb5c96b02f"}, - {file = "coverage-7.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0ba320de3fb8c6ec16e0be17ee1d3d69adcda99406c43c0409cb5c41788a611"}, - {file = "coverage-7.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac8c802fa29843a72d32ec56d0ca792ad15a302b28ca6203389afe21f8fa062c"}, - {file = "coverage-7.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:89a937174104339e3a3ffcf9f446c00e3a806c28b1841c63edb2b369310fd074"}, - {file = "coverage-7.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e267e9e2b574a176ddb983399dec325a80dbe161f1a32715c780b5d14b5f583a"}, - {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2443cbda35df0d35dcfb9bf8f3c02c57c1d6111169e3c85fc1fcc05e0c9f39a3"}, - {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4175e10cc8dda0265653e8714b3174430b07c1dca8957f4966cbd6c2b1b8065a"}, - {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1"}, - {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5c913b556a116b8d5f6ef834038ba983834d887d82187c8f73dec21049abd65c"}, - {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1981f785239e4e39e6444c63a98da3a1db8e971cb9ceb50a945ba6296b43f312"}, - {file = "coverage-7.3.2-cp311-cp311-win32.whl", hash = "sha256:43668cabd5ca8258f5954f27a3aaf78757e6acf13c17604d89648ecc0cc66640"}, - {file = "coverage-7.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10c39c0452bf6e694511c901426d6b5ac005acc0f78ff265dbe36bf81f808a2"}, - {file = "coverage-7.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4cbae1051ab791debecc4a5dcc4a1ff45fc27b91b9aee165c8a27514dd160836"}, - {file = "coverage-7.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63"}, - {file = "coverage-7.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7bba973ebee5e56fe9251300c00f1579652587a9f4a5ed8404b15a0471f216"}, - {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe494faa90ce6381770746077243231e0b83ff3f17069d748f645617cefe19d4"}, - {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e9589bd04d0461a417562649522575d8752904d35c12907d8c9dfeba588faf"}, - {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d51ac2a26f71da1b57f2dc81d0e108b6ab177e7d30e774db90675467c847bbdf"}, - {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:99b89d9f76070237975b315b3d5f4d6956ae354a4c92ac2388a5695516e47c84"}, - {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fa28e909776dc69efb6ed975a63691bc8172b64ff357e663a1bb06ff3c9b589a"}, - {file = "coverage-7.3.2-cp312-cp312-win32.whl", hash = "sha256:289fe43bf45a575e3ab10b26d7b6f2ddb9ee2dba447499f5401cfb5ecb8196bb"}, - {file = "coverage-7.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dbc3ed60e8659bc59b6b304b43ff9c3ed858da2839c78b804973f613d3e92ed"}, - {file = "coverage-7.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f94b734214ea6a36fe16e96a70d941af80ff3bfd716c141300d95ebc85339738"}, - {file = "coverage-7.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af3d828d2c1cbae52d34bdbb22fcd94d1ce715d95f1a012354a75e5913f1bda2"}, - {file = "coverage-7.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630b13e3036e13c7adc480ca42fa7afc2a5d938081d28e20903cf7fd687872e2"}, - {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9eacf273e885b02a0273bb3a2170f30e2d53a6d53b72dbe02d6701b5296101c"}, - {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f17966e861ff97305e0801134e69db33b143bbfb36436efb9cfff6ec7b2fd9"}, - {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b4275802d16882cf9c8b3d057a0839acb07ee9379fa2749eca54efbce1535b82"}, - {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:72c0cfa5250f483181e677ebc97133ea1ab3eb68645e494775deb6a7f6f83901"}, - {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cb536f0dcd14149425996821a168f6e269d7dcd2c273a8bff8201e79f5104e76"}, - {file = "coverage-7.3.2-cp38-cp38-win32.whl", hash = "sha256:307adb8bd3abe389a471e649038a71b4eb13bfd6b7dd9a129fa856f5c695cf92"}, - {file = "coverage-7.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:88ed2c30a49ea81ea3b7f172e0269c182a44c236eb394718f976239892c0a27a"}, - {file = "coverage-7.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b631c92dfe601adf8f5ebc7fc13ced6bb6e9609b19d9a8cd59fa47c4186ad1ce"}, - {file = "coverage-7.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d3d9df4051c4a7d13036524b66ecf7a7537d14c18a384043f30a303b146164e9"}, - {file = "coverage-7.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7363d3b6a1119ef05015959ca24a9afc0ea8a02c687fe7e2d557705375c01f"}, - {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f11cc3c967a09d3695d2a6f03fb3e6236622b93be7a4b5dc09166a861be6d25"}, - {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9"}, - {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3a4006916aa6fee7cd38db3bfc95aa9c54ebb4ffbfc47c677c8bba949ceba0a6"}, - {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9028a3871280110d6e1aa2df1afd5ef003bab5fb1ef421d6dc748ae1c8ef2ebc"}, - {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f805d62aec8eb92bab5b61c0f07329275b6f41c97d80e847b03eb894f38d083"}, - {file = "coverage-7.3.2-cp39-cp39-win32.whl", hash = "sha256:d1c88ec1a7ff4ebca0219f5b1ef863451d828cccf889c173e1253aa84b1e07ce"}, - {file = "coverage-7.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4767da59464bb593c07afceaddea61b154136300881844768037fd5e859353f"}, - {file = "coverage-7.3.2-pp38.pp39.pp310-none-any.whl", hash = "sha256:ae97af89f0fbf373400970c0a21eef5aa941ffeed90aee43650b81f7d7f47637"}, - {file = "coverage-7.3.2.tar.gz", hash = "sha256:be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef"}, + {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, + {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, +] + +[package.dependencies] +traitlets = ">=4" + +[package.extras] +test = ["pytest"] + +[[package]] +name = "coverage" +version = "7.6.3" +description = "Code coverage measurement for Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "coverage-7.6.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6da42bbcec130b188169107ecb6ee7bd7b4c849d24c9370a0c884cf728d8e976"}, + {file = "coverage-7.6.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c222958f59b0ae091f4535851cbb24eb57fc0baea07ba675af718fb5302dddb2"}, + {file = "coverage-7.6.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab84a8b698ad5a6c365b08061920138e7a7dd9a04b6feb09ba1bfae68346ce6d"}, + {file = "coverage-7.6.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70a6756ce66cd6fe8486c775b30889f0dc4cb20c157aa8c35b45fd7868255c5c"}, + {file = "coverage-7.6.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c2e6fa98032fec8282f6b27e3f3986c6e05702828380618776ad794e938f53a"}, + {file = "coverage-7.6.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:921fbe13492caf6a69528f09d5d7c7d518c8d0e7b9f6701b7719715f29a71e6e"}, + {file = "coverage-7.6.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6d99198203f0b9cb0b5d1c0393859555bc26b548223a769baf7e321a627ed4fc"}, + {file = "coverage-7.6.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:87cd2e29067ea397a47e352efb13f976eb1b03e18c999270bb50589323294c6e"}, + {file = "coverage-7.6.3-cp310-cp310-win32.whl", hash = "sha256:a3328c3e64ea4ab12b85999eb0779e6139295bbf5485f69d42cf794309e3d007"}, + {file = "coverage-7.6.3-cp310-cp310-win_amd64.whl", hash = "sha256:bca4c8abc50d38f9773c1ec80d43f3768df2e8576807d1656016b9d3eeaa96fd"}, + {file = "coverage-7.6.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c51ef82302386d686feea1c44dbeef744585da16fcf97deea2a8d6c1556f519b"}, + {file = "coverage-7.6.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ca37993206402c6c35dc717f90d4c8f53568a8b80f0bf1a1b2b334f4d488fba"}, + {file = "coverage-7.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c77326300b839c44c3e5a8fe26c15b7e87b2f32dfd2fc9fee1d13604347c9b38"}, + {file = "coverage-7.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e484e479860e00da1f005cd19d1c5d4a813324e5951319ac3f3eefb497cc549"}, + {file = "coverage-7.6.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c6c0f4d53ef603397fc894a895b960ecd7d44c727df42a8d500031716d4e8d2"}, + {file = "coverage-7.6.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:37be7b5ea3ff5b7c4a9db16074dc94523b5f10dd1f3b362a827af66a55198175"}, + {file = "coverage-7.6.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:43b32a06c47539fe275106b376658638b418c7cfdfff0e0259fbf877e845f14b"}, + {file = "coverage-7.6.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ee77c7bef0724165e795b6b7bf9c4c22a9b8468a6bdb9c6b4281293c6b22a90f"}, + {file = "coverage-7.6.3-cp311-cp311-win32.whl", hash = "sha256:43517e1f6b19f610a93d8227e47790722c8bf7422e46b365e0469fc3d3563d97"}, + {file = "coverage-7.6.3-cp311-cp311-win_amd64.whl", hash = "sha256:04f2189716e85ec9192df307f7c255f90e78b6e9863a03223c3b998d24a3c6c6"}, + {file = "coverage-7.6.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:27bd5f18d8f2879e45724b0ce74f61811639a846ff0e5c0395b7818fae87aec6"}, + {file = "coverage-7.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d546cfa78844b8b9c1c0533de1851569a13f87449897bbc95d698d1d3cb2a30f"}, + {file = "coverage-7.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9975442f2e7a5cfcf87299c26b5a45266ab0696348420049b9b94b2ad3d40234"}, + {file = "coverage-7.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:583049c63106c0555e3ae3931edab5669668bbef84c15861421b94e121878d3f"}, + {file = "coverage-7.6.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2341a78ae3a5ed454d524206a3fcb3cec408c2a0c7c2752cd78b606a2ff15af4"}, + {file = "coverage-7.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a4fb91d5f72b7e06a14ff4ae5be625a81cd7e5f869d7a54578fc271d08d58ae3"}, + {file = "coverage-7.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e279f3db904e3b55f520f11f983cc8dc8a4ce9b65f11692d4718ed021ec58b83"}, + {file = "coverage-7.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aa23ce39661a3e90eea5f99ec59b763b7d655c2cada10729ed920a38bfc2b167"}, + {file = "coverage-7.6.3-cp312-cp312-win32.whl", hash = "sha256:52ac29cc72ee7e25ace7807249638f94c9b6a862c56b1df015d2b2e388e51dbd"}, + {file = "coverage-7.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:40e8b1983080439d4802d80b951f4a93d991ef3261f69e81095a66f86cf3c3c6"}, + {file = "coverage-7.6.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9134032f5aa445ae591c2ba6991d10136a1f533b1d2fa8f8c21126468c5025c6"}, + {file = "coverage-7.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:99670790f21a96665a35849990b1df447993880bb6463a0a1d757897f30da929"}, + {file = "coverage-7.6.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dc7d6b380ca76f5e817ac9eef0c3686e7834c8346bef30b041a4ad286449990"}, + {file = "coverage-7.6.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f7b26757b22faf88fcf232f5f0e62f6e0fd9e22a8a5d0d5016888cdfe1f6c1c4"}, + {file = "coverage-7.6.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c59d6a4a4633fad297f943c03d0d2569867bd5372eb5684befdff8df8522e39"}, + {file = "coverage-7.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f263b18692f8ed52c8de7f40a0751e79015983dbd77b16906e5b310a39d3ca21"}, + {file = "coverage-7.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:79644f68a6ff23b251cae1c82b01a0b51bc40c8468ca9585c6c4b1aeee570e0b"}, + {file = "coverage-7.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:71967c35828c9ff94e8c7d405469a1fb68257f686bca7c1ed85ed34e7c2529c4"}, + {file = "coverage-7.6.3-cp313-cp313-win32.whl", hash = "sha256:e266af4da2c1a4cbc6135a570c64577fd3e6eb204607eaff99d8e9b710003c6f"}, + {file = "coverage-7.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:ea52bd218d4ba260399a8ae4bb6b577d82adfc4518b93566ce1fddd4a49d1dce"}, + {file = "coverage-7.6.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8d4c6ea0f498c7c79111033a290d060c517853a7bcb2f46516f591dab628ddd3"}, + {file = "coverage-7.6.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:331b200ad03dbaa44151d74daeb7da2cf382db424ab923574f6ecca7d3b30de3"}, + {file = "coverage-7.6.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54356a76b67cf8a3085818026bb556545ebb8353951923b88292556dfa9f812d"}, + {file = "coverage-7.6.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ebec65f5068e7df2d49466aab9128510c4867e532e07cb6960075b27658dca38"}, + {file = "coverage-7.6.3-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d33a785ea8354c480515e781554d3be582a86297e41ccbea627a5c632647f2cd"}, + {file = "coverage-7.6.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f7ddb920106bbbbcaf2a274d56f46956bf56ecbde210d88061824a95bdd94e92"}, + {file = "coverage-7.6.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:70d24936ca6c15a3bbc91ee9c7fc661132c6f4c9d42a23b31b6686c05073bde5"}, + {file = "coverage-7.6.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c30e42ea11badb147f0d2e387115b15e2bd8205a5ad70d6ad79cf37f6ac08c91"}, + {file = "coverage-7.6.3-cp313-cp313t-win32.whl", hash = "sha256:365defc257c687ce3e7d275f39738dcd230777424117a6c76043459db131dd43"}, + {file = "coverage-7.6.3-cp313-cp313t-win_amd64.whl", hash = "sha256:23bb63ae3f4c645d2d82fa22697364b0046fbafb6261b258a58587441c5f7bd0"}, + {file = "coverage-7.6.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:da29ceabe3025a1e5a5aeeb331c5b1af686daab4ff0fb4f83df18b1180ea83e2"}, + {file = "coverage-7.6.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:df8c05a0f574d480947cba11b947dc41b1265d721c3777881da2fb8d3a1ddfba"}, + {file = "coverage-7.6.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec1e3b40b82236d100d259854840555469fad4db64f669ab817279eb95cd535c"}, + {file = "coverage-7.6.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4adeb878a374126f1e5cf03b87f66279f479e01af0e9a654cf6d1509af46c40"}, + {file = "coverage-7.6.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43d6a66e33b1455b98fc7312b124296dad97a2e191c80320587234a77b1b736e"}, + {file = "coverage-7.6.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1990b1f4e2c402beb317840030bb9f1b6a363f86e14e21b4212e618acdfce7f6"}, + {file = "coverage-7.6.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:12f9515d875859faedb4144fd38694a761cd2a61ef9603bf887b13956d0bbfbb"}, + {file = "coverage-7.6.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:99ded130555c021d99729fabd4ddb91a6f4cc0707df4b1daf912c7850c373b13"}, + {file = "coverage-7.6.3-cp39-cp39-win32.whl", hash = "sha256:c3a79f56dee9136084cf84a6c7c4341427ef36e05ae6415bf7d787c96ff5eaa3"}, + {file = "coverage-7.6.3-cp39-cp39-win_amd64.whl", hash = "sha256:aac7501ae73d4a02f4b7ac8fcb9dc55342ca98ffb9ed9f2dfb8a25d53eda0e4d"}, + {file = "coverage-7.6.3-pp39.pp310-none-any.whl", hash = "sha256:b9853509b4bf57ba7b1f99b9d866c422c9c5248799ab20e652bbb8a184a38181"}, + {file = "coverage-7.6.3.tar.gz", hash = "sha256:bb7d5fe92bd0dc235f63ebe9f8c6e0884f7360f88f3411bfed1350c872ef2054"}, ] [package.dependencies] @@ -613,74 +736,81 @@ toml = ["tomli"] [[package]] name = "datasets" -version = "2.9.0" +version = "2.21.0" description = "HuggingFace community-driven open-source library of datasets" optional = false -python-versions = ">=3.7.0" +python-versions = ">=3.8.0" files = [ - {file = "datasets-2.9.0-py3-none-any.whl", hash = "sha256:f1aa5b98959cddb30f5077448204c8ce4235a4f1c8ec2473920660ebd6fc304f"}, - {file = "datasets-2.9.0.tar.gz", hash = "sha256:c82458d635539b5a5dbed0fba8837006dfc3c213a5bcc00e18a67789f0f0f16f"}, + {file = "datasets-2.21.0-py3-none-any.whl", hash = "sha256:25e4e097110ce28824b746a107727ada94024cba11db8bc588d468414692b65a"}, + {file = "datasets-2.21.0.tar.gz", hash = "sha256:998f85a8460f1bd982e5bd058f8a0808eef424249e3df1e8cdd594ccd0dc8ba2"}, ] [package.dependencies] aiohttp = "*" -dill = "<0.3.7" -fsspec = {version = ">=2021.11.1", extras = ["http"]} -huggingface-hub = ">=0.2.0,<1.0.0" +dill = ">=0.3.0,<0.3.9" +filelock = "*" +fsspec = {version = ">=2023.1.0,<=2024.6.1", extras = ["http"]} +huggingface-hub = ">=0.21.2" multiprocess = "*" numpy = ">=1.17" packaging = "*" pandas = "*" -pyarrow = ">=6.0.0" +pyarrow = ">=15.0.0" pyyaml = ">=5.1" -requests = ">=2.19.0" -responses = "<0.19" -tqdm = ">=4.62.1" +requests = ">=2.32.2" +tqdm = ">=4.66.3" xxhash = "*" [package.extras] -apache-beam = ["apache-beam (>=2.26.0,<2.44.0)"] -audio = ["librosa"] -benchmarks = ["numpy (==1.18.5)", "tensorflow (==2.3.0)", "torch (==1.7.1)", "transformers (==3.0.2)"] -dev = ["Pillow (>=6.2.1)", "absl-py", "apache-beam (>=2.26.0,<2.44.0)", "black (>=22.0,<23.0)", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "flake8 (>=3.8.3)", "isort (>=5.0.0)", "librosa", "lz4", "py7zr", "pytest", "pytest-datadir", "pytest-xdist", "pyyaml (>=5.3.1)", "rarfile (>=4.0)", "s3fs", "s3fs (>=2021.11.1)", "soundfile", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "tensorflow-macos", "torch", "torchaudio (<0.12.0)", "transformers", "zstandard"] -docs = ["s3fs"] -metrics-tests = ["Werkzeug (>=1.0.1)", "bert-score (>=0.3.6)", "jiwer", "langdetect", "mauve-text", "nltk", "requests-file (>=1.5.1)", "rouge-score", "sacrebleu", "sacremoses", "scikit-learn", "scipy", "sentencepiece", "seqeval", "six (>=1.15.0,<1.16.0)", "spacy (>=3.0.0)", "sqlalchemy", "texttable (>=1.6.3)", "tldextract", "tldextract (>=3.1.0)", "toml (>=0.10.1)", "typer (<0.5.0)"] -quality = ["black (>=22.0,<23.0)", "flake8 (>=3.8.3)", "isort (>=5.0.0)", "pyyaml (>=5.3.1)"] +apache-beam = ["apache-beam (>=2.26.0)"] +audio = ["librosa", "soundfile (>=0.12.1)", "soxr (>=0.4.0)"] +benchmarks = ["tensorflow (==2.12.0)", "torch (==2.0.1)", "transformers (==4.30.1)"] +dev = ["Pillow (>=9.4.0)", "absl-py", "decorator", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.8.0.post1)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "ruff (>=0.3.0)", "s3fs", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0)", "sqlalchemy", "tensorflow (>=2.16.0)", "tensorflow (>=2.6.0)", "tensorflow (>=2.6.0)", "tiktoken", "torch", "torch (>=2.0.0)", "transformers", "transformers (>=4.42.0)", "typing-extensions (>=4.6.1)", "zstandard"] +docs = ["s3fs", "tensorflow (>=2.6.0)", "torch", "transformers"] +jax = ["jax (>=0.3.14)", "jaxlib (>=0.3.14)"] +metrics-tests = ["Werkzeug (>=1.0.1)", "accelerate", "bert-score (>=0.3.6)", "jiwer", "langdetect", "mauve-text", "nltk (<3.8.2)", "requests-file (>=1.5.1)", "rouge-score", "sacrebleu", "sacremoses", "scikit-learn", "scipy", "sentencepiece", "seqeval", "six (>=1.15.0,<1.16.0)", "spacy (>=3.0.0)", "texttable (>=1.6.3)", "tldextract", "tldextract (>=3.1.0)", "toml (>=0.10.1)", "typer (<0.5.0)"] +quality = ["ruff (>=0.3.0)"] s3 = ["s3fs"] -tensorflow = ["tensorflow (>=2.2.0,!=2.6.0,!=2.6.1)", "tensorflow-macos"] -tensorflow-gpu = ["tensorflow-gpu (>=2.2.0,!=2.6.0,!=2.6.1)"] -tests = ["Pillow (>=6.2.1)", "absl-py", "apache-beam (>=2.26.0,<2.44.0)", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "librosa", "lz4", "py7zr", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "tensorflow-macos", "torch", "torchaudio (<0.12.0)", "transformers", "zstandard"] +tensorflow = ["tensorflow (>=2.6.0)"] +tensorflow-gpu = ["tensorflow (>=2.6.0)"] +tests = ["Pillow (>=9.4.0)", "absl-py", "decorator", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.8.0.post1)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0)", "sqlalchemy", "tensorflow (>=2.16.0)", "tensorflow (>=2.6.0)", "tiktoken", "torch (>=2.0.0)", "transformers (>=4.42.0)", "typing-extensions (>=4.6.1)", "zstandard"] +tests-numpy2 = ["Pillow (>=9.4.0)", "absl-py", "decorator", "elasticsearch (<8.0.0)", "jax (>=0.3.14)", "jaxlib (>=0.3.14)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "moto[server]", "polars[timezone] (>=0.20.0)", "protobuf (<4.0.0)", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "soxr (>=0.4.0)", "sqlalchemy", "tiktoken", "torch (>=2.0.0)", "typing-extensions (>=4.6.1)", "zstandard"] torch = ["torch"] -vision = ["Pillow (>=6.2.1)"] +vision = ["Pillow (>=9.4.0)"] [[package]] name = "debugpy" -version = "1.5.1" +version = "1.8.7" description = "An implementation of the Debug Adapter Protocol for Python" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" -files = [ - {file = "debugpy-1.5.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:70b422c63a833630c33e3f9cdbd9b6971f8c5afd452697e464339a21bbe862ba"}, - {file = "debugpy-1.5.1-cp310-cp310-win32.whl", hash = "sha256:3a457ad9c0059a21a6c7d563c1f18e924f5cf90278c722bd50ede6f56b77c7fe"}, - {file = "debugpy-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:5d76a4fd028d8009c3faf1185b4b78ceb2273dd2499447664b03939e0368bb90"}, - {file = "debugpy-1.5.1-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:16db27b4b91991442f91d73604d32080b30de655aca9ba821b1972ea8171021b"}, - {file = "debugpy-1.5.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2b073ad5e8d8c488fbb6a116986858bab0c9c4558f28deb8832c7a5a27405bd6"}, - {file = "debugpy-1.5.1-cp36-cp36m-win32.whl", hash = "sha256:318f81f37341e4e054b4267d39896b73cddb3612ca13b39d7eea45af65165e1d"}, - {file = "debugpy-1.5.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b5b3157372e0e0a1297a8b6b5280bcf1d35a40f436c7973771c972726d1e32d5"}, - {file = "debugpy-1.5.1-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:1ec3a086e14bba6c472632025b8fe5bdfbaef2afa1ebd5c6615ce6ed8d89bc67"}, - {file = "debugpy-1.5.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:26fbe53cca45a608679094791ce587b6e2798acd1d4777a8b303b07622e85182"}, - {file = "debugpy-1.5.1-cp37-cp37m-win32.whl", hash = "sha256:d876db8c312eeb02d85611e0f696abe66a2c1515e6405943609e725d5ff36f2a"}, - {file = "debugpy-1.5.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4404a62fb5332ea5c8c9132290eef50b3a0ba38cecacad5529e969a783bcbdd7"}, - {file = "debugpy-1.5.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:f3a3dca9104aa14fd4210edcce6d9ce2b65bd9618c0b222135a40b9d6e2a9eeb"}, - {file = "debugpy-1.5.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2df2c373e85871086bd55271c929670cd4e1dba63e94a08d442db830646203b"}, - {file = "debugpy-1.5.1-cp38-cp38-win32.whl", hash = "sha256:82f5f9ce93af6861a0713f804e62ab390bb12a17f113153e47fea8bbb1dfbe36"}, - {file = "debugpy-1.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:17a25ce9d7714f92fc97ef00cc06269d7c2b163094990ada30156ed31d9a5030"}, - {file = "debugpy-1.5.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:01e98c594b3e66d529e40edf314f849cd1a21f7a013298df58cd8e263bf8e184"}, - {file = "debugpy-1.5.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f73988422b17f071ad3c4383551ace1ba5ed810cbab5f9c362783d22d40a08dc"}, - {file = "debugpy-1.5.1-cp39-cp39-win32.whl", hash = "sha256:23df67fc56d59e386c342428a7953c2c06cc226d8525b11319153e96afb65b0c"}, - {file = "debugpy-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:a2aa64f6d2ca7ded8a7e8a4e7cae3bc71866b09876b7b05cecad231779cb9156"}, - {file = "debugpy-1.5.1-py2.py3-none-any.whl", hash = "sha256:194f95dd3e84568b5489aab5689a3a2c044e8fdc06f1890b8b4f70b6b89f2778"}, - {file = "debugpy-1.5.1.zip", hash = "sha256:d2b09e91fbd1efa4f4fda121d49af89501beda50c18ed7499712c71a4bf3452e"}, +python-versions = ">=3.8" +files = [ + {file = "debugpy-1.8.7-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:95fe04a573b8b22896c404365e03f4eda0ce0ba135b7667a1e57bd079793b96b"}, + {file = "debugpy-1.8.7-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:628a11f4b295ffb4141d8242a9bb52b77ad4a63a2ad19217a93be0f77f2c28c9"}, + {file = "debugpy-1.8.7-cp310-cp310-win32.whl", hash = "sha256:85ce9c1d0eebf622f86cc68618ad64bf66c4fc3197d88f74bb695a416837dd55"}, + {file = "debugpy-1.8.7-cp310-cp310-win_amd64.whl", hash = "sha256:29e1571c276d643757ea126d014abda081eb5ea4c851628b33de0c2b6245b037"}, + {file = "debugpy-1.8.7-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:caf528ff9e7308b74a1749c183d6808ffbedbb9fb6af78b033c28974d9b8831f"}, + {file = "debugpy-1.8.7-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cba1d078cf2e1e0b8402e6bda528bf8fda7ccd158c3dba6c012b7897747c41a0"}, + {file = "debugpy-1.8.7-cp311-cp311-win32.whl", hash = "sha256:171899588bcd412151e593bd40d9907133a7622cd6ecdbdb75f89d1551df13c2"}, + {file = "debugpy-1.8.7-cp311-cp311-win_amd64.whl", hash = "sha256:6e1c4ffb0c79f66e89dfd97944f335880f0d50ad29525dc792785384923e2211"}, + {file = "debugpy-1.8.7-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:4d27d842311353ede0ad572600c62e4bcd74f458ee01ab0dd3a1a4457e7e3706"}, + {file = "debugpy-1.8.7-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:703c1fd62ae0356e194f3e7b7a92acd931f71fe81c4b3be2c17a7b8a4b546ec2"}, + {file = "debugpy-1.8.7-cp312-cp312-win32.whl", hash = "sha256:2f729228430ef191c1e4df72a75ac94e9bf77413ce5f3f900018712c9da0aaca"}, + {file = "debugpy-1.8.7-cp312-cp312-win_amd64.whl", hash = "sha256:45c30aaefb3e1975e8a0258f5bbd26cd40cde9bfe71e9e5a7ac82e79bad64e39"}, + {file = "debugpy-1.8.7-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:d050a1ec7e925f514f0f6594a1e522580317da31fbda1af71d1530d6ea1f2b40"}, + {file = "debugpy-1.8.7-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2f4349a28e3228a42958f8ddaa6333d6f8282d5edaea456070e48609c5983b7"}, + {file = "debugpy-1.8.7-cp313-cp313-win32.whl", hash = "sha256:11ad72eb9ddb436afb8337891a986302e14944f0f755fd94e90d0d71e9100bba"}, + {file = "debugpy-1.8.7-cp313-cp313-win_amd64.whl", hash = "sha256:2efb84d6789352d7950b03d7f866e6d180284bc02c7e12cb37b489b7083d81aa"}, + {file = "debugpy-1.8.7-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:4b908291a1d051ef3331484de8e959ef3e66f12b5e610c203b5b75d2725613a7"}, + {file = "debugpy-1.8.7-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da8df5b89a41f1fd31503b179d0a84a5fdb752dddd5b5388dbd1ae23cda31ce9"}, + {file = "debugpy-1.8.7-cp38-cp38-win32.whl", hash = "sha256:b12515e04720e9e5c2216cc7086d0edadf25d7ab7e3564ec8b4521cf111b4f8c"}, + {file = "debugpy-1.8.7-cp38-cp38-win_amd64.whl", hash = "sha256:93176e7672551cb5281577cdb62c63aadc87ec036f0c6a486f0ded337c504596"}, + {file = "debugpy-1.8.7-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:90d93e4f2db442f8222dec5ec55ccfc8005821028982f1968ebf551d32b28907"}, + {file = "debugpy-1.8.7-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6db2a370e2700557a976eaadb16243ec9c91bd46f1b3bb15376d7aaa7632c81"}, + {file = "debugpy-1.8.7-cp39-cp39-win32.whl", hash = "sha256:a6cf2510740e0c0b4a40330640e4b454f928c7b99b0c9dbf48b11efba08a8cda"}, + {file = "debugpy-1.8.7-cp39-cp39-win_amd64.whl", hash = "sha256:6a9d9d6d31846d8e34f52987ee0f1a904c7baa4912bf4843ab39dadf9b8f3e0d"}, + {file = "debugpy-1.8.7-py2.py3-none-any.whl", hash = "sha256:57b00de1c8d2c84a61b90880f7e5b6deaf4c312ecbde3a0e8912f2a56c4ac9ae"}, + {file = "debugpy-1.8.7.zip", hash = "sha256:18b8f731ed3e2e1df8e9cdaa23fb1fc9c24e570cd0081625308ec51c82efe42e"}, ] [[package]] @@ -696,13 +826,13 @@ files = [ [[package]] name = "decoy" -version = "2.1.0" +version = "2.1.1" description = "Opinionated mocking library for Python" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "decoy-2.1.0-py3-none-any.whl", hash = "sha256:f1823fbb85e2cd602bc3eb386fd1b6be1a293ea7dc3324f6ccf7af56b3b127d6"}, - {file = "decoy-2.1.0.tar.gz", hash = "sha256:c6a6c09d158bc77de693332f40c4992b61f0a9dcd72631033f161ee570ee2d88"}, + {file = "decoy-2.1.1-py3-none-any.whl", hash = "sha256:7ddcc08b8ce991f7705cee76fae9061dcb17352e0a1ca2d9a0d4a0306ebd51cd"}, + {file = "decoy-2.1.1.tar.gz", hash = "sha256:575bdbe81afb4c152cd99a34568a9aa4369461f79d6172c678279c5d5585befe"}, ] [[package]] @@ -718,27 +848,28 @@ files = [ [[package]] name = "dill" -version = "0.3.5.1" -description = "serialize all of python" +version = "0.3.8" +description = "serialize all of Python" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +python-versions = ">=3.8" files = [ - {file = "dill-0.3.5.1-py2.py3-none-any.whl", hash = "sha256:33501d03270bbe410c72639b350e941882a8b0fd55357580fbc873fba0c59302"}, - {file = "dill-0.3.5.1.tar.gz", hash = "sha256:d75e41f3eff1eee599d738e76ba8f4ad98ea229db8b085318aa2b3333a208c86"}, + {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, + {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, ] [package.extras] graph = ["objgraph (>=1.7.2)"] +profile = ["gprof2dot (>=2022.7.29)"] [[package]] name = "dynaconf" -version = "3.2.5" +version = "3.2.6" description = "The dynamic configurator for your Python Project" optional = false python-versions = ">=3.8" files = [ - {file = "dynaconf-3.2.5-py2.py3-none-any.whl", hash = "sha256:12202fc26546851c05d4194c80bee00197e7c2febcb026e502b0863be9cbbdd8"}, - {file = "dynaconf-3.2.5.tar.gz", hash = "sha256:42c8d936b32332c4b84e4d4df6dd1626b6ef59c5a94eb60c10cd3c59d6b882f2"}, + {file = "dynaconf-3.2.6-py2.py3-none-any.whl", hash = "sha256:3911c740d717df4576ed55f616c7cbad6e06bc8ef23ffca444b6e2a12fb1c34c"}, + {file = "dynaconf-3.2.6.tar.gz", hash = "sha256:74cc1897396380bb957730eb341cc0976ee9c38bbcb53d3307c50caed0aedfb8"}, ] [package.extras] @@ -752,39 +883,42 @@ vault = ["hvac"] yaml = ["ruamel.yaml"] [[package]] -name = "entrypoints" -version = "0.3" -description = "Discover and load entry points from installed packages." +name = "exceptiongroup" +version = "1.2.2" +description = "Backport of PEP 654 (exception groups)" optional = false -python-versions = ">=2.7" +python-versions = ">=3.7" files = [ - {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"}, - {file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"}, + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, ] +[package.extras] +test = ["pytest (>=6)"] + [[package]] -name = "exceptiongroup" -version = "1.1.3" -description = "Backport of PEP 654 (exception groups)" +name = "executing" +version = "2.1.0" +description = "Get the currently executing AST node of a frame, and other information" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, - {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, + {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, + {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, ] [package.extras] -test = ["pytest (>=6)"] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] [[package]] name = "fastjsonschema" -version = "2.16.2" +version = "2.20.0" description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" files = [ - {file = "fastjsonschema-2.16.2-py3-none-any.whl", hash = "sha256:21f918e8d9a1a4ba9c22e09574ba72267a6762d47822db9add95f6454e51cc1c"}, - {file = "fastjsonschema-2.16.2.tar.gz", hash = "sha256:01e366f25d9047816fe3d288cbfc3e10541daf0af2044763f3d0ade42476da18"}, + {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"}, + {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"}, ] [package.extras] @@ -792,127 +926,156 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "filelock" -version = "3.8.0" +version = "3.16.1" description = "A platform independent file lock." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "filelock-3.8.0-py3-none-any.whl", hash = "sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4"}, - {file = "filelock-3.8.0.tar.gz", hash = "sha256:55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc"}, + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, ] [package.extras] -docs = ["furo (>=2022.6.21)", "sphinx (>=5.1.1)", "sphinx-autodoc-typehints (>=1.19.1)"] -testing = ["covdefaults (>=2.2)", "coverage (>=6.4.2)", "pytest (>=7.1.2)", "pytest-cov (>=3)", "pytest-timeout (>=2.1)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] +typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "flake8" -version = "7.0.0" +version = "7.1.1" description = "the modular source code checker: pep8 pyflakes and co" optional = false python-versions = ">=3.8.1" files = [ - {file = "flake8-7.0.0-py2.py3-none-any.whl", hash = "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3"}, - {file = "flake8-7.0.0.tar.gz", hash = "sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132"}, + {file = "flake8-7.1.1-py2.py3-none-any.whl", hash = "sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213"}, + {file = "flake8-7.1.1.tar.gz", hash = "sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38"}, ] [package.dependencies] mccabe = ">=0.7.0,<0.8.0" -pycodestyle = ">=2.11.0,<2.12.0" +pycodestyle = ">=2.12.0,<2.13.0" pyflakes = ">=3.2.0,<3.3.0" +[[package]] +name = "fqdn" +version = "1.5.1" +description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" +optional = false +python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" +files = [ + {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, + {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, +] + [[package]] name = "frozenlist" -version = "1.4.0" +version = "1.4.1" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false python-versions = ">=3.8" files = [ - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, - {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, - {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, - {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, - {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, - {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, - {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, - {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, - {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, - {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, + {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, + {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, + {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, + {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, + {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, + {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, + {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, + {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, + {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, + {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, + {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, + {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, ] [[package]] name = "fsspec" -version = "2022.8.2" +version = "2024.6.1" description = "File-system specification" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "fsspec-2022.8.2-py3-none-any.whl", hash = "sha256:6374804a2c0d24f225a67d009ee1eabb4046ad00c793c3f6df97e426c890a1d9"}, - {file = "fsspec-2022.8.2.tar.gz", hash = "sha256:7f12b90964a98a7e921d27fb36be536ea036b73bf3b724ac0b0bd7b8e39c7c18"}, + {file = "fsspec-2024.6.1-py3-none-any.whl", hash = "sha256:3cb443f8bcd2efb31295a5b9fdb02aee81d8452c80d28f97a6d0959e6cee101e"}, + {file = "fsspec-2024.6.1.tar.gz", hash = "sha256:fad7d7e209dd4c1208e3bbfda706620e0da5142bebbd9c384afb95b07e798e49"}, ] [package.dependencies] aiohttp = {version = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1", optional = true, markers = "extra == \"http\""} -requests = {version = "*", optional = true, markers = "extra == \"http\""} [package.extras] abfs = ["adlfs"] adl = ["adlfs"] arrow = ["pyarrow (>=1)"] dask = ["dask", "distributed"] +dev = ["pre-commit", "ruff"] +doc = ["numpydoc", "sphinx", "sphinx-design", "sphinx-rtd-theme", "yarl"] dropbox = ["dropbox", "dropboxdrivefs", "requests"] -entrypoints = ["importlib-metadata"] +full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"] fuse = ["fusepy"] gcs = ["gcsfs"] git = ["pygit2"] @@ -920,13 +1083,16 @@ github = ["requests"] gs = ["gcsfs"] gui = ["panel"] hdfs = ["pyarrow (>=1)"] -http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "requests"] +http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)"] libarchive = ["libarchive-c"] oci = ["ocifs"] s3 = ["s3fs"] sftp = ["paramiko"] smb = ["smbprotocol"] ssh = ["paramiko"] +test = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "numpy", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "requests"] +test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe,test]", "moto[server] (>4,<5)", "pytest-timeout", "xarray"] +test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] tqdm = ["tqdm"] [[package]] @@ -944,20 +1110,77 @@ files = [ orderedmultidict = ">=1.0.1" six = ">=1.8.0" +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + +[[package]] +name = "httpcore" +version = "1.0.6" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpcore-1.0.6-py3-none-any.whl", hash = "sha256:27b59625743b85577a8c0e10e55b50b5368a4f2cfe8cc7bcfa9cf00829c2682f"}, + {file = "httpcore-1.0.6.tar.gz", hash = "sha256:73f6dbd6eb8c21bbf7ef8efad555481853f5f6acdeaff1edb0694289269ee17f"}, +] + +[package.dependencies] +certifi = "*" +h11 = ">=0.13,<0.15" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<1.0)"] + +[[package]] +name = "httpx" +version = "0.27.2" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0"}, + {file = "httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2"}, +] + +[package.dependencies] +anyio = "*" +certifi = "*" +httpcore = "==1.*" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +zstd = ["zstandard (>=0.18.0)"] + [[package]] name = "huggingface-hub" -version = "0.17.3" +version = "0.25.2" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" optional = false python-versions = ">=3.8.0" files = [ - {file = "huggingface_hub-0.17.3-py3-none-any.whl", hash = "sha256:545eb3665f6ac587add946e73984148f2ea5c7877eac2e845549730570c1933a"}, - {file = "huggingface_hub-0.17.3.tar.gz", hash = "sha256:40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd"}, + {file = "huggingface_hub-0.25.2-py3-none-any.whl", hash = "sha256:1897caf88ce7f97fe0110603d8f66ac264e3ba6accdf30cd66cc0fed5282ad25"}, + {file = "huggingface_hub-0.25.2.tar.gz", hash = "sha256:a1014ea111a5f40ccd23f7f7ba8ac46e20fa3b658ced1f86a00c75c06ec6423c"}, ] [package.dependencies] filelock = "*" -fsspec = "*" +fsspec = ">=2023.5.0" packaging = ">=20.9" pyyaml = ">=5.1" requests = "*" @@ -965,213 +1188,214 @@ tqdm = ">=4.42.1" typing-extensions = ">=3.7.4.3" [package.extras] -all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "black (==23.7)", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)"] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] cli = ["InquirerPy (==0.3.4)"] -dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "black (==23.7)", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)"] -docs = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "black (==23.7)", "gradio", "hf-doc-builder", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)", "watchdog"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "mypy (==1.5.1)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "ruff (>=0.5.0)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)", "urllib3 (<2.0)"] fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] -inference = ["aiohttp", "pydantic (<2.0)"] -quality = ["black (==23.7)", "mypy (==1.5.1)", "ruff (>=0.0.241)"] +hf-transfer = ["hf-transfer (>=0.1.4)"] +inference = ["aiohttp", "minijinja (>=1.0)"] +quality = ["mypy (==1.5.1)", "ruff (>=0.5.0)"] tensorflow = ["graphviz", "pydot", "tensorflow"] -testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] -torch = ["torch"] -typing = ["pydantic (<2.0)", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3"] +tensorflow-testing = ["keras (<3.0)", "tensorflow"] +testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gradio", "jedi", "minijinja (>=1.0)", "numpy", "pytest (>=8.1.1,<8.2.2)", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-mock", "pytest-rerunfailures", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] +torch = ["safetensors[torch]", "torch"] +typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] [[package]] name = "idna" -version = "3.3" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.5" -files = [ - {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, - {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, -] - -[[package]] -name = "importlib-metadata" -version = "4.6.4" -description = "Read metadata from Python packages" -optional = false python-versions = ">=3.6" files = [ - {file = "importlib_metadata-4.6.4-py3-none-any.whl", hash = "sha256:ed5157fef23a4bc4594615a0dd8eba94b2bb36bf2a343fa3d8bb2fa0a62a99d5"}, - {file = "importlib_metadata-4.6.4.tar.gz", hash = "sha256:7b30a78db2922d78a6f47fb30683156a14f3c6aa5cc23f77cc8967e9ab2d002f"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] -[package.dependencies] -zipp = ">=0.5" - [package.extras] -docs = ["jaraco.packaging (>=8.2)", "rst.linker (>=1.9)", "sphinx"] -perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pep517", "pyfakefs", "pytest (>=4.6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-flake8", "pytest-mypy", "pytest-perf (>=0.9.2)"] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] [[package]] -name = "importlib-resources" -version = "5.7.1" -description = "Read resources from Python packages" +name = "importlib-metadata" +version = "8.5.0" +description = "Read metadata from Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "importlib_resources-5.7.1-py3-none-any.whl", hash = "sha256:e447dc01619b1e951286f3929be820029d48c75eb25d265c28b92a16548212b8"}, - {file = "importlib_resources-5.7.1.tar.gz", hash = "sha256:b6062987dfc51f0fcb809187cffbd60f35df7acb4589091f154214af6d0d49d3"}, + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] [package.dependencies] -zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} +zipp = ">=3.20" [package.extras] -docs = ["jaraco.packaging (>=9)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] [[package]] name = "iniconfig" -version = "1.1.1" -description = "iniconfig: brain-dead simple config-ini parsing" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, - {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] [[package]] name = "ipykernel" -version = "6.7.0" +version = "6.29.5" description = "IPython Kernel for Jupyter" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "ipykernel-6.7.0-py3-none-any.whl", hash = "sha256:6203ccd5510ff148e9433fd4a2707c5ce8d688f026427f46e13d7ebf9b3e9787"}, - {file = "ipykernel-6.7.0.tar.gz", hash = "sha256:d82b904fdc2fd8c7b1fbe0fa481c68a11b4cd4c8ef07e6517da1f10cc3114d24"}, + {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, + {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, ] [package.dependencies] appnope = {version = "*", markers = "platform_system == \"Darwin\""} -debugpy = ">=1.0.0,<2.0" +comm = ">=0.1.1" +debugpy = ">=1.6.5" ipython = ">=7.23.1" -jupyter-client = "<8.0" -matplotlib-inline = ">=0.1.0,<0.2.0" +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +matplotlib-inline = ">=0.1" nest-asyncio = "*" -tornado = ">=4.2,<7.0" -traitlets = ">=5.1.0,<6.0" +packaging = "*" +psutil = "*" +pyzmq = ">=24" +tornado = ">=6.1" +traitlets = ">=5.4.0" [package.extras] -test = ["flaky", "ipyparallel", "pytest (!=5.3.4)", "pytest-cov"] +cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"] +pyqt5 = ["pyqt5"] +pyside6 = ["pyside6"] +test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.23.5)", "pytest-cov", "pytest-timeout"] [[package]] name = "ipython" -version = "7.31.1" +version = "8.18.1" description = "IPython: Productive Interactive Computing" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "ipython-7.31.1-py3-none-any.whl", hash = "sha256:55df3e0bd0f94e715abd968bedd89d4e8a7bce4bf498fb123fed4f5398fea874"}, - {file = "ipython-7.31.1.tar.gz", hash = "sha256:b5548ec5329a4bcf054a5deed5099b0f9622eb9ea51aaa7104d215fece201d8c"}, + {file = "ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397"}, + {file = "ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27"}, ] [package.dependencies] -appnope = {version = "*", markers = "sys_platform == \"darwin\""} -backcall = "*" colorama = {version = "*", markers = "sys_platform == \"win32\""} decorator = "*" +exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} jedi = ">=0.16" matplotlib-inline = "*" pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} -pickleshare = "*" -prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0" -pygments = "*" -setuptools = ">=18.5" -traitlets = ">=4.2" +prompt-toolkit = ">=3.0.41,<3.1.0" +pygments = ">=2.4.0" +stack-data = "*" +traitlets = ">=5" +typing-extensions = {version = "*", markers = "python_version < \"3.10\""} [package.extras] -all = ["Sphinx (>=1.3)", "ipykernel", "ipyparallel", "ipywidgets", "nbconvert", "nbformat", "nose (>=0.10.1)", "notebook", "numpy (>=1.17)", "pygments", "qtconsole", "requests", "testpath"] -doc = ["Sphinx (>=1.3)"] +all = ["black", "curio", "docrepr", "exceptiongroup", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"] +black = ["black"] +doc = ["docrepr", "exceptiongroup", "ipykernel", "matplotlib", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"] kernel = ["ipykernel"] nbconvert = ["nbconvert"] nbformat = ["nbformat"] notebook = ["ipywidgets", "notebook"] parallel = ["ipyparallel"] qtconsole = ["qtconsole"] -test = ["ipykernel", "nbformat", "nose (>=0.10.1)", "numpy (>=1.17)", "pygments", "requests", "testpath"] - -[[package]] -name = "ipython-genutils" -version = "0.2.0" -description = "Vestigial utilities from IPython" -optional = false -python-versions = "*" -files = [ - {file = "ipython_genutils-0.2.0-py2.py3-none-any.whl", hash = "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"}, - {file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"}, -] +test = ["pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath"] +test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath", "trio"] [[package]] name = "ipywidgets" -version = "8.0.4" +version = "8.1.5" description = "Jupyter interactive widgets" optional = false python-versions = ">=3.7" files = [ - {file = "ipywidgets-8.0.4-py3-none-any.whl", hash = "sha256:ebb195e743b16c3947fe8827190fb87b4d00979c0fbf685afe4d2c4927059fa1"}, - {file = "ipywidgets-8.0.4.tar.gz", hash = "sha256:c0005a77a47d77889cafed892b58e33b4a2a96712154404c6548ec22272811ea"}, + {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, + {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, ] [package.dependencies] -ipykernel = ">=4.5.1" +comm = ">=0.1.3" ipython = ">=6.1.0" -jupyterlab-widgets = ">=3.0,<4.0" +jupyterlab-widgets = ">=3.0.12,<3.1.0" traitlets = ">=4.3.1" -widgetsnbextension = ">=4.0,<5.0" +widgetsnbextension = ">=4.0.12,<4.1.0" [package.extras] -test = ["jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] +test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] + +[[package]] +name = "isoduration" +version = "20.11.0" +description = "Operations with ISO 8601 durations" +optional = false +python-versions = ">=3.7" +files = [ + {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, + {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, +] + +[package.dependencies] +arrow = ">=0.15.0" [[package]] name = "isort" -version = "5.9.3" +version = "5.13.2" description = "A Python utility / library to sort Python imports." optional = false -python-versions = ">=3.6.1,<4.0" +python-versions = ">=3.8.0" files = [ - {file = "isort-5.9.3-py3-none-any.whl", hash = "sha256:e17d6e2b81095c9db0a03a8025a957f334d6ea30b26f9ec70805411e5c7c81f2"}, - {file = "isort-5.9.3.tar.gz", hash = "sha256:9c2ea1e62d871267b78307fe511c0838ba0da28698c5732d54e2790bf3ba9899"}, + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, ] [package.extras] -colors = ["colorama (>=0.4.3,<0.5.0)"] -pipfile-deprecated-finder = ["pipreqs", "requirementslib"] -plugins = ["setuptools"] -requirements-deprecated-finder = ["pip-api", "pipreqs"] +colors = ["colorama (>=0.4.6)"] [[package]] name = "jedi" -version = "0.18.1" +version = "0.19.1" description = "An autocompletion tool for Python that can be used for text editors." optional = false python-versions = ">=3.6" files = [ - {file = "jedi-0.18.1-py2.py3-none-any.whl", hash = "sha256:637c9635fcf47945ceb91cd7f320234a7be540ded6f3e99a50cb6febdfd1ba8d"}, - {file = "jedi-0.18.1.tar.gz", hash = "sha256:74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab"}, + {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, + {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, ] [package.dependencies] -parso = ">=0.8.0,<0.9.0" +parso = ">=0.8.3,<0.9.0" [package.extras] -qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] -testing = ["Django (<3.1)", "colorama", "docopt", "pytest (<7.0.0)"] +docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] @@ -1193,251 +1417,437 @@ files = [ [[package]] name = "joblib" -version = "1.2.0" +version = "1.4.2" description = "Lightweight pipelining with Python functions" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "joblib-1.2.0-py3-none-any.whl", hash = "sha256:091138ed78f800342968c523bdde947e7a305b8594b910a0fea2ab83c3c6d385"}, - {file = "joblib-1.2.0.tar.gz", hash = "sha256:e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018"}, + {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, + {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, ] [[package]] name = "json-stream" -version = "1.3.0" -description = "Streaming JSON decoder" +version = "1.5.2" +description = "Streaming JSON encoder and decoder" optional = false python-versions = "<4,>=3.5" files = [ - {file = "json-stream-1.3.0.tar.gz", hash = "sha256:2790c16bccde6a77640c85e911a44de9c9de648206d9a4474b9ce398cfc7d14c"}, - {file = "json_stream-1.3.0-py3-none-any.whl", hash = "sha256:bbb8bc29eed00d53d245224c893831c995bedc18b15fea08ed00c0cb485913ef"}, + {file = "json-stream-1.5.2.tar.gz", hash = "sha256:e6f895d48190b539c431e3d8623ed868bee6d0005d5b213be6ee26256ef20ebc"}, + {file = "json_stream-1.5.2-py3-none-any.whl", hash = "sha256:e0363e887770e879f438c151c56f2d12fda674e92bbf1b5c184d84723deee631"}, ] [package.extras] requests = ["requests"] +[[package]] +name = "json5" +version = "0.9.25" +description = "A Python implementation of the JSON5 data format." +optional = false +python-versions = ">=3.8" +files = [ + {file = "json5-0.9.25-py3-none-any.whl", hash = "sha256:34ed7d834b1341a86987ed52f3f76cd8ee184394906b6e22a1e0deb9ab294e8f"}, + {file = "json5-0.9.25.tar.gz", hash = "sha256:548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae"}, +] + +[[package]] +name = "jsonpointer" +version = "3.0.0" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, + {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, +] + [[package]] name = "jsonschema" -version = "4.6.0" +version = "4.23.0" description = "An implementation of JSON Schema validation for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "jsonschema-4.6.0-py3-none-any.whl", hash = "sha256:1c92d2db1900b668201f1797887d66453ab1fbfea51df8e4b46236689c427baf"}, - {file = "jsonschema-4.6.0.tar.gz", hash = "sha256:9d6397ba4a6c0bf0300736057f649e3e12ecbc07d3e81a0dacb72de4e9801957"}, + {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, + {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, ] [package.dependencies] -attrs = ">=17.4.0" -importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} -pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" +attrs = ">=22.2.0" +fqdn = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +idna = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +isoduration = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format-nongpl\""} +jsonschema-specifications = ">=2023.03.6" +referencing = ">=0.28.4" +rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""} +rpds-py = ">=0.7.1" +uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +webcolors = {version = ">=24.6.0", optional = true, markers = "extra == \"format-nongpl\""} [package.extras] format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] -format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] + +[[package]] +name = "jsonschema-specifications" +version = "2024.10.1" +description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +optional = false +python-versions = ">=3.9" +files = [ + {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"}, + {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"}, +] + +[package.dependencies] +referencing = ">=0.31.0" [[package]] name = "jupyter" -version = "1.0.0" +version = "1.1.1" description = "Jupyter metapackage. Install all the Jupyter components in one go." optional = false python-versions = "*" files = [ - {file = "jupyter-1.0.0-py2.py3-none-any.whl", hash = "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78"}, - {file = "jupyter-1.0.0.tar.gz", hash = "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f"}, - {file = "jupyter-1.0.0.zip", hash = "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7"}, + {file = "jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83"}, + {file = "jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a"}, ] [package.dependencies] ipykernel = "*" ipywidgets = "*" jupyter-console = "*" +jupyterlab = "*" nbconvert = "*" notebook = "*" -qtconsole = "*" [[package]] name = "jupyter-client" -version = "7.1.1" +version = "8.6.3" description = "Jupyter protocol implementation and client libraries" optional = false -python-versions = ">=3.6.1" +python-versions = ">=3.8" files = [ - {file = "jupyter_client-7.1.1-py3-none-any.whl", hash = "sha256:f0c576cce235c727e30b0a0da88c2755d0947d0070fa1bc45f195079ffd64e66"}, - {file = "jupyter_client-7.1.1.tar.gz", hash = "sha256:540ca35e57e83c5ece81abd9b781a57cba39a37c60a2a30c8c1b2f6663544343"}, + {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, + {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, ] [package.dependencies] -entrypoints = "*" -jupyter-core = ">=4.6.0" -nest-asyncio = ">=1.5" -python-dateutil = ">=2.1" -pyzmq = ">=13" -tornado = ">=4.1" -traitlets = "*" +importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +python-dateutil = ">=2.8.2" +pyzmq = ">=23.0" +tornado = ">=6.2" +traitlets = ">=5.3" [package.extras] -doc = ["myst-parser", "sphinx (>=1.3.6)", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] -test = ["codecov", "coverage", "ipykernel", "ipython", "jedi (<0.18)", "mock", "mypy", "pre-commit", "pytest", "pytest-asyncio", "pytest-cov", "pytest-timeout"] +docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] [[package]] name = "jupyter-console" -version = "6.4.4" +version = "6.6.3" description = "Jupyter terminal console" optional = false python-versions = ">=3.7" files = [ - {file = "jupyter_console-6.4.4-py3-none-any.whl", hash = "sha256:756df7f4f60c986e7bc0172e4493d3830a7e6e75c08750bbe59c0a5403ad6dee"}, - {file = "jupyter_console-6.4.4.tar.gz", hash = "sha256:172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb"}, + {file = "jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485"}, + {file = "jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539"}, ] [package.dependencies] -ipykernel = "*" +ipykernel = ">=6.14" ipython = "*" jupyter-client = ">=7.0.0" -prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +prompt-toolkit = ">=3.0.30" pygments = "*" +pyzmq = ">=17" +traitlets = ">=5.4" [package.extras] -test = ["pexpect"] +test = ["flaky", "pexpect", "pytest"] [[package]] name = "jupyter-core" -version = "4.9.1" +version = "5.7.2" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "jupyter_core-4.9.1-py3-none-any.whl", hash = "sha256:1c091f3bbefd6f2a8782f2c1db662ca8478ac240e962ae2c66f0b87c818154ea"}, - {file = "jupyter_core-4.9.1.tar.gz", hash = "sha256:dce8a7499da5a53ae3afd5a9f4b02e5df1d57250cf48f3ad79da23b4778cd6fa"}, + {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, + {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, ] [package.dependencies] -pywin32 = {version = ">=1.0", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} -traitlets = "*" +platformdirs = ">=2.5" +pywin32 = {version = ">=300", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} +traitlets = ">=5.3" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] +test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "jupyter-events" +version = "0.10.0" +description = "Jupyter Event System library" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, + {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, +] + +[package.dependencies] +jsonschema = {version = ">=4.18.0", extras = ["format-nongpl"]} +python-json-logger = ">=2.0.4" +pyyaml = ">=5.3" +referencing = "*" +rfc3339-validator = "*" +rfc3986-validator = ">=0.1.1" +traitlets = ">=5.3" + +[package.extras] +cli = ["click", "rich"] +docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"] +test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "rich"] + +[[package]] +name = "jupyter-lsp" +version = "2.2.5" +description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"}, + {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"}, +] + +[package.dependencies] +importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} +jupyter-server = ">=1.1.2" [[package]] name = "jupyter-server" -version = "1.23.4" +version = "2.14.2" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "jupyter_server-1.23.4-py3-none-any.whl", hash = "sha256:aa3398aeb5249d470ea53abcf81fca8a6876bb9dbdc652822e5bbbb0574a6e83"}, - {file = "jupyter_server-1.23.4.tar.gz", hash = "sha256:4ee4f311bd944bcf8060a8b746059571c40f6b8ada1d1e6e51239d26ab23b15c"}, + {file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"}, + {file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"}, ] [package.dependencies] -anyio = ">=3.1.0,<4" -argon2-cffi = "*" -jinja2 = "*" -jupyter-client = ">=6.1.12" -jupyter-core = ">=4.7.0" +anyio = ">=3.1.0" +argon2-cffi = ">=21.1" +jinja2 = ">=3.0.3" +jupyter-client = ">=7.4.4" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-events = ">=0.9.0" +jupyter-server-terminals = ">=0.4.4" nbconvert = ">=6.4.4" -nbformat = ">=5.2.0" -packaging = "*" -prometheus-client = "*" -pywinpty = {version = "*", markers = "os_name == \"nt\""} -pyzmq = ">=17" -Send2Trash = "*" +nbformat = ">=5.3.0" +overrides = ">=5.0" +packaging = ">=22.0" +prometheus-client = ">=0.9" +pywinpty = {version = ">=2.0.1", markers = "os_name == \"nt\""} +pyzmq = ">=24" +send2trash = ">=1.8.2" terminado = ">=0.8.3" -tornado = ">=6.1.0" -traitlets = ">=5.1" -websocket-client = "*" +tornado = ">=6.2.0" +traitlets = ">=5.6.0" +websocket-client = ">=1.7" [package.extras] -test = ["coverage", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-scripts", "pytest-cov", "pytest-mock", "pytest-timeout", "pytest-tornasync", "requests"] +docs = ["ipykernel", "jinja2", "jupyter-client", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi (>=0.8.0)", "sphinxcontrib-spelling", "sphinxemoji", "tornado", "typing-extensions"] +test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0,<9)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.7)", "pytest-timeout", "requests"] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.3" +description = "A Jupyter Server Extension Providing Terminals." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, + {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, +] + +[package.dependencies] +pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""} +terminado = ">=0.8.3" + +[package.extras] +docs = ["jinja2", "jupyter-server", "mistune (<4.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] +test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] + +[[package]] +name = "jupyterlab" +version = "4.2.5" +description = "JupyterLab computational environment" +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab-4.2.5-py3-none-any.whl", hash = "sha256:73b6e0775d41a9fee7ee756c80f58a6bed4040869ccc21411dc559818874d321"}, + {file = "jupyterlab-4.2.5.tar.gz", hash = "sha256:ae7f3a1b8cb88b4f55009ce79fa7c06f99d70cd63601ee4aa91815d054f46f75"}, +] + +[package.dependencies] +async-lru = ">=1.0.0" +httpx = ">=0.25.0" +importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} +ipykernel = ">=6.5.0" +jinja2 = ">=3.0.3" +jupyter-core = "*" +jupyter-lsp = ">=2.0.0" +jupyter-server = ">=2.4.0,<3" +jupyterlab-server = ">=2.27.1,<3" +notebook-shim = ">=0.2" +packaging = "*" +setuptools = ">=40.1.0" +tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""} +tornado = ">=6.2.0" +traitlets = "*" + +[package.extras] +dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.3.5)"] +docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<7.3.0)", "sphinx-copybutton"] +docs-screenshots = ["altair (==5.3.0)", "ipython (==8.16.1)", "ipywidgets (==8.1.2)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.1.post2)", "matplotlib (==3.8.3)", "nbconvert (>=7.0.0)", "pandas (==2.2.1)", "scipy (==1.12.0)", "vega-datasets (==0.9.0)"] +test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] +upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)", "pyyaml-include (<3.0)", "tomli-w (<2.0)"] [[package]] name = "jupyterlab-pygments" -version = "0.2.2" +version = "0.3.0" description = "Pygments theme using JupyterLab CSS variables" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "jupyterlab_pygments-0.2.2-py2.py3-none-any.whl", hash = "sha256:2405800db07c9f770863bcf8049a529c3dd4d3e28536638bd7c1c01d2748309f"}, - {file = "jupyterlab_pygments-0.2.2.tar.gz", hash = "sha256:7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d"}, + {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, + {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, ] +[[package]] +name = "jupyterlab-server" +version = "2.27.3" +description = "A set of server components for JupyterLab and JupyterLab like applications." +optional = false +python-versions = ">=3.8" +files = [ + {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"}, + {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"}, +] + +[package.dependencies] +babel = ">=2.10" +importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} +jinja2 = ">=3.0.3" +json5 = ">=0.9.0" +jsonschema = ">=4.18.0" +jupyter-server = ">=1.21,<3" +packaging = ">=21.3" +requests = ">=2.31" + +[package.extras] +docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"] +openapi = ["openapi-core (>=0.18.0,<0.19.0)", "ruamel-yaml"] +test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.8.0)", "pytest (>=7.0,<8)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] + [[package]] name = "jupyterlab-widgets" -version = "3.0.5" +version = "3.0.13" description = "Jupyter interactive widgets for JupyterLab" optional = false python-versions = ">=3.7" files = [ - {file = "jupyterlab_widgets-3.0.5-py3-none-any.whl", hash = "sha256:a04a42e50231b355b7087e16a818f541e53589f7647144ea0344c4bf16f300e5"}, - {file = "jupyterlab_widgets-3.0.5.tar.gz", hash = "sha256:eeaecdeaf6c03afc960ddae201ced88d5979b4ca9c3891bcb8f6631af705f5ef"}, + {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, + {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, ] [[package]] name = "markupsafe" -version = "2.1.2" +version = "3.0.1" description = "Safely add untrusted strings to HTML/XML markup." optional = false -python-versions = ">=3.7" -files = [ - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"}, - {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, +python-versions = ">=3.9" +files = [ + {file = "MarkupSafe-3.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:db842712984e91707437461930e6011e60b39136c7331e971952bb30465bc1a1"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3ffb4a8e7d46ed96ae48805746755fadd0909fea2306f93d5d8233ba23dda12a"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67c519635a4f64e495c50e3107d9b4075aec33634272b5db1cde839e07367589"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48488d999ed50ba8d38c581d67e496f955821dc183883550a6fbc7f1aefdc170"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f31ae06f1328595d762c9a2bf29dafd8621c7d3adc130cbb46278079758779ca"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80fcbf3add8790caddfab6764bde258b5d09aefbe9169c183f88a7410f0f6dea"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3341c043c37d78cc5ae6e3e305e988532b072329639007fd408a476642a89fd6"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cb53e2a99df28eee3b5f4fea166020d3ef9116fdc5764bc5117486e6d1211b25"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-win32.whl", hash = "sha256:db15ce28e1e127a0013dfb8ac243a8e392db8c61eae113337536edb28bdc1f97"}, + {file = "MarkupSafe-3.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:4ffaaac913c3f7345579db4f33b0020db693f302ca5137f106060316761beea9"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:26627785a54a947f6d7336ce5963569b5d75614619e75193bdb4e06e21d447ad"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b954093679d5750495725ea6f88409946d69cfb25ea7b4c846eef5044194f583"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:973a371a55ce9ed333a3a0f8e0bcfae9e0d637711534bcb11e130af2ab9334e7"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:244dbe463d5fb6d7ce161301a03a6fe744dac9072328ba9fc82289238582697b"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d98e66a24497637dd31ccab090b34392dddb1f2f811c4b4cd80c230205c074a3"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ad91738f14eb8da0ff82f2acd0098b6257621410dcbd4df20aaa5b4233d75a50"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7044312a928a66a4c2a22644147bc61a199c1709712069a344a3fb5cfcf16915"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a4792d3b3a6dfafefdf8e937f14906a51bd27025a36f4b188728a73382231d91"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-win32.whl", hash = "sha256:fa7d686ed9883f3d664d39d5a8e74d3c5f63e603c2e3ff0abcba23eac6542635"}, + {file = "MarkupSafe-3.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:9ba25a71ebf05b9bb0e2ae99f8bc08a07ee8e98c612175087112656ca0f5c8bf"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8ae369e84466aa70f3154ee23c1451fda10a8ee1b63923ce76667e3077f2b0c4"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40f1e10d51c92859765522cbd79c5c8989f40f0419614bcdc5015e7b6bf97fc5"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a4cb365cb49b750bdb60b846b0c0bc49ed62e59a76635095a179d440540c346"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee3941769bd2522fe39222206f6dd97ae83c442a94c90f2b7a25d847d40f4729"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62fada2c942702ef8952754abfc1a9f7658a4d5460fabe95ac7ec2cbe0d02abc"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4c2d64fdba74ad16138300815cfdc6ab2f4647e23ced81f59e940d7d4a1469d9"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fb532dd9900381d2e8f48172ddc5a59db4c445a11b9fab40b3b786da40d3b56b"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0f84af7e813784feb4d5e4ff7db633aba6c8ca64a833f61d8e4eade234ef0c38"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-win32.whl", hash = "sha256:cbf445eb5628981a80f54087f9acdbf84f9b7d862756110d172993b9a5ae81aa"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:a10860e00ded1dd0a65b83e717af28845bb7bd16d8ace40fe5531491de76b79f"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e81c52638315ff4ac1b533d427f50bc0afc746deb949210bc85f05d4f15fd772"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:312387403cd40699ab91d50735ea7a507b788091c416dd007eac54434aee51da"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ae99f31f47d849758a687102afdd05bd3d3ff7dbab0a8f1587981b58a76152a"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c97ff7fedf56d86bae92fa0a646ce1a0ec7509a7578e1ed238731ba13aabcd1c"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7420ceda262dbb4b8d839a4ec63d61c261e4e77677ed7c66c99f4e7cb5030dd"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45d42d132cff577c92bfba536aefcfea7e26efb975bd455db4e6602f5c9f45e7"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c8817557d0de9349109acb38b9dd570b03cc5014e8aabf1cbddc6e81005becd"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a54c43d3ec4cf2a39f4387ad044221c66a376e58c0d0e971d47c475ba79c6b5"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-win32.whl", hash = "sha256:c91b394f7601438ff79a4b93d16be92f216adb57d813a78be4446fe0f6bc2d8c"}, + {file = "MarkupSafe-3.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:fe32482b37b4b00c7a52a07211b479653b7fe4f22b2e481b9a9b099d8a430f2f"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:17b2aea42a7280db02ac644db1d634ad47dcc96faf38ab304fe26ba2680d359a"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:852dc840f6d7c985603e60b5deaae1d89c56cb038b577f6b5b8c808c97580f1d"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0778de17cff1acaeccc3ff30cd99a3fd5c50fc58ad3d6c0e0c4c58092b859396"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:800100d45176652ded796134277ecb13640c1a537cad3b8b53da45aa96330453"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d06b24c686a34c86c8c1fba923181eae6b10565e4d80bdd7bc1c8e2f11247aa4"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:33d1c36b90e570ba7785dacd1faaf091203d9942bc036118fab8110a401eb1a8"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:beeebf760a9c1f4c07ef6a53465e8cfa776ea6a2021eda0d0417ec41043fe984"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bbde71a705f8e9e4c3e9e33db69341d040c827c7afa6789b14c6e16776074f5a"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-win32.whl", hash = "sha256:82b5dba6eb1bcc29cc305a18a3c5365d2af06ee71b123216416f7e20d2a84e5b"}, + {file = "MarkupSafe-3.0.1-cp313-cp313t-win_amd64.whl", hash = "sha256:730d86af59e0e43ce277bb83970530dd223bf7f2a838e086b50affa6ec5f9295"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4935dd7883f1d50e2ffecca0aa33dc1946a94c8f3fdafb8df5c330e48f71b132"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e9393357f19954248b00bed7c56f29a25c930593a77630c719653d51e7669c2a"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40621d60d0e58aa573b68ac5e2d6b20d44392878e0bfc159012a5787c4e35bc8"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f94190df587738280d544971500b9cafc9b950d32efcb1fba9ac10d84e6aa4e6"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6a387d61fe41cdf7ea95b38e9af11cfb1a63499af2759444b99185c4ab33f5b"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8ad4ad1429cd4f315f32ef263c1342166695fad76c100c5d979c45d5570ed58b"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e24bfe89c6ac4c31792793ad9f861b8f6dc4546ac6dc8f1c9083c7c4f2b335cd"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2a4b34a8d14649315c4bc26bbfa352663eb51d146e35eef231dd739d54a5430a"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-win32.whl", hash = "sha256:242d6860f1fd9191aef5fae22b51c5c19767f93fb9ead4d21924e0bcb17619d8"}, + {file = "MarkupSafe-3.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:93e8248d650e7e9d49e8251f883eed60ecbc0e8ffd6349e18550925e31bd029b"}, + {file = "markupsafe-3.0.1.tar.gz", hash = "sha256:3e683ee4f5d0fa2dde4db77ed8dd8a876686e3fc417655c2ece9a90576905344"}, ] [[package]] name = "matplotlib-inline" -version = "0.1.3" +version = "0.1.7" description = "Inline Matplotlib backend for Jupyter" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "matplotlib-inline-0.1.3.tar.gz", hash = "sha256:a04bfba22e0d1395479f866853ec1ee28eea1485c1d69a6faf00dc3e24ff34ee"}, - {file = "matplotlib_inline-0.1.3-py3-none-any.whl", hash = "sha256:aed605ba3b72462d64d475a21a9296f400a19c4f74a31b59103d2a99ffd5aa5c"}, + {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, + {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, ] [package.dependencies] @@ -1456,13 +1866,13 @@ files = [ [[package]] name = "mistune" -version = "2.0.5" -description = "A sane Markdown parser with useful plugins and renderers" +version = "3.0.2" +description = "A sane and fast Markdown parser with useful plugins and renderers" optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "mistune-2.0.5-py2.py3-none-any.whl", hash = "sha256:bad7f5d431886fcbaf5f758118ecff70d31f75231b34024a1341120340a65ce8"}, - {file = "mistune-2.0.5.tar.gz", hash = "sha256:0246113cb2492db875c6be56974a7c893333bf26cd92891c85f63151cee09d34"}, + {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, + {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, ] [[package]] @@ -1483,241 +1893,219 @@ gmpy = ["gmpy2 (>=2.1.0a4)"] tests = ["pytest (>=4.6)"] [[package]] -name = "multidict" -version = "6.0.4" -description = "multidict implementation" -optional = false -python-versions = ">=3.7" -files = [ - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, - {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, - {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, - {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, - {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, - {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, - {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, - {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, - {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, - {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, - {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, - {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, - {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, -] - -[[package]] -name = "multiprocess" -version = "0.70.13" -description = "better multiprocessing and multithreading in python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" -files = [ - {file = "multiprocess-0.70.13-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:b9a3be43ecee6776a9e7223af96914a0164f306affcf4624b213885172236b77"}, - {file = "multiprocess-0.70.13-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:7e6a689da3490412caa7b3e27c3385d8aaa49135f3a353ace94ca47e4c926d37"}, - {file = "multiprocess-0.70.13-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:17cb4229aa43e6973679d67c66a454cbf8b6b0d038425cba3220ea5a06d61b58"}, - {file = "multiprocess-0.70.13-cp27-cp27m-win32.whl", hash = "sha256:99bb68dd0d5b3d30fe104721bee26e4637667112d5951b51feb81479fd560876"}, - {file = "multiprocess-0.70.13-cp27-cp27m-win_amd64.whl", hash = "sha256:6cdde49defcb933062df382ebc9b5299beebcd157a98b3a65291c1c94a2edc41"}, - {file = "multiprocess-0.70.13-pp27-pypy_73-macosx_10_7_x86_64.whl", hash = "sha256:92003c247436f8699b7692e95346a238446710f078500eb364bc23bb0503dd4f"}, - {file = "multiprocess-0.70.13-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:3ec1c8015e19182bfa01b5887a9c25805c48df3c71863f48fe83803147cde5d6"}, - {file = "multiprocess-0.70.13-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b7415f61bddfffdade73396904551be8124a4a363322aa9c72d42e349c5fca39"}, - {file = "multiprocess-0.70.13-pp37-pypy37_pp73-manylinux_2_24_i686.whl", hash = "sha256:5436d1cd9f901f7ddc4f20b6fd0b462c87dcc00d941cc13eeb2401fc5bd00e42"}, - {file = "multiprocess-0.70.13-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:34e9703bd5b9fee5455c93a74e44dbabe55481c214d03be1e65f037be9d0c520"}, - {file = "multiprocess-0.70.13-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:af0a48440aa8f793d8bb100f20102c12f192de5a608638819a998f2cc59e1fcd"}, - {file = "multiprocess-0.70.13-pp38-pypy38_pp73-manylinux_2_24_i686.whl", hash = "sha256:c4a97216e8319039c69a266252cc68a392b96f9e67e3ed02ad88be9e6f2d2969"}, - {file = "multiprocess-0.70.13-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:48315eefe02c35dd7560da3fa8af66d9f4a61b9dc8f7c40801c5f972ab4604b1"}, - {file = "multiprocess-0.70.13-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5a6dca5f29f0224c855d0d5cad963476175cfc8de112d3eebe85914cb735f130"}, - {file = "multiprocess-0.70.13-pp39-pypy39_pp73-manylinux_2_24_i686.whl", hash = "sha256:5974bdad390ba466cc130288d2ef1048fdafedd01cf4641fc024f6088af70bfe"}, - {file = "multiprocess-0.70.13-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:01c1137d2f18d0cd262d0fdb7294b1fe9fc3e8dc8b126e506085434ae8eb3677"}, - {file = "multiprocess-0.70.13-py310-none-any.whl", hash = "sha256:0f4faf4811019efdb2f91db09240f893ee40cbfcb06978f3b8ed8c248e73babe"}, - {file = "multiprocess-0.70.13-py37-none-any.whl", hash = "sha256:62e556a0c31ec7176e28aa331663ac26c276ee3536b5e9bb5e850681e7a00f11"}, - {file = "multiprocess-0.70.13-py38-none-any.whl", hash = "sha256:7be9e320a41d2d0d0eddacfe693cfb07b4cb9c0d3d10007f4304255c15215778"}, - {file = "multiprocess-0.70.13-py39-none-any.whl", hash = "sha256:00ef48461d43d1e30f8f4b2e1b287ecaaffec325a37053beb5503e0d69e5a3cd"}, - {file = "multiprocess-0.70.13.tar.gz", hash = "sha256:2e096dd618a84d15aa369a9cf6695815e5539f853dc8fa4f4b9153b11b1d0b32"}, -] - -[package.dependencies] -dill = ">=0.3.5.1" - -[[package]] -name = "mypy-extensions" -version = "0.4.3" -description = "Experimental type system extensions for programs checked with the mypy typechecker." +name = "multidict" +version = "6.1.0" +description = "multidict implementation" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, - {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, + {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, + {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, + {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, + {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, + {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, + {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, + {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, + {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, + {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, + {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, + {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, + {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, + {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, + {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, ] +[package.dependencies] +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} + [[package]] -name = "nbclassic" -version = "0.5.1" -description = "Jupyter Notebook as a Jupyter Server extension." +name = "multiprocess" +version = "0.70.16" +description = "better multiprocessing and multithreading in Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "nbclassic-0.5.1-py3-none-any.whl", hash = "sha256:32c235e1f22f4048f3b877d354c198202898797cf9c2085856827598cead001b"}, - {file = "nbclassic-0.5.1.tar.gz", hash = "sha256:8e8ffce7582bb7a4baf11fa86a3d88b184e8e7df78eed4ead69f15aa4fc0e323"}, + {file = "multiprocess-0.70.16-pp310-pypy310_pp73-macosx_10_13_x86_64.whl", hash = "sha256:476887be10e2f59ff183c006af746cb6f1fd0eadcfd4ef49e605cbe2659920ee"}, + {file = "multiprocess-0.70.16-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d951bed82c8f73929ac82c61f01a7b5ce8f3e5ef40f5b52553b4f547ce2b08ec"}, + {file = "multiprocess-0.70.16-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37b55f71c07e2d741374998c043b9520b626a8dddc8b3129222ca4f1a06ef67a"}, + {file = "multiprocess-0.70.16-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba8c31889abf4511c7308a8c52bb4a30b9d590e7f58523302ba00237702ca054"}, + {file = "multiprocess-0.70.16-pp39-pypy39_pp73-macosx_10_13_x86_64.whl", hash = "sha256:0dfd078c306e08d46d7a8d06fb120313d87aa43af60d66da43ffff40b44d2f41"}, + {file = "multiprocess-0.70.16-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e7b9d0f307cd9bd50851afaac0dba2cb6c44449efff697df7c7645f7d3f2be3a"}, + {file = "multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02"}, + {file = "multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a"}, + {file = "multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e"}, + {file = "multiprocess-0.70.16-py38-none-any.whl", hash = "sha256:a71d82033454891091a226dfc319d0cfa8019a4e888ef9ca910372a446de4435"}, + {file = "multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3"}, + {file = "multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1"}, ] [package.dependencies] -argon2-cffi = "*" -ipykernel = "*" -ipython-genutils = "*" -jinja2 = "*" -jupyter-client = ">=6.1.1" -jupyter-core = ">=4.6.1" -jupyter-server = ">=1.17.0" -nbconvert = ">=5" -nbformat = "*" -nest-asyncio = ">=1.5" -notebook-shim = ">=0.1.0" -prometheus-client = "*" -pyzmq = ">=17" -Send2Trash = ">=1.8.0" -terminado = ">=0.8.3" -tornado = ">=6.1" -traitlets = ">=4.2.1" +dill = ">=0.3.8" -[package.extras] -docs = ["myst-parser", "nbsphinx", "sphinx", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] -json-logging = ["json-logging"] -test = ["coverage", "nbval", "pytest", "pytest-cov", "pytest-jupyter", "pytest-playwright", "pytest-tornasync", "requests", "requests-unixsocket", "testpath"] +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] [[package]] name = "nbclient" -version = "0.6.3" +version = "0.10.0" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." optional = false -python-versions = ">=3.7.0" +python-versions = ">=3.8.0" files = [ - {file = "nbclient-0.6.3-py3-none-any.whl", hash = "sha256:2747ac9b385720d8a6c34f2f71e72cbe64aec6cadaadcc064a4df0b0e99c5874"}, - {file = "nbclient-0.6.3.tar.gz", hash = "sha256:b80726fc1fb89a0e8f8be1e77e28d0026b1e8ed90bc143c8a0c7622e4f8cdd9e"}, + {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"}, + {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"}, ] [package.dependencies] -jupyter-client = ">=6.1.5" -nbformat = ">=5.0" -nest-asyncio = "*" -traitlets = ">=5.0.0" +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +nbformat = ">=5.1" +traitlets = ">=5.4" [package.extras] -sphinx = ["Sphinx (>=1.7)", "autodoc-traits", "mock", "moto", "myst-parser", "sphinx-book-theme"] -test = ["black", "check-manifest", "flake8", "ipykernel", "ipython (<8.0.0)", "ipywidgets (<8.0.0)", "mypy", "pip (>=18.1)", "pre-commit", "pytest (>=4.1)", "pytest-asyncio", "pytest-cov (>=2.6.1)", "setuptools (>=60.0)", "testpath", "twine (>=1.11.0)", "xmltodict"] +dev = ["pre-commit"] +docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] +test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] [[package]] name = "nbconvert" -version = "7.2.9" -description = "Converting Jupyter Notebooks" +version = "7.16.4" +description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "nbconvert-7.2.9-py3-none-any.whl", hash = "sha256:495638c5e06005f4a5ce828d8a81d28e34f95c20f4384d5d7a22254b443836e7"}, - {file = "nbconvert-7.2.9.tar.gz", hash = "sha256:a42c3ac137c64f70cbe4d763111bf358641ea53b37a01a5c202ed86374af5234"}, + {file = "nbconvert-7.16.4-py3-none-any.whl", hash = "sha256:05873c620fe520b6322bf8a5ad562692343fe3452abda5765c7a34b7d1aa3eb3"}, + {file = "nbconvert-7.16.4.tar.gz", hash = "sha256:86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4"}, ] [package.dependencies] beautifulsoup4 = "*" -bleach = "*" +bleach = "!=5.0.0" defusedxml = "*" importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} jinja2 = ">=3.0" jupyter-core = ">=4.7" jupyterlab-pygments = "*" markupsafe = ">=2.0" -mistune = ">=2.0.3,<3" +mistune = ">=2.0.3,<4" nbclient = ">=0.5.0" -nbformat = ">=5.1" +nbformat = ">=5.7" packaging = "*" pandocfilters = ">=1.4.1" pygments = ">=2.4.1" tinycss2 = "*" -traitlets = ">=5.0" +traitlets = ">=5.1" [package.extras] -all = ["nbconvert[docs,qtpdf,serve,test,webpdf]"] +all = ["flaky", "ipykernel", "ipython", "ipywidgets (>=7.5)", "myst-parser", "nbsphinx (>=0.2.12)", "playwright", "pydata-sphinx-theme", "pyqtwebengine (>=5.15)", "pytest (>=7)", "sphinx (==5.0.2)", "sphinxcontrib-spelling", "tornado (>=6.1)"] docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)", "sphinxcontrib-spelling"] -qtpdf = ["nbconvert[qtpng]"] +qtpdf = ["pyqtwebengine (>=5.15)"] qtpng = ["pyqtwebengine (>=5.15)"] serve = ["tornado (>=6.1)"] -test = ["ipykernel", "ipywidgets (>=7)", "pre-commit", "pytest", "pytest-dependency"] -webpdf = ["pyppeteer (>=1,<1.1)"] +test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"] +webpdf = ["playwright"] [[package]] name = "nbformat" -version = "5.7.3" +version = "5.10.4" description = "The Jupyter Notebook format" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "nbformat-5.7.3-py3-none-any.whl", hash = "sha256:22a98a6516ca216002b0a34591af5bcb8072ca6c63910baffc901cfa07fefbf0"}, - {file = "nbformat-5.7.3.tar.gz", hash = "sha256:4b021fca24d3a747bf4e626694033d792d594705829e5e35b14ee3369f9f6477"}, + {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, + {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, ] [package.dependencies] -fastjsonschema = "*" +fastjsonschema = ">=2.15" jsonschema = ">=2.6" -jupyter-core = "*" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" traitlets = ">=5.1" [package.extras] @@ -1726,133 +2114,127 @@ test = ["pep440", "pre-commit", "pytest", "testpath"] [[package]] name = "nest-asyncio" -version = "1.5.4" +version = "1.6.0" description = "Patch asyncio to allow nested event loops" optional = false python-versions = ">=3.5" files = [ - {file = "nest_asyncio-1.5.4-py3-none-any.whl", hash = "sha256:3fdd0d6061a2bb16f21fe8a9c6a7945be83521d81a0d15cff52e9edee50101d6"}, - {file = "nest_asyncio-1.5.4.tar.gz", hash = "sha256:f969f6013a16fadb4adcf09d11a68a4f617c6049d7af7ac2c676110169a63abd"}, + {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, + {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, ] [[package]] name = "networkx" -version = "2.6.3" +version = "2.8.8" description = "Python package for creating and manipulating graphs and networks" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "networkx-2.6.3-py3-none-any.whl", hash = "sha256:80b6b89c77d1dfb64a4c7854981b60aeea6360ac02c6d4e4913319e0a313abef"}, - {file = "networkx-2.6.3.tar.gz", hash = "sha256:c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51"}, + {file = "networkx-2.8.8-py3-none-any.whl", hash = "sha256:e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524"}, + {file = "networkx-2.8.8.tar.gz", hash = "sha256:230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e"}, ] [package.extras] -default = ["matplotlib (>=3.3)", "numpy (>=1.19)", "pandas (>=1.1)", "scipy (>=1.5,!=1.6.1)"] -developer = ["black (==21.5b1)", "pre-commit (>=2.12)"] -doc = ["nb2plots (>=0.6)", "numpydoc (>=1.1)", "pillow (>=8.2)", "pydata-sphinx-theme (>=0.6,<1.0)", "sphinx (>=4.0,<5.0)", "sphinx-gallery (>=0.9,<1.0)", "texext (>=0.6.6)"] -extra = ["lxml (>=4.5)", "pydot (>=1.4.1)", "pygraphviz (>=1.7)"] -test = ["codecov (>=2.1)", "pytest (>=6.2)", "pytest-cov (>=2.12)"] +default = ["matplotlib (>=3.4)", "numpy (>=1.19)", "pandas (>=1.3)", "scipy (>=1.8)"] +developer = ["mypy (>=0.982)", "pre-commit (>=2.20)"] +doc = ["nb2plots (>=0.6)", "numpydoc (>=1.5)", "pillow (>=9.2)", "pydata-sphinx-theme (>=0.11)", "sphinx (>=5.2)", "sphinx-gallery (>=0.11)", "texext (>=0.6.6)"] +extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.9)", "sympy (>=1.10)"] +test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] [[package]] name = "nodeenv" -version = "1.8.0" +version = "1.9.1" description = "Node.js virtual environment builder" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ - {file = "nodeenv-1.8.0-py2.py3-none-any.whl", hash = "sha256:df865724bb3c3adc86b3876fa209771517b0cfe596beff01a92700e0e8be4cec"}, - {file = "nodeenv-1.8.0.tar.gz", hash = "sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2"}, + {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, + {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, ] -[package.dependencies] -setuptools = "*" - [[package]] name = "notebook" -version = "6.5.2" -description = "A web-based notebook environment for interactive computing" +version = "7.2.2" +description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "notebook-6.5.2-py3-none-any.whl", hash = "sha256:e04f9018ceb86e4fa841e92ea8fb214f8d23c1cedfde530cc96f92446924f0e4"}, - {file = "notebook-6.5.2.tar.gz", hash = "sha256:c1897e5317e225fc78b45549a6ab4b668e4c996fd03a04e938fe5e7af2bfffd0"}, + {file = "notebook-7.2.2-py3-none-any.whl", hash = "sha256:c89264081f671bc02eec0ed470a627ed791b9156cad9285226b31611d3e9fe1c"}, + {file = "notebook-7.2.2.tar.gz", hash = "sha256:2ef07d4220421623ad3fe88118d687bc0450055570cdd160814a59cf3a1c516e"}, ] [package.dependencies] -argon2-cffi = "*" -ipykernel = "*" -ipython-genutils = "*" -jinja2 = "*" -jupyter-client = ">=5.3.4" -jupyter-core = ">=4.6.1" -nbclassic = ">=0.4.7" -nbconvert = ">=5" -nbformat = "*" -nest-asyncio = ">=1.5" -prometheus-client = "*" -pyzmq = ">=17" -Send2Trash = ">=1.8.0" -terminado = ">=0.8.3" -tornado = ">=6.1" -traitlets = ">=4.2.1" +jupyter-server = ">=2.4.0,<3" +jupyterlab = ">=4.2.0,<4.3" +jupyterlab-server = ">=2.27.1,<3" +notebook-shim = ">=0.2,<0.3" +tornado = ">=6.2.0" [package.extras] -docs = ["myst-parser", "nbsphinx", "sphinx", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] -json-logging = ["json-logging"] -test = ["coverage", "nbval", "pytest", "pytest-cov", "requests", "requests-unixsocket", "selenium (==4.1.5)", "testpath"] +dev = ["hatch", "pre-commit"] +docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] +test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] [[package]] name = "notebook-shim" -version = "0.2.2" +version = "0.2.4" description = "A shim layer for notebook traits and config" optional = false python-versions = ">=3.7" files = [ - {file = "notebook_shim-0.2.2-py3-none-any.whl", hash = "sha256:9c6c30f74c4fbea6fce55c1be58e7fd0409b1c681b075dcedceb005db5026949"}, - {file = "notebook_shim-0.2.2.tar.gz", hash = "sha256:090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f"}, + {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, + {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, ] [package.dependencies] jupyter-server = ">=1.8,<3" [package.extras] -test = ["pytest", "pytest-console-scripts", "pytest-tornasync"] +test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync"] [[package]] name = "numpy" -version = "1.24.4" +version = "1.26.4" description = "Fundamental package for array computing in Python" optional = false -python-versions = ">=3.8" -files = [ - {file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64"}, - {file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4"}, - {file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6"}, - {file = "numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc"}, - {file = "numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810"}, - {file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7"}, - {file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5"}, - {file = "numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d"}, - {file = "numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61"}, - {file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e"}, - {file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc"}, - {file = "numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2"}, - {file = "numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400"}, - {file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9"}, - {file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d"}, - {file = "numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835"}, - {file = "numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a"}, - {file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2"}, - {file = "numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463"}, +python-versions = ">=3.9" +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] [[package]] @@ -1901,12 +2283,13 @@ files = [ [[package]] name = "nvidia-cudnn-cu12" -version = "8.9.2.26" +version = "9.1.0.70" description = "cuDNN runtime libraries" optional = false python-versions = ">=3" files = [ - {file = "nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl", hash = "sha256:5ccb288774fdfb07a7e7025ffec286971c06d8d7b4fb162525334616d7629ff9"}, + {file = "nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl", hash = "sha256:165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f"}, + {file = "nvidia_cudnn_cu12-9.1.0.70-py3-none-win_amd64.whl", hash = "sha256:6278562929433d68365a07a4a1546c237ba2849852c0d4b2262a486e805b977a"}, ] [package.dependencies] @@ -1966,24 +2349,25 @@ nvidia-nvjitlink-cu12 = "*" [[package]] name = "nvidia-nccl-cu12" -version = "2.18.1" +version = "2.20.5" description = "NVIDIA Collective Communication Library (NCCL) Runtime" optional = false python-versions = ">=3" files = [ - {file = "nvidia_nccl_cu12-2.18.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:1a6c4acefcbebfa6de320f412bf7866de856e786e0462326ba1bac40de0b5e71"}, + {file = "nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_aarch64.whl", hash = "sha256:1fc150d5c3250b170b29410ba682384b14581db722b2531b0d8d33c595f33d01"}, + {file = "nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl", hash = "sha256:057f6bf9685f75215d0c53bf3ac4a10b3e6578351de307abad9e18a99182af56"}, ] [[package]] name = "nvidia-nvjitlink-cu12" -version = "12.3.101" +version = "12.6.77" description = "Nvidia JIT LTO Library" optional = false python-versions = ">=3" files = [ - {file = "nvidia_nvjitlink_cu12-12.3.101-py3-none-manylinux1_x86_64.whl", hash = "sha256:64335a8088e2b9d196ae8665430bc6a2b7e6ef2eb877a9c735c804bd4ff6467c"}, - {file = "nvidia_nvjitlink_cu12-12.3.101-py3-none-manylinux2014_aarch64.whl", hash = "sha256:211a63e7b30a9d62f1a853e19928fbb1a750e3f17a13a3d1f98ff0ced19478dd"}, - {file = "nvidia_nvjitlink_cu12-12.3.101-py3-none-win_amd64.whl", hash = "sha256:1b2e317e437433753530792f13eece58f0aec21a2b05903be7bffe58a606cbd1"}, + {file = "nvidia_nvjitlink_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:3bf10d85bb1801e9c894c6e197e44dd137d2a0a9e43f8450e9ad13f2df0dd52d"}, + {file = "nvidia_nvjitlink_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:9ae346d16203ae4ea513be416495167a0101d33d2d14935aa9c1829a3fb45142"}, + {file = "nvidia_nvjitlink_cu12-12.6.77-py3-none-win_amd64.whl", hash = "sha256:410718cd44962bed862a31dd0318620f6f9a8b28a6291967bcfcb446a6516771"}, ] [[package]] @@ -2011,109 +2395,139 @@ files = [ [package.dependencies] six = ">=1.8.0" +[[package]] +name = "overrides" +version = "7.7.0" +description = "A decorator to automatically detect mismatch when overriding a method." +optional = false +python-versions = ">=3.6" +files = [ + {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, + {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, +] + [[package]] name = "packaging" -version = "23.1" +version = "24.1" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] [[package]] name = "pandas" -version = "2.0.3" +version = "2.2.3" description = "Powerful data structures for data analysis, time series, and statistics" optional = false -python-versions = ">=3.8" -files = [ - {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, - {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, - {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183"}, - {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0"}, - {file = "pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210"}, - {file = "pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e"}, - {file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8"}, - {file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26"}, - {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d"}, - {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df"}, - {file = "pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd"}, - {file = "pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b"}, - {file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061"}, - {file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5"}, - {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089"}, - {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0"}, - {file = "pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02"}, - {file = "pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78"}, - {file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b"}, - {file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e"}, - {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b"}, - {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641"}, - {file = "pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682"}, - {file = "pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc"}, - {file = "pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"}, +python-versions = ">=3.9" +files = [ + {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, + {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, + {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, + {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, + {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, + {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, + {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, + {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, + {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, + {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, + {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, + {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, + {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, + {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, + {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, + {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, + {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, + {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, + {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, + {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, + {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, + {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, + {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, + {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, + {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, ] [package.dependencies] numpy = [ - {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.22.4", markers = "python_version < \"3.11\""}, + {version = ">=1.23.2", markers = "python_version == \"3.11\""}, + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" -tzdata = ">=2022.1" - -[package.extras] -all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"] -aws = ["s3fs (>=2021.08.0)"] -clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"] -compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"] -computation = ["scipy (>=1.7.1)", "xarray (>=0.21.0)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pyxlsb (>=1.0.8)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)"] -feather = ["pyarrow (>=7.0.0)"] -fss = ["fsspec (>=2021.07.0)"] -gcp = ["gcsfs (>=2021.07.0)", "pandas-gbq (>=0.15.0)"] -hdf5 = ["tables (>=3.6.1)"] -html = ["beautifulsoup4 (>=4.9.3)", "html5lib (>=1.1)", "lxml (>=4.6.3)"] -mysql = ["SQLAlchemy (>=1.4.16)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.0.0)", "tabulate (>=0.8.9)"] -parquet = ["pyarrow (>=7.0.0)"] -performance = ["bottleneck (>=1.3.2)", "numba (>=0.53.1)", "numexpr (>=2.7.1)"] -plot = ["matplotlib (>=3.6.1)"] -postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"] -spss = ["pyreadstat (>=1.1.2)"] -sql-other = ["SQLAlchemy (>=1.4.16)"] -test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.6.3)"] +tzdata = ">=2022.7" + +[package.extras] +all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] +aws = ["s3fs (>=2022.11.0)"] +clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] +compression = ["zstandard (>=0.19.0)"] +computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] +consortium-standard = ["dataframe-api-compat (>=0.1.7)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] +feather = ["pyarrow (>=10.0.1)"] +fss = ["fsspec (>=2022.11.0)"] +gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] +hdf5 = ["tables (>=3.8.0)"] +html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] +mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] +parquet = ["pyarrow (>=10.0.1)"] +performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] +plot = ["matplotlib (>=3.6.3)"] +postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] +pyarrow = ["pyarrow (>=10.0.1)"] +spss = ["pyreadstat (>=1.2.0)"] +sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] +test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.9.2)"] [[package]] name = "pandocfilters" -version = "1.5.0" +version = "1.5.1" description = "Utilities for writing pandoc filters in python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "pandocfilters-1.5.0-py2.py3-none-any.whl", hash = "sha256:33aae3f25fd1a026079f5d27bdd52496f0e0803b3469282162bafdcbdf6ef14f"}, - {file = "pandocfilters-1.5.0.tar.gz", hash = "sha256:0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38"}, + {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, + {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, ] [[package]] name = "parso" -version = "0.8.3" +version = "0.8.4" description = "A Python Parser" optional = false python-versions = ">=3.6" files = [ - {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"}, - {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"}, + {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, + {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, ] [package.extras] -qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] -testing = ["docopt", "pytest (<6.0.0)"] +qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] +testing = ["docopt", "pytest"] [[package]] name = "pathlib2" @@ -2131,13 +2545,13 @@ six = "*" [[package]] name = "pathspec" -version = "0.9.0" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +python-versions = ">=3.8" files = [ - {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"}, - {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"}, + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] @@ -2156,110 +2570,125 @@ flake8 = ">=5.0.0" [[package]] name = "pexpect" -version = "4.8.0" +version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." optional = false python-versions = "*" files = [ - {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, - {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, + {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, + {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, ] [package.dependencies] ptyprocess = ">=0.5" -[[package]] -name = "pickleshare" -version = "0.7.5" -description = "Tiny 'shelve'-like database with concurrency support" -optional = false -python-versions = "*" -files = [ - {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, - {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, -] - [[package]] name = "pillow" -version = "10.0.1" +version = "11.0.0" description = "Python Imaging Library (Fork)" optional = false -python-versions = ">=3.8" -files = [ - {file = "Pillow-10.0.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a"}, - {file = "Pillow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f"}, - {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff"}, - {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf"}, - {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd"}, - {file = "Pillow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0"}, - {file = "Pillow-10.0.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1"}, - {file = "Pillow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205"}, - {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2"}, - {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b"}, - {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1"}, - {file = "Pillow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088"}, - {file = "Pillow-10.0.1-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b"}, - {file = "Pillow-10.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a"}, - {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91"}, - {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4"}, - {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08"}, - {file = "Pillow-10.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08"}, - {file = "Pillow-10.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a"}, - {file = "Pillow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d"}, - {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7"}, - {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a"}, - {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7"}, - {file = "Pillow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3"}, - {file = "Pillow-10.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849"}, - {file = "Pillow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f"}, - {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145"}, - {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2"}, - {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf"}, - {file = "Pillow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4"}, - {file = "Pillow-10.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d"}, - {file = "Pillow-10.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d"}, - {file = "Pillow-10.0.1.tar.gz", hash = "sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +python-versions = ">=3.9" +files = [ + {file = "pillow-11.0.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6619654954dc4936fcff82db8eb6401d3159ec6be81e33c6000dfd76ae189947"}, + {file = "pillow-11.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b3c5ac4bed7519088103d9450a1107f76308ecf91d6dabc8a33a2fcfb18d0fba"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a65149d8ada1055029fcb665452b2814fe7d7082fcb0c5bed6db851cb69b2086"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a58d8ac0cc0e7f3a014509f0455248a76629ca9b604eca7dc5927cc593c5e9"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:c26845094b1af3c91852745ae78e3ea47abf3dbcd1cf962f16b9a5fbe3ee8488"}, + {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:1a61b54f87ab5786b8479f81c4b11f4d61702830354520837f8cc791ebba0f5f"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:674629ff60030d144b7bca2b8330225a9b11c482ed408813924619c6f302fdbb"}, + {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:598b4e238f13276e0008299bd2482003f48158e2b11826862b1eb2ad7c768b97"}, + {file = "pillow-11.0.0-cp310-cp310-win32.whl", hash = "sha256:9a0f748eaa434a41fccf8e1ee7a3eed68af1b690e75328fd7a60af123c193b50"}, + {file = "pillow-11.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:a5629742881bcbc1f42e840af185fd4d83a5edeb96475a575f4da50d6ede337c"}, + {file = "pillow-11.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:ee217c198f2e41f184f3869f3e485557296d505b5195c513b2bfe0062dc537f1"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc"}, + {file = "pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b"}, + {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306"}, + {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9"}, + {file = "pillow-11.0.0-cp311-cp311-win32.whl", hash = "sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5"}, + {file = "pillow-11.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291"}, + {file = "pillow-11.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923"}, + {file = "pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9"}, + {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6"}, + {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc"}, + {file = "pillow-11.0.0-cp312-cp312-win32.whl", hash = "sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6"}, + {file = "pillow-11.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47"}, + {file = "pillow-11.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699"}, + {file = "pillow-11.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527"}, + {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f"}, + {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb"}, + {file = "pillow-11.0.0-cp313-cp313-win32.whl", hash = "sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798"}, + {file = "pillow-11.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de"}, + {file = "pillow-11.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b"}, + {file = "pillow-11.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2"}, + {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a"}, + {file = "pillow-11.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8"}, + {file = "pillow-11.0.0-cp313-cp313t-win32.whl", hash = "sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8"}, + {file = "pillow-11.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904"}, + {file = "pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2e46773dc9f35a1dd28bd6981332fd7f27bec001a918a72a79b4133cf5291dba"}, + {file = "pillow-11.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2679d2258b7f1192b378e2893a8a0a0ca472234d4c2c0e6bdd3380e8dfa21b6a"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda2616eb2313cbb3eebbe51f19362eb434b18e3bb599466a1ffa76a033fb916"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ec184af98a121fb2da42642dea8a29ec80fc3efbaefb86d8fdd2606619045d"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:8594f42df584e5b4bb9281799698403f7af489fba84c34d53d1c4bfb71b7c4e7"}, + {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:c12b5ae868897c7338519c03049a806af85b9b8c237b7d675b8c5e089e4a618e"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:70fbbdacd1d271b77b7721fe3cdd2d537bbbd75d29e6300c672ec6bb38d9672f"}, + {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5178952973e588b3f1360868847334e9e3bf49d19e169bbbdfaf8398002419ae"}, + {file = "pillow-11.0.0-cp39-cp39-win32.whl", hash = "sha256:8c676b587da5673d3c75bd67dd2a8cdfeb282ca38a30f37950511766b26858c4"}, + {file = "pillow-11.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:94f3e1780abb45062287b4614a5bc0874519c86a777d4a7ad34978e86428b8dd"}, + {file = "pillow-11.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:290f2cc809f9da7d6d622550bbf4c1e57518212da51b6a30fe8e0a270a5b78bd"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1187739620f2b365de756ce086fdb3604573337cc28a0d3ac4a01ab6b2d2a6d2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fbbcb7b57dc9c794843e3d1258c0fbf0f48656d46ffe9e09b63bbd6e8cd5d0a2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d203af30149ae339ad1b4f710d9844ed8796e97fda23ffbc4cc472968a47d0b"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a0d3b115009ebb8ac3d2ebec5c2982cc693da935f4ab7bb5c8ebe2f47d36f2"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:73853108f56df97baf2bb8b522f3578221e56f646ba345a372c78326710d3830"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e58876c91f97b0952eb766123bfef372792ab3f4e3e1f1a2267834c2ab131734"}, + {file = "pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5bd2d3bdb846d757055910f0a59792d33b555800813c3b39ada1829c372ccb06"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:375b8dd15a1f5d2feafff536d47e22f69625c1aa92f12b339ec0b2ca40263273"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:daffdf51ee5db69a82dd127eabecce20729e21f7a3680cf7cbb23f0829189790"}, + {file = "pillow-11.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7326a1787e3c7b0429659e0a944725e1b03eeaa10edd945a86dead1913383944"}, + {file = "pillow-11.0.0.tar.gz", hash = "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=8.1)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] [[package]] name = "platformdirs" -version = "3.5.1" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +version = "4.3.6" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.5.1-py3-none-any.whl", hash = "sha256:e2378146f1964972c03c085bb5662ae80b2b8c06226c54b2ff4aa9483e8a13a5"}, - {file = "platformdirs-3.5.1.tar.gz", hash = "sha256:412dae91f52a6f84830f39a8078cecd0e866cb72294a5c66808e74d5e88d251f"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] -docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.2.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] [[package]] name = "pluggy" @@ -2278,13 +2707,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "prometheus-client" -version = "0.16.0" +version = "0.21.0" description = "Python client for the Prometheus monitoring system." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "prometheus_client-0.16.0-py3-none-any.whl", hash = "sha256:0836af6eb2c8f4fed712b2f279f6c0a8bbab29f9f4aa15276b91c7cb0d1616ab"}, - {file = "prometheus_client-0.16.0.tar.gz", hash = "sha256:a03e35b359f14dd1630898543e2120addfdeacd1a6069c1367ae90fd93ad3f48"}, + {file = "prometheus_client-0.21.0-py3-none-any.whl", hash = "sha256:4fa6b4dd0ac16d58bb587c04b1caae65b8c5043e85f778f42f5f632f6af2e166"}, + {file = "prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e"}, ] [package.extras] @@ -2292,41 +2721,149 @@ twisted = ["twisted"] [[package]] name = "prompt-toolkit" -version = "3.0.24" +version = "3.0.48" description = "Library for building powerful interactive command lines in Python" optional = false -python-versions = ">=3.6.2" +python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.24-py3-none-any.whl", hash = "sha256:e56f2ff799bacecd3e88165b1e2f5ebf9bcd59e80e06d395fa0cc4b8bd7bb506"}, - {file = "prompt_toolkit-3.0.24.tar.gz", hash = "sha256:1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6"}, + {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, + {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, ] [package.dependencies] wcwidth = "*" +[[package]] +name = "propcache" +version = "0.2.0" +description = "Accelerated property cache" +optional = false +python-versions = ">=3.8" +files = [ + {file = "propcache-0.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c5869b8fd70b81835a6f187c5fdbe67917a04d7e52b6e7cc4e5fe39d55c39d58"}, + {file = "propcache-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:952e0d9d07609d9c5be361f33b0d6d650cd2bae393aabb11d9b719364521984b"}, + {file = "propcache-0.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:33ac8f098df0585c0b53009f039dfd913b38c1d2edafed0cedcc0c32a05aa110"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97e48e8875e6c13909c800fa344cd54cc4b2b0db1d5f911f840458a500fde2c2"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:388f3217649d6d59292b722d940d4d2e1e6a7003259eb835724092a1cca0203a"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f571aea50ba5623c308aa146eb650eebf7dbe0fd8c5d946e28343cb3b5aad577"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3dfafb44f7bb35c0c06eda6b2ab4bfd58f02729e7c4045e179f9a861b07c9850"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3ebe9a75be7ab0b7da2464a77bb27febcb4fab46a34f9288f39d74833db7f61"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d2f0d0f976985f85dfb5f3d685697ef769faa6b71993b46b295cdbbd6be8cc37"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a3dc1a4b165283bd865e8f8cb5f0c64c05001e0718ed06250d8cac9bec115b48"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9e0f07b42d2a50c7dd2d8675d50f7343d998c64008f1da5fef888396b7f84630"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e63e3e1e0271f374ed489ff5ee73d4b6e7c60710e1f76af5f0e1a6117cd26394"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:56bb5c98f058a41bb58eead194b4db8c05b088c93d94d5161728515bd52b052b"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7665f04d0c7f26ff8bb534e1c65068409bf4687aa2534faf7104d7182debb336"}, + {file = "propcache-0.2.0-cp310-cp310-win32.whl", hash = "sha256:7cf18abf9764746b9c8704774d8b06714bcb0a63641518a3a89c7f85cc02c2ad"}, + {file = "propcache-0.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:cfac69017ef97db2438efb854edf24f5a29fd09a536ff3a992b75990720cdc99"}, + {file = "propcache-0.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:63f13bf09cc3336eb04a837490b8f332e0db41da66995c9fd1ba04552e516354"}, + {file = "propcache-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608cce1da6f2672a56b24a015b42db4ac612ee709f3d29f27a00c943d9e851de"}, + {file = "propcache-0.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:466c219deee4536fbc83c08d09115249db301550625c7fef1c5563a584c9bc87"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc2db02409338bf36590aa985a461b2c96fce91f8e7e0f14c50c5fcc4f229016"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6ed8db0a556343d566a5c124ee483ae113acc9a557a807d439bcecc44e7dfbb"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91997d9cb4a325b60d4e3f20967f8eb08dfcb32b22554d5ef78e6fd1dda743a2"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c7dde9e533c0a49d802b4f3f218fa9ad0a1ce21f2c2eb80d5216565202acab4"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffcad6c564fe6b9b8916c1aefbb37a362deebf9394bd2974e9d84232e3e08504"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:97a58a28bcf63284e8b4d7b460cbee1edaab24634e82059c7b8c09e65284f178"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:945db8ee295d3af9dbdbb698cce9bbc5c59b5c3fe328bbc4387f59a8a35f998d"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:39e104da444a34830751715f45ef9fc537475ba21b7f1f5b0f4d71a3b60d7fe2"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c5ecca8f9bab618340c8e848d340baf68bcd8ad90a8ecd7a4524a81c1764b3db"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c436130cc779806bdf5d5fae0d848713105472b8566b75ff70048c47d3961c5b"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:191db28dc6dcd29d1a3e063c3be0b40688ed76434622c53a284e5427565bbd9b"}, + {file = "propcache-0.2.0-cp311-cp311-win32.whl", hash = "sha256:5f2564ec89058ee7c7989a7b719115bdfe2a2fb8e7a4543b8d1c0cc4cf6478c1"}, + {file = "propcache-0.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e2e54267980349b723cff366d1e29b138b9a60fa376664a157a342689553f71"}, + {file = "propcache-0.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ee7606193fb267be4b2e3b32714f2d58cad27217638db98a60f9efb5efeccc2"}, + {file = "propcache-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:91ee8fc02ca52e24bcb77b234f22afc03288e1dafbb1f88fe24db308910c4ac7"}, + {file = "propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e900bad2a8456d00a113cad8c13343f3b1f327534e3589acc2219729237a2e8"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f52a68c21363c45297aca15561812d542f8fc683c85201df0bebe209e349f793"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e41d67757ff4fbc8ef2af99b338bfb955010444b92929e9e55a6d4dcc3c4f09"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a64e32f8bd94c105cc27f42d3b658902b5bcc947ece3c8fe7bc1b05982f60e89"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55346705687dbd7ef0d77883ab4f6fabc48232f587925bdaf95219bae072491e"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00181262b17e517df2cd85656fcd6b4e70946fe62cd625b9d74ac9977b64d8d9"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6994984550eaf25dd7fc7bd1b700ff45c894149341725bb4edc67f0ffa94efa4"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:56295eb1e5f3aecd516d91b00cfd8bf3a13991de5a479df9e27dd569ea23959c"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:439e76255daa0f8151d3cb325f6dd4a3e93043e6403e6491813bcaaaa8733887"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f6475a1b2ecb310c98c28d271a30df74f9dd436ee46d09236a6b750a7599ce57"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3444cdba6628accf384e349014084b1cacd866fbb88433cd9d279d90a54e0b23"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4a9d9b4d0a9b38d1c391bb4ad24aa65f306c6f01b512e10a8a34a2dc5675d348"}, + {file = "propcache-0.2.0-cp312-cp312-win32.whl", hash = "sha256:69d3a98eebae99a420d4b28756c8ce6ea5a29291baf2dc9ff9414b42676f61d5"}, + {file = "propcache-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ad9c9b99b05f163109466638bd30ada1722abb01bbb85c739c50b6dc11f92dc3"}, + {file = "propcache-0.2.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ecddc221a077a8132cf7c747d5352a15ed763b674c0448d811f408bf803d9ad7"}, + {file = "propcache-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0e53cb83fdd61cbd67202735e6a6687a7b491c8742dfc39c9e01e80354956763"}, + {file = "propcache-0.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92fe151145a990c22cbccf9ae15cae8ae9eddabfc949a219c9f667877e40853d"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6a21ef516d36909931a2967621eecb256018aeb11fc48656e3257e73e2e247a"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f88a4095e913f98988f5b338c1d4d5d07dbb0b6bad19892fd447484e483ba6b"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a5b3bb545ead161be780ee85a2b54fdf7092815995661947812dde94a40f6fb"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67aeb72e0f482709991aa91345a831d0b707d16b0257e8ef88a2ad246a7280bf"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c997f8c44ec9b9b0bcbf2d422cc00a1d9b9c681f56efa6ca149a941e5560da2"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2a66df3d4992bc1d725b9aa803e8c5a66c010c65c741ad901e260ece77f58d2f"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:3ebbcf2a07621f29638799828b8d8668c421bfb94c6cb04269130d8de4fb7136"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1235c01ddaa80da8235741e80815ce381c5267f96cc49b1477fdcf8c047ef325"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3947483a381259c06921612550867b37d22e1df6d6d7e8361264b6d037595f44"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d5bed7f9805cc29c780f3aee05de3262ee7ce1f47083cfe9f77471e9d6777e83"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4a91d44379f45f5e540971d41e4626dacd7f01004826a18cb048e7da7e96544"}, + {file = "propcache-0.2.0-cp313-cp313-win32.whl", hash = "sha256:f902804113e032e2cdf8c71015651c97af6418363bea8d78dc0911d56c335032"}, + {file = "propcache-0.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:8f188cfcc64fb1266f4684206c9de0e80f54622c3f22a910cbd200478aeae61e"}, + {file = "propcache-0.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:53d1bd3f979ed529f0805dd35ddaca330f80a9a6d90bc0121d2ff398f8ed8861"}, + {file = "propcache-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:83928404adf8fb3d26793665633ea79b7361efa0287dfbd372a7e74311d51ee6"}, + {file = "propcache-0.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:77a86c261679ea5f3896ec060be9dc8e365788248cc1e049632a1be682442063"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:218db2a3c297a3768c11a34812e63b3ac1c3234c3a086def9c0fee50d35add1f"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7735e82e3498c27bcb2d17cb65d62c14f1100b71723b68362872bca7d0913d90"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:20a617c776f520c3875cf4511e0d1db847a076d720714ae35ffe0df3e440be68"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67b69535c870670c9f9b14a75d28baa32221d06f6b6fa6f77a0a13c5a7b0a5b9"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4569158070180c3855e9c0791c56be3ceeb192defa2cdf6a3f39e54319e56b89"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:db47514ffdbd91ccdc7e6f8407aac4ee94cc871b15b577c1c324236b013ddd04"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:2a60ad3e2553a74168d275a0ef35e8c0a965448ffbc3b300ab3a5bb9956c2162"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:662dd62358bdeaca0aee5761de8727cfd6861432e3bb828dc2a693aa0471a563"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:25a1f88b471b3bc911d18b935ecb7115dff3a192b6fef46f0bfaf71ff4f12418"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:f60f0ac7005b9f5a6091009b09a419ace1610e163fa5deaba5ce3484341840e7"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:74acd6e291f885678631b7ebc85d2d4aec458dd849b8c841b57ef04047833bed"}, + {file = "propcache-0.2.0-cp38-cp38-win32.whl", hash = "sha256:d9b6ddac6408194e934002a69bcaadbc88c10b5f38fb9307779d1c629181815d"}, + {file = "propcache-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:676135dcf3262c9c5081cc8f19ad55c8a64e3f7282a21266d05544450bffc3a5"}, + {file = "propcache-0.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:25c8d773a62ce0451b020c7b29a35cfbc05de8b291163a7a0f3b7904f27253e6"}, + {file = "propcache-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:375a12d7556d462dc64d70475a9ee5982465fbb3d2b364f16b86ba9135793638"}, + {file = "propcache-0.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1ec43d76b9677637a89d6ab86e1fef70d739217fefa208c65352ecf0282be957"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f45eec587dafd4b2d41ac189c2156461ebd0c1082d2fe7013571598abb8505d1"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc092ba439d91df90aea38168e11f75c655880c12782facf5cf9c00f3d42b562"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fa1076244f54bb76e65e22cb6910365779d5c3d71d1f18b275f1dfc7b0d71b4d"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:682a7c79a2fbf40f5dbb1eb6bfe2cd865376deeac65acf9beb607505dced9e12"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e40876731f99b6f3c897b66b803c9e1c07a989b366c6b5b475fafd1f7ba3fb8"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:363ea8cd3c5cb6679f1c2f5f1f9669587361c062e4899fce56758efa928728f8"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:140fbf08ab3588b3468932974a9331aff43c0ab8a2ec2c608b6d7d1756dbb6cb"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e70fac33e8b4ac63dfc4c956fd7d85a0b1139adcfc0d964ce288b7c527537fea"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b33d7a286c0dc1a15f5fc864cc48ae92a846df287ceac2dd499926c3801054a6"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f6d5749fdd33d90e34c2efb174c7e236829147a2713334d708746e94c4bde40d"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22aa8f2272d81d9317ff5756bb108021a056805ce63dd3630e27d042c8092798"}, + {file = "propcache-0.2.0-cp39-cp39-win32.whl", hash = "sha256:73e4b40ea0eda421b115248d7e79b59214411109a5bc47d0d48e4c73e3b8fcf9"}, + {file = "propcache-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:9517d5e9e0731957468c29dbfd0f976736a0e55afaea843726e887f36fe017df"}, + {file = "propcache-0.2.0-py3-none-any.whl", hash = "sha256:2ccc28197af5313706511fab3a8b66dcd6da067a1331372c82ea1cb74285e036"}, + {file = "propcache-0.2.0.tar.gz", hash = "sha256:df81779732feb9d01e5d513fad0122efb3d53bbc75f61b2a4f29a020bc985e70"}, +] + [[package]] name = "psutil" -version = "5.9.6" +version = "6.0.0" description = "Cross-platform lib for process and system monitoring in Python." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" -files = [ - {file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c"}, - {file = "psutil-5.9.6-cp27-none-win32.whl", hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9"}, - {file = "psutil-5.9.6-cp27-none-win_amd64.whl", hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac"}, - {file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"}, - {file = "psutil-5.9.6-cp36-cp36m-win32.whl", hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602"}, - {file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa"}, - {file = "psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"}, - {file = "psutil-5.9.6-cp37-abi3-win_amd64.whl", hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a"}, - {file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57"}, - {file = "psutil-5.9.6.tar.gz", hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a"}, +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +files = [ + {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"}, + {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"}, + {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c"}, + {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3"}, + {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c"}, + {file = "psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35"}, + {file = "psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1"}, + {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, + {file = "psutil-6.0.0-cp36-cp36m-win32.whl", hash = "sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14"}, + {file = "psutil-6.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c"}, + {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, + {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, + {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, + {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, ] [package.extras] @@ -2343,67 +2880,91 @@ files = [ {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, ] +[[package]] +name = "pure-eval" +version = "0.2.3" +description = "Safely evaluate AST nodes without side effects" +optional = false +python-versions = "*" +files = [ + {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, + {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, +] + +[package.extras] +tests = ["pytest"] + [[package]] name = "pyarrow" -version = "13.0.0" +version = "17.0.0" description = "Python library for Apache Arrow" optional = false python-versions = ">=3.8" files = [ - {file = "pyarrow-13.0.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:1afcc2c33f31f6fb25c92d50a86b7a9f076d38acbcb6f9e74349636109550148"}, - {file = "pyarrow-13.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:70fa38cdc66b2fc1349a082987f2b499d51d072faaa6b600f71931150de2e0e3"}, - {file = "pyarrow-13.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd57b13a6466822498238877892a9b287b0a58c2e81e4bdb0b596dbb151cbb73"}, - {file = "pyarrow-13.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8ce69f7bf01de2e2764e14df45b8404fc6f1a5ed9871e8e08a12169f87b7a26"}, - {file = "pyarrow-13.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:588f0d2da6cf1b1680974d63be09a6530fd1bd825dc87f76e162404779a157dc"}, - {file = "pyarrow-13.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:6241afd72b628787b4abea39e238e3ff9f34165273fad306c7acf780dd850956"}, - {file = "pyarrow-13.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:fda7857e35993673fcda603c07d43889fca60a5b254052a462653f8656c64f44"}, - {file = "pyarrow-13.0.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:aac0ae0146a9bfa5e12d87dda89d9ef7c57a96210b899459fc2f785303dcbb67"}, - {file = "pyarrow-13.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d7759994217c86c161c6a8060509cfdf782b952163569606bb373828afdd82e8"}, - {file = "pyarrow-13.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:868a073fd0ff6468ae7d869b5fc1f54de5c4255b37f44fb890385eb68b68f95d"}, - {file = "pyarrow-13.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51be67e29f3cfcde263a113c28e96aa04362ed8229cb7c6e5f5c719003659d33"}, - {file = "pyarrow-13.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:d1b4e7176443d12610874bb84d0060bf080f000ea9ed7c84b2801df851320295"}, - {file = "pyarrow-13.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:69b6f9a089d116a82c3ed819eea8fe67dae6105f0d81eaf0fdd5e60d0c6e0944"}, - {file = "pyarrow-13.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:ab1268db81aeb241200e321e220e7cd769762f386f92f61b898352dd27e402ce"}, - {file = "pyarrow-13.0.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:ee7490f0f3f16a6c38f8c680949551053c8194e68de5046e6c288e396dccee80"}, - {file = "pyarrow-13.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e3ad79455c197a36eefbd90ad4aa832bece7f830a64396c15c61a0985e337287"}, - {file = "pyarrow-13.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68fcd2dc1b7d9310b29a15949cdd0cb9bc34b6de767aff979ebf546020bf0ba0"}, - {file = "pyarrow-13.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc6fd330fd574c51d10638e63c0d00ab456498fc804c9d01f2a61b9264f2c5b2"}, - {file = "pyarrow-13.0.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:e66442e084979a97bb66939e18f7b8709e4ac5f887e636aba29486ffbf373763"}, - {file = "pyarrow-13.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:0f6eff839a9e40e9c5610d3ff8c5bdd2f10303408312caf4c8003285d0b49565"}, - {file = "pyarrow-13.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b30a27f1cddf5c6efcb67e598d7823a1e253d743d92ac32ec1eb4b6a1417867"}, - {file = "pyarrow-13.0.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:09552dad5cf3de2dc0aba1c7c4b470754c69bd821f5faafc3d774bedc3b04bb7"}, - {file = "pyarrow-13.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3896ae6c205d73ad192d2fc1489cd0edfab9f12867c85b4c277af4d37383c18c"}, - {file = "pyarrow-13.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6647444b21cb5e68b593b970b2a9a07748dd74ea457c7dadaa15fd469c48ada1"}, - {file = "pyarrow-13.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47663efc9c395e31d09c6aacfa860f4473815ad6804311c5433f7085415d62a7"}, - {file = "pyarrow-13.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:b9ba6b6d34bd2563345488cf444510588ea42ad5613df3b3509f48eb80250afd"}, - {file = "pyarrow-13.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:d00d374a5625beeb448a7fa23060df79adb596074beb3ddc1838adb647b6ef09"}, - {file = "pyarrow-13.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:c51afd87c35c8331b56f796eff954b9c7f8d4b7fef5903daf4e05fcf017d23a8"}, - {file = "pyarrow-13.0.0.tar.gz", hash = "sha256:83333726e83ed44b0ac94d8d7a21bbdee4a05029c3b1e8db58a863eec8fd8a33"}, + {file = "pyarrow-17.0.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:a5c8b238d47e48812ee577ee20c9a2779e6a5904f1708ae240f53ecbee7c9f07"}, + {file = "pyarrow-17.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:db023dc4c6cae1015de9e198d41250688383c3f9af8f565370ab2b4cb5f62655"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da1e060b3876faa11cee287839f9cc7cdc00649f475714b8680a05fd9071d545"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75c06d4624c0ad6674364bb46ef38c3132768139ddec1c56582dbac54f2663e2"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:fa3c246cc58cb5a4a5cb407a18f193354ea47dd0648194e6265bd24177982fe8"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:f7ae2de664e0b158d1607699a16a488de3d008ba99b3a7aa5de1cbc13574d047"}, + {file = "pyarrow-17.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:5984f416552eea15fd9cee03da53542bf4cddaef5afecefb9aa8d1010c335087"}, + {file = "pyarrow-17.0.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:1c8856e2ef09eb87ecf937104aacfa0708f22dfeb039c363ec99735190ffb977"}, + {file = "pyarrow-17.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e19f569567efcbbd42084e87f948778eb371d308e137a0f97afe19bb860ccb3"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b244dc8e08a23b3e352899a006a26ae7b4d0da7bb636872fa8f5884e70acf15"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b72e87fe3e1db343995562f7fff8aee354b55ee83d13afba65400c178ab2597"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:dc5c31c37409dfbc5d014047817cb4ccd8c1ea25d19576acf1a001fe07f5b420"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:e3343cb1e88bc2ea605986d4b94948716edc7a8d14afd4e2c097232f729758b4"}, + {file = "pyarrow-17.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:a27532c38f3de9eb3e90ecab63dfda948a8ca859a66e3a47f5f42d1e403c4d03"}, + {file = "pyarrow-17.0.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:9b8a823cea605221e61f34859dcc03207e52e409ccf6354634143e23af7c8d22"}, + {file = "pyarrow-17.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f1e70de6cb5790a50b01d2b686d54aaf73da01266850b05e3af2a1bc89e16053"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0071ce35788c6f9077ff9ecba4858108eebe2ea5a3f7cf2cf55ebc1dbc6ee24a"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:757074882f844411fcca735e39aae74248a1531367a7c80799b4266390ae51cc"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9ba11c4f16976e89146781a83833df7f82077cdab7dc6232c897789343f7891a"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b0c6ac301093b42d34410b187bba560b17c0330f64907bfa4f7f7f2444b0cf9b"}, + {file = "pyarrow-17.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:392bc9feabc647338e6c89267635e111d71edad5fcffba204425a7c8d13610d7"}, + {file = "pyarrow-17.0.0-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:af5ff82a04b2171415f1410cff7ebb79861afc5dae50be73ce06d6e870615204"}, + {file = "pyarrow-17.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:edca18eaca89cd6382dfbcff3dd2d87633433043650c07375d095cd3517561d8"}, + {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c7916bff914ac5d4a8fe25b7a25e432ff921e72f6f2b7547d1e325c1ad9d155"}, + {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f553ca691b9e94b202ff741bdd40f6ccb70cdd5fbf65c187af132f1317de6145"}, + {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:0cdb0e627c86c373205a2f94a510ac4376fdc523f8bb36beab2e7f204416163c"}, + {file = "pyarrow-17.0.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:d7d192305d9d8bc9082d10f361fc70a73590a4c65cf31c3e6926cd72b76bc35c"}, + {file = "pyarrow-17.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:02dae06ce212d8b3244dd3e7d12d9c4d3046945a5933d28026598e9dbbda1fca"}, + {file = "pyarrow-17.0.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:13d7a460b412f31e4c0efa1148e1d29bdf18ad1411eb6757d38f8fbdcc8645fb"}, + {file = "pyarrow-17.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9b564a51fbccfab5a04a80453e5ac6c9954a9c5ef2890d1bcf63741909c3f8df"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32503827abbc5aadedfa235f5ece8c4f8f8b0a3cf01066bc8d29de7539532687"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a155acc7f154b9ffcc85497509bcd0d43efb80d6f733b0dc3bb14e281f131c8b"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:dec8d129254d0188a49f8a1fc99e0560dc1b85f60af729f47de4046015f9b0a5"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a48ddf5c3c6a6c505904545c25a4ae13646ae1f8ba703c4df4a1bfe4f4006bda"}, + {file = "pyarrow-17.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:42bf93249a083aca230ba7e2786c5f673507fa97bbd9725a1e2754715151a204"}, + {file = "pyarrow-17.0.0.tar.gz", hash = "sha256:4beca9521ed2c0921c1023e68d097d0299b62c362639ea315572a58f3f50fd28"}, ] [package.dependencies] numpy = ">=1.16.6" +[package.extras] +test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] + [[package]] name = "pycodestyle" -version = "2.11.1" +version = "2.12.1" description = "Python style guide checker" optional = false python-versions = ">=3.8" files = [ - {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"}, - {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"}, + {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"}, + {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"}, ] [[package]] name = "pycparser" -version = "2.21" +version = "2.22" description = "C parser in Python" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, ] [[package]] @@ -2419,100 +2980,78 @@ files = [ [[package]] name = "pygments" -version = "2.11.2" +version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" files = [ - {file = "Pygments-2.11.2-py3-none-any.whl", hash = "sha256:44238f1b60a76d78fc8ca0528ee429702aae011c265fe6a8dd8b63049ae41c65"}, - {file = "Pygments-2.11.2.tar.gz", hash = "sha256:4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a"}, + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] +[package.extras] +windows-terminal = ["colorama (>=0.4.6)"] + [[package]] name = "pyjwt" -version = "2.4.0" +version = "2.8.0" description = "JSON Web Token implementation in Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "PyJWT-2.4.0-py3-none-any.whl", hash = "sha256:72d1d253f32dbd4f5c88eaf1fdc62f3a19f676ccbadb9dbc5d07e951b2b26daf"}, - {file = "PyJWT-2.4.0.tar.gz", hash = "sha256:d42908208c699b3b973cbeb01a969ba6a96c821eefb1c5bfe4c390c01d67abba"}, + {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, + {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, ] [package.extras] -crypto = ["cryptography (>=3.3.1)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.3.1)", "mypy", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] +docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pyparsing" -version = "2.4.7" -description = "Python parsing module" +version = "3.2.0" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = ">=3.9" files = [ - {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, - {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, + {file = "pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84"}, + {file = "pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c"}, ] +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + [[package]] name = "pyright" -version = "1.1.362" +version = "1.1.385" description = "Command line wrapper for pyright" optional = false python-versions = ">=3.7" files = [ - {file = "pyright-1.1.362-py3-none-any.whl", hash = "sha256:969957cff45154d8a45a4ab1dae5bdc8223d8bd3c64654fa608ab3194dfff319"}, - {file = "pyright-1.1.362.tar.gz", hash = "sha256:6a477e448d4a07a6a0eab58b2a15a1bbed031eb3169fa809edee79cca168d83a"}, + {file = "pyright-1.1.385-py3-none-any.whl", hash = "sha256:e5b9a1b8d492e13004d822af94d07d235f2c7c158457293b51ab2214c8c5b375"}, + {file = "pyright-1.1.385.tar.gz", hash = "sha256:1bf042b8f080441534aa02101dea30f8fc2efa8f7b6f1ab05197c21317f5bfa7"}, ] [package.dependencies] nodeenv = ">=1.6.0" +typing-extensions = ">=4.1" [package.extras] -all = ["twine (>=3.4.1)"] +all = ["nodejs-wheel-binaries", "twine (>=3.4.1)"] dev = ["twine (>=3.4.1)"] - -[[package]] -name = "pyrsistent" -version = "0.18.1" -description = "Persistent/Functional/Immutable data structures" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, -] +nodejs = ["nodejs-wheel-binaries"] [[package]] name = "pytest" -version = "8.3.2" +version = "8.3.3" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, - {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, ] [package.dependencies] @@ -2546,424 +3085,557 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] six = ">=1.5" +[[package]] +name = "python-json-logger" +version = "2.0.7" +description = "A python library adding a json log formatter" +optional = false +python-versions = ">=3.6" +files = [ + {file = "python-json-logger-2.0.7.tar.gz", hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c"}, + {file = "python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"}, +] + [[package]] name = "pytz" -version = "2022.2.1" +version = "2024.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2022.2.1-py2.py3-none-any.whl", hash = "sha256:220f481bdafa09c3955dfbdddb7b57780e9a94f5127e35456a48589b9e0c0197"}, - {file = "pytz-2022.2.1.tar.gz", hash = "sha256:cea221417204f2d1a2aa03ddae3e867921971d0d76f14d87abb4414415bbdcf5"}, + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] [[package]] name = "pywin32" -version = "303" +version = "308" description = "Python for Window Extensions" optional = false python-versions = "*" files = [ - {file = "pywin32-303-cp310-cp310-win32.whl", hash = "sha256:6fed4af057039f309263fd3285d7b8042d41507343cd5fa781d98fcc5b90e8bb"}, - {file = "pywin32-303-cp310-cp310-win_amd64.whl", hash = "sha256:51cb52c5ec6709f96c3f26e7795b0bf169ee0d8395b2c1d7eb2c029a5008ed51"}, - {file = "pywin32-303-cp311-cp311-win32.whl", hash = "sha256:d9b5d87ca944eb3aa4cd45516203ead4b37ab06b8b777c54aedc35975dec0dee"}, - {file = "pywin32-303-cp311-cp311-win_amd64.whl", hash = "sha256:fcf44032f5b14fcda86028cdf49b6ebdaea091230eb0a757282aa656e4732439"}, - {file = "pywin32-303-cp36-cp36m-win32.whl", hash = "sha256:aad484d52ec58008ca36bd4ad14a71d7dd0a99db1a4ca71072213f63bf49c7d9"}, - {file = "pywin32-303-cp36-cp36m-win_amd64.whl", hash = "sha256:2a09632916b6bb231ba49983fe989f2f625cea237219530e81a69239cd0c4559"}, - {file = "pywin32-303-cp37-cp37m-win32.whl", hash = "sha256:b1675d82bcf6dbc96363fca747bac8bff6f6e4a447a4287ac652aa4b9adc796e"}, - {file = "pywin32-303-cp37-cp37m-win_amd64.whl", hash = "sha256:c268040769b48a13367221fced6d4232ed52f044ffafeda247bd9d2c6bdc29ca"}, - {file = "pywin32-303-cp38-cp38-win32.whl", hash = "sha256:5f9ec054f5a46a0f4dfd72af2ce1372f3d5a6e4052af20b858aa7df2df7d355b"}, - {file = "pywin32-303-cp38-cp38-win_amd64.whl", hash = "sha256:793bf74fce164bcffd9d57bb13c2c15d56e43c9542a7b9687b4fccf8f8a41aba"}, - {file = "pywin32-303-cp39-cp39-win32.whl", hash = "sha256:7d3271c98434617a11921c5ccf74615794d97b079e22ed7773790822735cc352"}, - {file = "pywin32-303-cp39-cp39-win_amd64.whl", hash = "sha256:79cbb862c11b9af19bcb682891c1b91942ec2ff7de8151e2aea2e175899cda34"}, + {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, + {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, + {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"}, + {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"}, + {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"}, + {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"}, + {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"}, + {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"}, + {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"}, + {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"}, + {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"}, + {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"}, + {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"}, + {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"}, + {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"}, + {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"}, + {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"}, + {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"}, ] [[package]] name = "pywinpty" -version = "2.0.10" +version = "2.0.13" description = "Pseudo terminal support for Windows from Python." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pywinpty-2.0.10-cp310-none-win_amd64.whl", hash = "sha256:4c7d06ad10f6e92bc850a467f26d98f4f30e73d2fe5926536308c6ae0566bc16"}, - {file = "pywinpty-2.0.10-cp311-none-win_amd64.whl", hash = "sha256:7ffbd66310b83e42028fc9df7746118978d94fba8c1ebf15a7c1275fdd80b28a"}, - {file = "pywinpty-2.0.10-cp37-none-win_amd64.whl", hash = "sha256:38cb924f2778b5751ef91a75febd114776b3af0ae411bc667be45dd84fc881d3"}, - {file = "pywinpty-2.0.10-cp38-none-win_amd64.whl", hash = "sha256:902d79444b29ad1833b8d5c3c9aabdfd428f4f068504430df18074007c8c0de8"}, - {file = "pywinpty-2.0.10-cp39-none-win_amd64.whl", hash = "sha256:3c46aef80dd50979aff93de199e4a00a8ee033ba7a03cadf0a91fed45f0c39d7"}, - {file = "pywinpty-2.0.10.tar.gz", hash = "sha256:cdbb5694cf8c7242c2ecfaca35c545d31fa5d5814c3d67a4e628f803f680ebea"}, + {file = "pywinpty-2.0.13-cp310-none-win_amd64.whl", hash = "sha256:697bff211fb5a6508fee2dc6ff174ce03f34a9a233df9d8b5fe9c8ce4d5eaf56"}, + {file = "pywinpty-2.0.13-cp311-none-win_amd64.whl", hash = "sha256:b96fb14698db1284db84ca38c79f15b4cfdc3172065b5137383910567591fa99"}, + {file = "pywinpty-2.0.13-cp312-none-win_amd64.whl", hash = "sha256:2fd876b82ca750bb1333236ce98488c1be96b08f4f7647cfdf4129dfad83c2d4"}, + {file = "pywinpty-2.0.13-cp38-none-win_amd64.whl", hash = "sha256:61d420c2116c0212808d31625611b51caf621fe67f8a6377e2e8b617ea1c1f7d"}, + {file = "pywinpty-2.0.13-cp39-none-win_amd64.whl", hash = "sha256:71cb613a9ee24174730ac7ae439fd179ca34ccb8c5349e8d7b72ab5dea2c6f4b"}, + {file = "pywinpty-2.0.13.tar.gz", hash = "sha256:c34e32351a3313ddd0d7da23d27f835c860d32fe4ac814d372a3ea9594f41dde"}, ] [[package]] name = "pyyaml" -version = "6.0.1" +version = "6.0.2" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, + {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 = "pyzmq" -version = "25.1.1" +version = "26.2.0" description = "Python bindings for 0MQ" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:381469297409c5adf9a0e884c5eb5186ed33137badcbbb0560b86e910a2f1e76"}, - {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:955215ed0604dac5b01907424dfa28b40f2b2292d6493445dd34d0dfa72586a8"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:985bbb1316192b98f32e25e7b9958088431d853ac63aca1d2c236f40afb17c83"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:afea96f64efa98df4da6958bae37f1cbea7932c35878b185e5982821bc883369"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76705c9325d72a81155bb6ab48d4312e0032bf045fb0754889133200f7a0d849"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:77a41c26205d2353a4c94d02be51d6cbdf63c06fbc1295ea57dad7e2d3381b71"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:12720a53e61c3b99d87262294e2b375c915fea93c31fc2336898c26d7aed34cd"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:57459b68e5cd85b0be8184382cefd91959cafe79ae019e6b1ae6e2ba8a12cda7"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:292fe3fc5ad4a75bc8df0dfaee7d0babe8b1f4ceb596437213821f761b4589f9"}, - {file = "pyzmq-25.1.1-cp310-cp310-win32.whl", hash = "sha256:35b5ab8c28978fbbb86ea54958cd89f5176ce747c1fb3d87356cf698048a7790"}, - {file = "pyzmq-25.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:11baebdd5fc5b475d484195e49bae2dc64b94a5208f7c89954e9e354fc609d8f"}, - {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:d20a0ddb3e989e8807d83225a27e5c2eb2260eaa851532086e9e0fa0d5287d83"}, - {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e1c1be77bc5fb77d923850f82e55a928f8638f64a61f00ff18a67c7404faf008"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d89528b4943d27029a2818f847c10c2cecc79fa9590f3cb1860459a5be7933eb"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90f26dc6d5f241ba358bef79be9ce06de58d477ca8485e3291675436d3827cf8"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2b92812bd214018e50b6380ea3ac0c8bb01ac07fcc14c5f86a5bb25e74026e9"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f957ce63d13c28730f7fd6b72333814221c84ca2421298f66e5143f81c9f91f"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:047a640f5c9c6ade7b1cc6680a0e28c9dd5a0825135acbd3569cc96ea00b2505"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7f7e58effd14b641c5e4dec8c7dab02fb67a13df90329e61c869b9cc607ef752"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c2910967e6ab16bf6fbeb1f771c89a7050947221ae12a5b0b60f3bca2ee19bca"}, - {file = "pyzmq-25.1.1-cp311-cp311-win32.whl", hash = "sha256:76c1c8efb3ca3a1818b837aea423ff8a07bbf7aafe9f2f6582b61a0458b1a329"}, - {file = "pyzmq-25.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:44e58a0554b21fc662f2712814a746635ed668d0fbc98b7cb9d74cb798d202e6"}, - {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:e1ffa1c924e8c72778b9ccd386a7067cddf626884fd8277f503c48bb5f51c762"}, - {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1af379b33ef33757224da93e9da62e6471cf4a66d10078cf32bae8127d3d0d4a"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cff084c6933680d1f8b2f3b4ff5bbb88538a4aac00d199ac13f49d0698727ecb"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2400a94f7dd9cb20cd012951a0cbf8249e3d554c63a9c0cdfd5cbb6c01d2dec"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d81f1ddae3858b8299d1da72dd7d19dd36aab654c19671aa8a7e7fb02f6638a"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:255ca2b219f9e5a3a9ef3081512e1358bd4760ce77828e1028b818ff5610b87b"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a882ac0a351288dd18ecae3326b8a49d10c61a68b01419f3a0b9a306190baf69"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:724c292bb26365659fc434e9567b3f1adbdb5e8d640c936ed901f49e03e5d32e"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ca1ed0bb2d850aa8471387882247c68f1e62a4af0ce9c8a1dbe0d2bf69e41fb"}, - {file = "pyzmq-25.1.1-cp312-cp312-win32.whl", hash = "sha256:b3451108ab861040754fa5208bca4a5496c65875710f76789a9ad27c801a0075"}, - {file = "pyzmq-25.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:eadbefd5e92ef8a345f0525b5cfd01cf4e4cc651a2cffb8f23c0dd184975d787"}, - {file = "pyzmq-25.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:db0b2af416ba735c6304c47f75d348f498b92952f5e3e8bff449336d2728795d"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c133e93b405eb0d36fa430c94185bdd13c36204a8635470cccc200723c13bb"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:273bc3959bcbff3f48606b28229b4721716598d76b5aaea2b4a9d0ab454ec062"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cbc8df5c6a88ba5ae385d8930da02201165408dde8d8322072e3e5ddd4f68e22"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:18d43df3f2302d836f2a56f17e5663e398416e9dd74b205b179065e61f1a6edf"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:73461eed88a88c866656e08f89299720a38cb4e9d34ae6bf5df6f71102570f2e"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:34c850ce7976d19ebe7b9d4b9bb8c9dfc7aac336c0958e2651b88cbd46682123"}, - {file = "pyzmq-25.1.1-cp36-cp36m-win32.whl", hash = "sha256:d2045d6d9439a0078f2a34b57c7b18c4a6aef0bee37f22e4ec9f32456c852c71"}, - {file = "pyzmq-25.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:458dea649f2f02a0b244ae6aef8dc29325a2810aa26b07af8374dc2a9faf57e3"}, - {file = "pyzmq-25.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7cff25c5b315e63b07a36f0c2bab32c58eafbe57d0dce61b614ef4c76058c115"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1579413ae492b05de5a6174574f8c44c2b9b122a42015c5292afa4be2507f28"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3d0a409d3b28607cc427aa5c30a6f1e4452cc44e311f843e05edb28ab5e36da0"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21eb4e609a154a57c520e3d5bfa0d97e49b6872ea057b7c85257b11e78068222"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:034239843541ef7a1aee0c7b2cb7f6aafffb005ede965ae9cbd49d5ff4ff73cf"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f8115e303280ba09f3898194791a153862cbf9eef722ad8f7f741987ee2a97c7"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a5d26fe8f32f137e784f768143728438877d69a586ddeaad898558dc971a5ae"}, - {file = "pyzmq-25.1.1-cp37-cp37m-win32.whl", hash = "sha256:f32260e556a983bc5c7ed588d04c942c9a8f9c2e99213fec11a031e316874c7e"}, - {file = "pyzmq-25.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:abf34e43c531bbb510ae7e8f5b2b1f2a8ab93219510e2b287a944432fad135f3"}, - {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:87e34f31ca8f168c56d6fbf99692cc8d3b445abb5bfd08c229ae992d7547a92a"}, - {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c9c6c9b2c2f80747a98f34ef491c4d7b1a8d4853937bb1492774992a120f475d"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5619f3f5a4db5dbb572b095ea3cb5cc035335159d9da950830c9c4db2fbb6995"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5a34d2395073ef862b4032343cf0c32a712f3ab49d7ec4f42c9661e0294d106f"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25f0e6b78220aba09815cd1f3a32b9c7cb3e02cb846d1cfc526b6595f6046618"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3669cf8ee3520c2f13b2e0351c41fea919852b220988d2049249db10046a7afb"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2d163a18819277e49911f7461567bda923461c50b19d169a062536fffe7cd9d2"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:df27ffddff4190667d40de7beba4a950b5ce78fe28a7dcc41d6f8a700a80a3c0"}, - {file = "pyzmq-25.1.1-cp38-cp38-win32.whl", hash = "sha256:a382372898a07479bd34bda781008e4a954ed8750f17891e794521c3e21c2e1c"}, - {file = "pyzmq-25.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:52533489f28d62eb1258a965f2aba28a82aa747202c8fa5a1c7a43b5db0e85c1"}, - {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:03b3f49b57264909aacd0741892f2aecf2f51fb053e7d8ac6767f6c700832f45"}, - {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:330f9e188d0d89080cde66dc7470f57d1926ff2fb5576227f14d5be7ab30b9fa"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2ca57a5be0389f2a65e6d3bb2962a971688cbdd30b4c0bd188c99e39c234f414"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d457aed310f2670f59cc5b57dcfced452aeeed77f9da2b9763616bd57e4dbaae"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c56d748ea50215abef7030c72b60dd723ed5b5c7e65e7bc2504e77843631c1a6"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8f03d3f0d01cb5a018debeb412441996a517b11c5c17ab2001aa0597c6d6882c"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:820c4a08195a681252f46926de10e29b6bbf3e17b30037bd4250d72dd3ddaab8"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17ef5f01d25b67ca8f98120d5fa1d21efe9611604e8eb03a5147360f517dd1e2"}, - {file = "pyzmq-25.1.1-cp39-cp39-win32.whl", hash = "sha256:04ccbed567171579ec2cebb9c8a3e30801723c575601f9a990ab25bcac6b51e2"}, - {file = "pyzmq-25.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:e61f091c3ba0c3578411ef505992d356a812fb200643eab27f4f70eed34a29ef"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ade6d25bb29c4555d718ac6d1443a7386595528c33d6b133b258f65f963bb0f6"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0c95ddd4f6e9fca4e9e3afaa4f9df8552f0ba5d1004e89ef0a68e1f1f9807c7"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48e466162a24daf86f6b5ca72444d2bf39a5e58da5f96370078be67c67adc978"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abc719161780932c4e11aaebb203be3d6acc6b38d2f26c0f523b5b59d2fc1996"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ccf825981640b8c34ae54231b7ed00271822ea1c6d8ba1090ebd4943759abf5"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c2f20ce161ebdb0091a10c9ca0372e023ce24980d0e1f810f519da6f79c60800"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:deee9ca4727f53464daf089536e68b13e6104e84a37820a88b0a057b97bba2d2"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aa8d6cdc8b8aa19ceb319aaa2b660cdaccc533ec477eeb1309e2a291eaacc43a"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019e59ef5c5256a2c7378f2fb8560fc2a9ff1d315755204295b2eab96b254d0a"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:b9af3757495c1ee3b5c4e945c1df7be95562277c6e5bccc20a39aec50f826cd0"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:548d6482dc8aadbe7e79d1b5806585c8120bafa1ef841167bc9090522b610fa6"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:057e824b2aae50accc0f9a0570998adc021b372478a921506fddd6c02e60308e"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2243700cc5548cff20963f0ca92d3e5e436394375ab8a354bbea2b12911b20b0"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79986f3b4af059777111409ee517da24a529bdbd46da578b33f25580adcff728"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:11d58723d44d6ed4dd677c5615b2ffb19d5c426636345567d6af82be4dff8a55"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:49d238cf4b69652257db66d0c623cd3e09b5d2e9576b56bc067a396133a00d4a"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fedbdc753827cf014c01dbbee9c3be17e5a208dcd1bf8641ce2cd29580d1f0d4"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc16ac425cc927d0a57d242589f87ee093884ea4804c05a13834d07c20db203c"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11c1d2aed9079c6b0c9550a7257a836b4a637feb334904610f06d70eb44c56d2"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e8a701123029cc240cea61dd2d16ad57cab4691804143ce80ecd9286b464d180"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61706a6b6c24bdece85ff177fec393545a3191eeda35b07aaa1458a027ad1304"}, - {file = "pyzmq-25.1.1.tar.gz", hash = "sha256:259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, + {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, + {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, + {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, + {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, + {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, + {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, + {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, + {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, + {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, + {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, + {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, + {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, + {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, + {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, + {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, + {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, + {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, + {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, + {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, + {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, + {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, + {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, + {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, + {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, + {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, + {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, + {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, + {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, + {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, + {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, + {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, + {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, + {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, + {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, + {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, + {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, + {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, + {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, + {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, + {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, + {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, ] [package.dependencies] cffi = {version = "*", markers = "implementation_name == \"pypy\""} [[package]] -name = "qtconsole" -version = "5.4.0" -description = "Jupyter Qt console" -optional = false -python-versions = ">= 3.7" -files = [ - {file = "qtconsole-5.4.0-py3-none-any.whl", hash = "sha256:be13560c19bdb3b54ed9741a915aa701a68d424519e8341ac479a91209e694b2"}, - {file = "qtconsole-5.4.0.tar.gz", hash = "sha256:57748ea2fd26320a0b77adba20131cfbb13818c7c96d83fafcb110ff55f58b35"}, -] - -[package.dependencies] -ipykernel = ">=4.1" -ipython-genutils = "*" -jupyter-client = ">=4.1" -jupyter-core = "*" -pygments = "*" -pyzmq = ">=17.1" -qtpy = ">=2.0.1" -traitlets = "<5.2.1 || >5.2.1,<5.2.2 || >5.2.2" - -[package.extras] -doc = ["Sphinx (>=1.3)"] -test = ["flaky", "pytest", "pytest-qt"] - -[[package]] -name = "qtpy" -version = "2.3.0" -description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)." +name = "referencing" +version = "0.35.1" +description = "JSON Referencing + Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "QtPy-2.3.0-py3-none-any.whl", hash = "sha256:8d6d544fc20facd27360ea189592e6135c614785f0dec0b4f083289de6beb408"}, - {file = "QtPy-2.3.0.tar.gz", hash = "sha256:0603c9c83ccc035a4717a12908bf6bc6cb22509827ea2ec0e94c2da7c9ed57c5"}, + {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, + {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, ] [package.dependencies] -packaging = "*" - -[package.extras] -test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" [[package]] name = "regex" -version = "2023.8.8" +version = "2024.9.11" description = "Alternative regular expression module, to replace re." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "regex-2023.8.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:88900f521c645f784260a8d346e12a1590f79e96403971241e64c3a265c8ecdb"}, - {file = "regex-2023.8.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3611576aff55918af2697410ff0293d6071b7e00f4b09e005d614686ac4cd57c"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8a0ccc8f2698f120e9e5742f4b38dc944c38744d4bdfc427616f3a163dd9de5"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c662a4cbdd6280ee56f841f14620787215a171c4e2d1744c9528bed8f5816c96"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf0633e4a1b667bfe0bb10b5e53fe0d5f34a6243ea2530eb342491f1adf4f739"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:551ad543fa19e94943c5b2cebc54c73353ffff08228ee5f3376bd27b3d5b9800"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54de2619f5ea58474f2ac211ceea6b615af2d7e4306220d4f3fe690c91988a61"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5ec4b3f0aebbbe2fc0134ee30a791af522a92ad9f164858805a77442d7d18570"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ae646c35cb9f820491760ac62c25b6d6b496757fda2d51be429e0e7b67ae0ab"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca339088839582d01654e6f83a637a4b8194d0960477b9769d2ff2cfa0fa36d2"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:d9b6627408021452dcd0d2cdf8da0534e19d93d070bfa8b6b4176f99711e7f90"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:bd3366aceedf274f765a3a4bc95d6cd97b130d1dda524d8f25225d14123c01db"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7aed90a72fc3654fba9bc4b7f851571dcc368120432ad68b226bd593f3f6c0b7"}, - {file = "regex-2023.8.8-cp310-cp310-win32.whl", hash = "sha256:80b80b889cb767cc47f31d2b2f3dec2db8126fbcd0cff31b3925b4dc6609dcdb"}, - {file = "regex-2023.8.8-cp310-cp310-win_amd64.whl", hash = "sha256:b82edc98d107cbc7357da7a5a695901b47d6eb0420e587256ba3ad24b80b7d0b"}, - {file = "regex-2023.8.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1e7d84d64c84ad97bf06f3c8cb5e48941f135ace28f450d86af6b6512f1c9a71"}, - {file = "regex-2023.8.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ce0f9fbe7d295f9922c0424a3637b88c6c472b75eafeaff6f910494a1fa719ef"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06c57e14ac723b04458df5956cfb7e2d9caa6e9d353c0b4c7d5d54fcb1325c46"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e7a9aaa5a1267125eef22cef3b63484c3241aaec6f48949b366d26c7250e0357"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b7408511fca48a82a119d78a77c2f5eb1b22fe88b0d2450ed0756d194fe7a9a"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14dc6f2d88192a67d708341f3085df6a4f5a0c7b03dec08d763ca2cd86e9f559"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48c640b99213643d141550326f34f0502fedb1798adb3c9eb79650b1ecb2f177"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0085da0f6c6393428bf0d9c08d8b1874d805bb55e17cb1dfa5ddb7cfb11140bf"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:964b16dcc10c79a4a2be9f1273fcc2684a9eedb3906439720598029a797b46e6"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7ce606c14bb195b0e5108544b540e2c5faed6843367e4ab3deb5c6aa5e681208"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:40f029d73b10fac448c73d6eb33d57b34607f40116e9f6e9f0d32e9229b147d7"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3b8e6ea6be6d64104d8e9afc34c151926f8182f84e7ac290a93925c0db004bfd"}, - {file = "regex-2023.8.8-cp311-cp311-win32.whl", hash = "sha256:942f8b1f3b223638b02df7df79140646c03938d488fbfb771824f3d05fc083a8"}, - {file = "regex-2023.8.8-cp311-cp311-win_amd64.whl", hash = "sha256:51d8ea2a3a1a8fe4f67de21b8b93757005213e8ac3917567872f2865185fa7fb"}, - {file = "regex-2023.8.8-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e951d1a8e9963ea51efd7f150450803e3b95db5939f994ad3d5edac2b6f6e2b4"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704f63b774218207b8ccc6c47fcef5340741e5d839d11d606f70af93ee78e4d4"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22283c769a7b01c8ac355d5be0715bf6929b6267619505e289f792b01304d898"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91129ff1bb0619bc1f4ad19485718cc623a2dc433dff95baadbf89405c7f6b57"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de35342190deb7b866ad6ba5cbcccb2d22c0487ee0cbb251efef0843d705f0d4"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b993b6f524d1e274a5062488a43e3f9f8764ee9745ccd8e8193df743dbe5ee61"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3026cbcf11d79095a32d9a13bbc572a458727bd5b1ca332df4a79faecd45281c"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:293352710172239bf579c90a9864d0df57340b6fd21272345222fb6371bf82b3"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:d909b5a3fff619dc7e48b6b1bedc2f30ec43033ba7af32f936c10839e81b9217"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:3d370ff652323c5307d9c8e4c62efd1956fb08051b0e9210212bc51168b4ff56"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:b076da1ed19dc37788f6a934c60adf97bd02c7eea461b73730513921a85d4235"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e9941a4ada58f6218694f382e43fdd256e97615db9da135e77359da257a7168b"}, - {file = "regex-2023.8.8-cp36-cp36m-win32.whl", hash = "sha256:a8c65c17aed7e15a0c824cdc63a6b104dfc530f6fa8cb6ac51c437af52b481c7"}, - {file = "regex-2023.8.8-cp36-cp36m-win_amd64.whl", hash = "sha256:aadf28046e77a72f30dcc1ab185639e8de7f4104b8cb5c6dfa5d8ed860e57236"}, - {file = "regex-2023.8.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:423adfa872b4908843ac3e7a30f957f5d5282944b81ca0a3b8a7ccbbfaa06103"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ae594c66f4a7e1ea67232a0846649a7c94c188d6c071ac0210c3e86a5f92109"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e51c80c168074faa793685656c38eb7a06cbad7774c8cbc3ea05552d615393d8"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09b7f4c66aa9d1522b06e31a54f15581c37286237208df1345108fcf4e050c18"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e73e5243af12d9cd6a9d6a45a43570dbe2e5b1cdfc862f5ae2b031e44dd95a8"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:941460db8fe3bd613db52f05259c9336f5a47ccae7d7def44cc277184030a116"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f0ccf3e01afeb412a1a9993049cb160d0352dba635bbca7762b2dc722aa5742a"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2e9216e0d2cdce7dbc9be48cb3eacb962740a09b011a116fd7af8c832ab116ca"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:5cd9cd7170459b9223c5e592ac036e0704bee765706445c353d96f2890e816c8"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4873ef92e03a4309b3ccd8281454801b291b689f6ad45ef8c3658b6fa761d7ac"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:239c3c2a339d3b3ddd51c2daef10874410917cd2b998f043c13e2084cb191684"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1005c60ed7037be0d9dea1f9c53cc42f836188227366370867222bda4c3c6bd7"}, - {file = "regex-2023.8.8-cp37-cp37m-win32.whl", hash = "sha256:e6bd1e9b95bc5614a7a9c9c44fde9539cba1c823b43a9f7bc11266446dd568e3"}, - {file = "regex-2023.8.8-cp37-cp37m-win_amd64.whl", hash = "sha256:9a96edd79661e93327cfeac4edec72a4046e14550a1d22aa0dd2e3ca52aec921"}, - {file = "regex-2023.8.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f2181c20ef18747d5f4a7ea513e09ea03bdd50884a11ce46066bb90fe4213675"}, - {file = "regex-2023.8.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a2ad5add903eb7cdde2b7c64aaca405f3957ab34f16594d2b78d53b8b1a6a7d6"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9233ac249b354c54146e392e8a451e465dd2d967fc773690811d3a8c240ac601"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:920974009fb37b20d32afcdf0227a2e707eb83fe418713f7a8b7de038b870d0b"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2b6c5dfe0929b6c23dde9624483380b170b6e34ed79054ad131b20203a1a63"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96979d753b1dc3b2169003e1854dc67bfc86edf93c01e84757927f810b8c3c93"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ae54a338191e1356253e7883d9d19f8679b6143703086245fb14d1f20196be9"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2162ae2eb8b079622176a81b65d486ba50b888271302190870b8cc488587d280"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c884d1a59e69e03b93cf0dfee8794c63d7de0ee8f7ffb76e5f75be8131b6400a"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cf9273e96f3ee2ac89ffcb17627a78f78e7516b08f94dc435844ae72576a276e"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:83215147121e15d5f3a45d99abeed9cf1fe16869d5c233b08c56cdf75f43a504"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f7454aa427b8ab9101f3787eb178057c5250478e39b99540cfc2b889c7d0586"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0640913d2c1044d97e30d7c41728195fc37e54d190c5385eacb52115127b882"}, - {file = "regex-2023.8.8-cp38-cp38-win32.whl", hash = "sha256:0c59122ceccb905a941fb23b087b8eafc5290bf983ebcb14d2301febcbe199c7"}, - {file = "regex-2023.8.8-cp38-cp38-win_amd64.whl", hash = "sha256:c12f6f67495ea05c3d542d119d270007090bad5b843f642d418eb601ec0fa7be"}, - {file = "regex-2023.8.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:82cd0a69cd28f6cc3789cc6adeb1027f79526b1ab50b1f6062bbc3a0ccb2dbc3"}, - {file = "regex-2023.8.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bb34d1605f96a245fc39790a117ac1bac8de84ab7691637b26ab2c5efb8f228c"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:987b9ac04d0b38ef4f89fbc035e84a7efad9cdd5f1e29024f9289182c8d99e09"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dd6082f4e2aec9b6a0927202c85bc1b09dcab113f97265127c1dc20e2e32495"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7eb95fe8222932c10d4436e7a6f7c99991e3fdd9f36c949eff16a69246dee2dc"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7098c524ba9f20717a56a8d551d2ed491ea89cbf37e540759ed3b776a4f8d6eb"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b694430b3f00eb02c594ff5a16db30e054c1b9589a043fe9174584c6efa8033"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2aeab3895d778155054abea5238d0eb9a72e9242bd4b43f42fd911ef9a13470"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:988631b9d78b546e284478c2ec15c8a85960e262e247b35ca5eaf7ee22f6050a"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:67ecd894e56a0c6108ec5ab1d8fa8418ec0cff45844a855966b875d1039a2e34"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:14898830f0a0eb67cae2bbbc787c1a7d6e34ecc06fbd39d3af5fe29a4468e2c9"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:f2200e00b62568cfd920127782c61bc1c546062a879cdc741cfcc6976668dfcf"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9691a549c19c22d26a4f3b948071e93517bdf86e41b81d8c6ac8a964bb71e5a6"}, - {file = "regex-2023.8.8-cp39-cp39-win32.whl", hash = "sha256:6ab2ed84bf0137927846b37e882745a827458689eb969028af8032b1b3dac78e"}, - {file = "regex-2023.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5543c055d8ec7801901e1193a51570643d6a6ab8751b1f7dd9af71af467538bb"}, - {file = "regex-2023.8.8.tar.gz", hash = "sha256:fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1494fa8725c285a81d01dc8c06b55287a1ee5e0e382d8413adc0a9197aac6408"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0e12c481ad92d129c78f13a2a3662317e46ee7ef96c94fd332e1c29131875b7d"}, + {file = "regex-2024.9.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16e13a7929791ac1216afde26f712802e3df7bf0360b32e4914dca3ab8baeea5"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46989629904bad940bbec2106528140a218b4a36bb3042d8406980be1941429c"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a906ed5e47a0ce5f04b2c981af1c9acf9e8696066900bf03b9d7879a6f679fc8"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9a091b0550b3b0207784a7d6d0f1a00d1d1c8a11699c1a4d93db3fbefc3ad35"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ddcd9a179c0a6fa8add279a4444015acddcd7f232a49071ae57fa6e278f1f71"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6b41e1adc61fa347662b09398e31ad446afadff932a24807d3ceb955ed865cc8"}, + {file = "regex-2024.9.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ced479f601cd2f8ca1fd7b23925a7e0ad512a56d6e9476f79b8f381d9d37090a"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:635a1d96665f84b292e401c3d62775851aedc31d4f8784117b3c68c4fcd4118d"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c0256beda696edcf7d97ef16b2a33a8e5a875affd6fa6567b54f7c577b30a137"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3ce4f1185db3fbde8ed8aa223fc9620f276c58de8b0d4f8cc86fd1360829edb6"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:09d77559e80dcc9d24570da3745ab859a9cf91953062e4ab126ba9d5993688ca"}, + {file = "regex-2024.9.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a22ccefd4db3f12b526eccb129390942fe874a3a9fdbdd24cf55773a1faab1a"}, + {file = "regex-2024.9.11-cp310-cp310-win32.whl", hash = "sha256:f745ec09bc1b0bd15cfc73df6fa4f726dcc26bb16c23a03f9e3367d357eeedd0"}, + {file = "regex-2024.9.11-cp310-cp310-win_amd64.whl", hash = "sha256:01c2acb51f8a7d6494c8c5eafe3d8e06d76563d8a8a4643b37e9b2dd8a2ff623"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2cce2449e5927a0bf084d346da6cd5eb016b2beca10d0013ab50e3c226ffc0df"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b37fa423beefa44919e009745ccbf353d8c981516e807995b2bd11c2c77d268"}, + {file = "regex-2024.9.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:64ce2799bd75039b480cc0360907c4fb2f50022f030bf9e7a8705b636e408fad"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4cc92bb6db56ab0c1cbd17294e14f5e9224f0cc6521167ef388332604e92679"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d05ac6fa06959c4172eccd99a222e1fbf17b5670c4d596cb1e5cde99600674c4"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:040562757795eeea356394a7fb13076ad4f99d3c62ab0f8bdfb21f99a1f85664"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6113c008a7780792efc80f9dfe10ba0cd043cbf8dc9a76ef757850f51b4edc50"}, + {file = "regex-2024.9.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e5fb5f77c8745a60105403a774fe2c1759b71d3e7b4ca237a5e67ad066c7199"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:54d9ff35d4515debf14bc27f1e3b38bfc453eff3220f5bce159642fa762fe5d4"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df5cbb1fbc74a8305b6065d4ade43b993be03dbe0f8b30032cced0d7740994bd"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7fb89ee5d106e4a7a51bce305ac4efb981536301895f7bdcf93ec92ae0d91c7f"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a738b937d512b30bf75995c0159c0ddf9eec0775c9d72ac0202076c72f24aa96"}, + {file = "regex-2024.9.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e28f9faeb14b6f23ac55bfbbfd3643f5c7c18ede093977f1df249f73fd22c7b1"}, + {file = "regex-2024.9.11-cp311-cp311-win32.whl", hash = "sha256:18e707ce6c92d7282dfce370cd205098384b8ee21544e7cb29b8aab955b66fa9"}, + {file = "regex-2024.9.11-cp311-cp311-win_amd64.whl", hash = "sha256:313ea15e5ff2a8cbbad96ccef6be638393041b0a7863183c2d31e0c6116688cf"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b0d0a6c64fcc4ef9c69bd5b3b3626cc3776520a1637d8abaa62b9edc147a58f7"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:49b0e06786ea663f933f3710a51e9385ce0cba0ea56b67107fd841a55d56a231"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5b513b6997a0b2f10e4fd3a1313568e373926e8c252bd76c960f96fd039cd28d"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee439691d8c23e76f9802c42a95cfeebf9d47cf4ffd06f18489122dbb0a7ad64"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f877c89719d759e52783f7fe6e1c67121076b87b40542966c02de5503ace42"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23b30c62d0f16827f2ae9f2bb87619bc4fba2044911e2e6c2eb1af0161cdb766"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ab7824093d8f10d44330fe1e6493f756f252d145323dd17ab6b48733ff6c0a"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8dee5b4810a89447151999428fe096977346cf2f29f4d5e29609d2e19e0199c9"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98eeee2f2e63edae2181c886d7911ce502e1292794f4c5ee71e60e23e8d26b5d"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:57fdd2e0b2694ce6fc2e5ccf189789c3e2962916fb38779d3e3521ff8fe7a822"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d552c78411f60b1fdaafd117a1fca2f02e562e309223b9d44b7de8be451ec5e0"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a0b2b80321c2ed3fcf0385ec9e51a12253c50f146fddb2abbb10f033fe3d049a"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:18406efb2f5a0e57e3a5881cd9354c1512d3bb4f5c45d96d110a66114d84d23a"}, + {file = "regex-2024.9.11-cp312-cp312-win32.whl", hash = "sha256:e464b467f1588e2c42d26814231edecbcfe77f5ac414d92cbf4e7b55b2c2a776"}, + {file = "regex-2024.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c157bb447303070f256e084668b702073db99bbb61d44f85d811025fcf38f784"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4db21ece84dfeefc5d8a3863f101995de646c6cb0536952c321a2650aa202c36"}, + {file = "regex-2024.9.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:220e92a30b426daf23bb67a7962900ed4613589bab80382be09b48896d211e92"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb1ae19e64c14c7ec1995f40bd932448713d3c73509e82d8cd7744dc00e29e86"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f47cd43a5bfa48f86925fe26fbdd0a488ff15b62468abb5d2a1e092a4fb10e85"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9d4a76b96f398697fe01117093613166e6aa8195d63f1b4ec3f21ab637632963"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ea51dcc0835eea2ea31d66456210a4e01a076d820e9039b04ae8d17ac11dee6"}, + {file = "regex-2024.9.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7aaa315101c6567a9a45d2839322c51c8d6e81f67683d529512f5bcfb99c802"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c57d08ad67aba97af57a7263c2d9006d5c404d721c5f7542f077f109ec2a4a29"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8404bf61298bb6f8224bb9176c1424548ee1181130818fcd2cbffddc768bed8"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dd4490a33eb909ef5078ab20f5f000087afa2a4daa27b4c072ccb3cb3050ad84"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:eee9130eaad130649fd73e5cd92f60e55708952260ede70da64de420cdcad554"}, + {file = "regex-2024.9.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6a2644a93da36c784e546de579ec1806bfd2763ef47babc1b03d765fe560c9f8"}, + {file = "regex-2024.9.11-cp313-cp313-win32.whl", hash = "sha256:e997fd30430c57138adc06bba4c7c2968fb13d101e57dd5bb9355bf8ce3fa7e8"}, + {file = "regex-2024.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:042c55879cfeb21a8adacc84ea347721d3d83a159da6acdf1116859e2427c43f"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:35f4a6f96aa6cb3f2f7247027b07b15a374f0d5b912c0001418d1d55024d5cb4"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:55b96e7ce3a69a8449a66984c268062fbaa0d8ae437b285428e12797baefce7e"}, + {file = "regex-2024.9.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb130fccd1a37ed894824b8c046321540263013da72745d755f2d35114b81a60"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:323c1f04be6b2968944d730e5c2091c8c89767903ecaa135203eec4565ed2b2b"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be1c8ed48c4c4065ecb19d882a0ce1afe0745dfad8ce48c49586b90a55f02366"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b5b029322e6e7b94fff16cd120ab35a253236a5f99a79fb04fda7ae71ca20ae8"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6fff13ef6b5f29221d6904aa816c34701462956aa72a77f1f151a8ec4f56aeb"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:587d4af3979376652010e400accc30404e6c16b7df574048ab1f581af82065e4"}, + {file = "regex-2024.9.11-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:079400a8269544b955ffa9e31f186f01d96829110a3bf79dc338e9910f794fca"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f9268774428ec173654985ce55fc6caf4c6d11ade0f6f914d48ef4719eb05ebb"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:23f9985c8784e544d53fc2930fc1ac1a7319f5d5332d228437acc9f418f2f168"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2941333154baff9838e88aa71c1d84f4438189ecc6021a12c7573728b5838e"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e93f1c331ca8e86fe877a48ad64e77882c0c4da0097f2212873a69bbfea95d0c"}, + {file = "regex-2024.9.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:846bc79ee753acf93aef4184c040d709940c9d001029ceb7b7a52747b80ed2dd"}, + {file = "regex-2024.9.11-cp38-cp38-win32.whl", hash = "sha256:c94bb0a9f1db10a1d16c00880bdebd5f9faf267273b8f5bd1878126e0fbde771"}, + {file = "regex-2024.9.11-cp38-cp38-win_amd64.whl", hash = "sha256:2b08fce89fbd45664d3df6ad93e554b6c16933ffa9d55cb7e01182baaf971508"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:07f45f287469039ffc2c53caf6803cd506eb5f5f637f1d4acb37a738f71dd066"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4838e24ee015101d9f901988001038f7f0d90dc0c3b115541a1365fb439add62"}, + {file = "regex-2024.9.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6edd623bae6a737f10ce853ea076f56f507fd7726bee96a41ee3d68d347e4d16"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c69ada171c2d0e97a4b5aa78fbb835e0ffbb6b13fc5da968c09811346564f0d3"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02087ea0a03b4af1ed6ebab2c54d7118127fee8d71b26398e8e4b05b78963199"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69dee6a020693d12a3cf892aba4808fe168d2a4cef368eb9bf74f5398bfd4ee8"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:297f54910247508e6e5cae669f2bc308985c60540a4edd1c77203ef19bfa63ca"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ecea58b43a67b1b79805f1a0255730edaf5191ecef84dbc4cc85eb30bc8b63b9"}, + {file = "regex-2024.9.11-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:eab4bb380f15e189d1313195b062a6aa908f5bd687a0ceccd47c8211e9cf0d4a"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0cbff728659ce4bbf4c30b2a1be040faafaa9eca6ecde40aaff86f7889f4ab39"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:54c4a097b8bc5bb0dfc83ae498061d53ad7b5762e00f4adaa23bee22b012e6ba"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:73d6d2f64f4d894c96626a75578b0bf7d9e56dcda8c3d037a2118fdfe9b1c664"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:e53b5fbab5d675aec9f0c501274c467c0f9a5d23696cfc94247e1fb56501ed89"}, + {file = "regex-2024.9.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0ffbcf9221e04502fc35e54d1ce9567541979c3fdfb93d2c554f0ca583a19b35"}, + {file = "regex-2024.9.11-cp39-cp39-win32.whl", hash = "sha256:e4c22e1ac1f1ec1e09f72e6c44d8f2244173db7eb9629cc3a346a8d7ccc31142"}, + {file = "regex-2024.9.11-cp39-cp39-win_amd64.whl", hash = "sha256:faa3c142464efec496967359ca99696c896c591c56c53506bac1ad465f66e919"}, + {file = "regex-2024.9.11.tar.gz", hash = "sha256:6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd"}, ] [[package]] name = "requests" -version = "2.28.1" +version = "2.32.3" description = "Python HTTP for Humans." optional = false -python-versions = ">=3.7, <4" +python-versions = ">=3.8" files = [ - {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"}, - {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] certifi = ">=2017.4.17" -charset-normalizer = ">=2,<3" +charset-normalizer = ">=2,<4" idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<1.27" +urllib3 = ">=1.21.1,<3" [package.extras] socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] -name = "responses" -version = "0.18.0" -description = "A utility library for mocking out the `requests` Python library." +name = "rfc3339-validator" +version = "0.1.4" +description = "A pure python RFC3339 validator" optional = false -python-versions = ">=3.7" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ - {file = "responses-0.18.0-py3-none-any.whl", hash = "sha256:15c63ad16de13ee8e7182d99c9334f64fd81f1ee79f90748d527c28f7ca9dd51"}, - {file = "responses-0.18.0.tar.gz", hash = "sha256:380cad4c1c1dc942e5e8a8eaae0b4d4edf708f4f010db8b7bcfafad1fcd254ff"}, + {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, + {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, ] [package.dependencies] -requests = ">=2.0,<3.0" -urllib3 = ">=1.25.10" +six = "*" -[package.extras] -tests = ["coverage (>=6.0.0)", "flake8", "mypy", "pytest (>=4.6)", "pytest-cov", "pytest-localserver", "types-mock", "types-requests"] +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +description = "Pure python rfc3986 validator" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, + {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, +] + +[[package]] +name = "rpds-py" +version = "0.20.0" +description = "Python bindings to Rust's persistent data structures (rpds)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "rpds_py-0.20.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3ad0fda1635f8439cde85c700f964b23ed5fc2d28016b32b9ee5fe30da5c84e2"}, + {file = "rpds_py-0.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9bb4a0d90fdb03437c109a17eade42dfbf6190408f29b2744114d11586611d6f"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6377e647bbfd0a0b159fe557f2c6c602c159fc752fa316572f012fc0bf67150"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb851b7df9dda52dc1415ebee12362047ce771fc36914586b2e9fcbd7d293b3e"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e0f80b739e5a8f54837be5d5c924483996b603d5502bfff79bf33da06164ee2"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a8c94dad2e45324fc74dce25e1645d4d14df9a4e54a30fa0ae8bad9a63928e3"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e604fe73ba048c06085beaf51147eaec7df856824bfe7b98657cf436623daf"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:df3de6b7726b52966edf29663e57306b23ef775faf0ac01a3e9f4012a24a4140"}, + {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf258ede5bc22a45c8e726b29835b9303c285ab46fc7c3a4cc770736b5304c9f"}, + {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:55fea87029cded5df854ca7e192ec7bdb7ecd1d9a3f63d5c4eb09148acf4a7ce"}, + {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ae94bd0b2f02c28e199e9bc51485d0c5601f58780636185660f86bf80c89af94"}, + {file = "rpds_py-0.20.0-cp310-none-win32.whl", hash = "sha256:28527c685f237c05445efec62426d285e47a58fb05ba0090a4340b73ecda6dee"}, + {file = "rpds_py-0.20.0-cp310-none-win_amd64.whl", hash = "sha256:238a2d5b1cad28cdc6ed15faf93a998336eb041c4e440dd7f902528b8891b399"}, + {file = "rpds_py-0.20.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac2f4f7a98934c2ed6505aead07b979e6f999389f16b714448fb39bbaa86a489"}, + {file = "rpds_py-0.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:220002c1b846db9afd83371d08d239fdc865e8f8c5795bbaec20916a76db3318"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d7919548df3f25374a1f5d01fbcd38dacab338ef5f33e044744b5c36729c8db"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:758406267907b3781beee0f0edfe4a179fbd97c0be2e9b1154d7f0a1279cf8e5"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d61339e9f84a3f0767b1995adfb171a0d00a1185192718a17af6e124728e0f5"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1259c7b3705ac0a0bd38197565a5d603218591d3f6cee6e614e380b6ba61c6f6"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c1dc0f53856b9cc9a0ccca0a7cc61d3d20a7088201c0937f3f4048c1718a209"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7e60cb630f674a31f0368ed32b2a6b4331b8350d67de53c0359992444b116dd3"}, + {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbe982f38565bb50cb7fb061ebf762c2f254ca3d8c20d4006878766e84266272"}, + {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:514b3293b64187172bc77c8fb0cdae26981618021053b30d8371c3a902d4d5ad"}, + {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d0a26ffe9d4dd35e4dfdd1e71f46401cff0181c75ac174711ccff0459135fa58"}, + {file = "rpds_py-0.20.0-cp311-none-win32.whl", hash = "sha256:89c19a494bf3ad08c1da49445cc5d13d8fefc265f48ee7e7556839acdacf69d0"}, + {file = "rpds_py-0.20.0-cp311-none-win_amd64.whl", hash = "sha256:c638144ce971df84650d3ed0096e2ae7af8e62ecbbb7b201c8935c370df00a2c"}, + {file = "rpds_py-0.20.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a84ab91cbe7aab97f7446652d0ed37d35b68a465aeef8fc41932a9d7eee2c1a6"}, + {file = "rpds_py-0.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:56e27147a5a4c2c21633ff8475d185734c0e4befd1c989b5b95a5d0db699b21b"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2580b0c34583b85efec8c5c5ec9edf2dfe817330cc882ee972ae650e7b5ef739"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b80d4a7900cf6b66bb9cee5c352b2d708e29e5a37fe9bf784fa97fc11504bf6c"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50eccbf054e62a7b2209b28dc7a22d6254860209d6753e6b78cfaeb0075d7bee"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:49a8063ea4296b3a7e81a5dfb8f7b2d73f0b1c20c2af401fb0cdf22e14711a96"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea438162a9fcbee3ecf36c23e6c68237479f89f962f82dae83dc15feeceb37e4"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18d7585c463087bddcfa74c2ba267339f14f2515158ac4db30b1f9cbdb62c8ef"}, + {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d4c7d1a051eeb39f5c9547e82ea27cbcc28338482242e3e0b7768033cb083821"}, + {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4df1e3b3bec320790f699890d41c59d250f6beda159ea3c44c3f5bac1976940"}, + {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2cf126d33a91ee6eedc7f3197b53e87a2acdac63602c0f03a02dd69e4b138174"}, + {file = "rpds_py-0.20.0-cp312-none-win32.whl", hash = "sha256:8bc7690f7caee50b04a79bf017a8d020c1f48c2a1077ffe172abec59870f1139"}, + {file = "rpds_py-0.20.0-cp312-none-win_amd64.whl", hash = "sha256:0e13e6952ef264c40587d510ad676a988df19adea20444c2b295e536457bc585"}, + {file = "rpds_py-0.20.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:aa9a0521aeca7d4941499a73ad7d4f8ffa3d1affc50b9ea11d992cd7eff18a29"}, + {file = "rpds_py-0.20.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1f1d51eccb7e6c32ae89243cb352389228ea62f89cd80823ea7dd1b98e0b91"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a86a9b96070674fc88b6f9f71a97d2c1d3e5165574615d1f9168ecba4cecb24"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c8ef2ebf76df43f5750b46851ed1cdf8f109d7787ca40035fe19fbdc1acc5a7"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b25f024b421d5859d156750ea9a65651793d51b76a2e9238c05c9d5f203a9"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57eb94a8c16ab08fef6404301c38318e2c5a32216bf5de453e2714c964c125c8"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1940dae14e715e2e02dfd5b0f64a52e8374a517a1e531ad9412319dc3ac7879"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d20277fd62e1b992a50c43f13fbe13277a31f8c9f70d59759c88f644d66c619f"}, + {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:06db23d43f26478303e954c34c75182356ca9aa7797d22c5345b16871ab9c45c"}, + {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b2a5db5397d82fa847e4c624b0c98fe59d2d9b7cf0ce6de09e4d2e80f8f5b3f2"}, + {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a35df9f5548fd79cb2f52d27182108c3e6641a4feb0f39067911bf2adaa3e57"}, + {file = "rpds_py-0.20.0-cp313-none-win32.whl", hash = "sha256:fd2d84f40633bc475ef2d5490b9c19543fbf18596dcb1b291e3a12ea5d722f7a"}, + {file = "rpds_py-0.20.0-cp313-none-win_amd64.whl", hash = "sha256:9bc2d153989e3216b0559251b0c260cfd168ec78b1fac33dd485750a228db5a2"}, + {file = "rpds_py-0.20.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:f2fbf7db2012d4876fb0d66b5b9ba6591197b0f165db8d99371d976546472a24"}, + {file = "rpds_py-0.20.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1e5f3cd7397c8f86c8cc72d5a791071431c108edd79872cdd96e00abd8497d29"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce9845054c13696f7af7f2b353e6b4f676dab1b4b215d7fe5e05c6f8bb06f965"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c3e130fd0ec56cb76eb49ef52faead8ff09d13f4527e9b0c400307ff72b408e1"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b16aa0107ecb512b568244ef461f27697164d9a68d8b35090e9b0c1c8b27752"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa7f429242aae2947246587d2964fad750b79e8c233a2367f71b554e9447949c"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af0fc424a5842a11e28956e69395fbbeab2c97c42253169d87e90aac2886d751"}, + {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b8c00a3b1e70c1d3891f0db1b05292747f0dbcfb49c43f9244d04c70fbc40eb8"}, + {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:40ce74fc86ee4645d0a225498d091d8bc61f39b709ebef8204cb8b5a464d3c0e"}, + {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4fe84294c7019456e56d93e8ababdad5a329cd25975be749c3f5f558abb48253"}, + {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:338ca4539aad4ce70a656e5187a3a31c5204f261aef9f6ab50e50bcdffaf050a"}, + {file = "rpds_py-0.20.0-cp38-none-win32.whl", hash = "sha256:54b43a2b07db18314669092bb2de584524d1ef414588780261e31e85846c26a5"}, + {file = "rpds_py-0.20.0-cp38-none-win_amd64.whl", hash = "sha256:a1862d2d7ce1674cffa6d186d53ca95c6e17ed2b06b3f4c476173565c862d232"}, + {file = "rpds_py-0.20.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3fde368e9140312b6e8b6c09fb9f8c8c2f00999d1823403ae90cc00480221b22"}, + {file = "rpds_py-0.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9824fb430c9cf9af743cf7aaf6707bf14323fb51ee74425c380f4c846ea70789"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11ef6ce74616342888b69878d45e9f779b95d4bd48b382a229fe624a409b72c5"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c52d3f2f82b763a24ef52f5d24358553e8403ce05f893b5347098014f2d9eff2"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d35cef91e59ebbeaa45214861874bc6f19eb35de96db73e467a8358d701a96c"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d72278a30111e5b5525c1dd96120d9e958464316f55adb030433ea905866f4de"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4c29cbbba378759ac5786730d1c3cb4ec6f8ababf5c42a9ce303dc4b3d08cda"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6632f2d04f15d1bd6fe0eedd3b86d9061b836ddca4c03d5cf5c7e9e6b7c14580"}, + {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d0b67d87bb45ed1cd020e8fbf2307d449b68abc45402fe1a4ac9e46c3c8b192b"}, + {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ec31a99ca63bf3cd7f1a5ac9fe95c5e2d060d3c768a09bc1d16e235840861420"}, + {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22e6c9976e38f4d8c4a63bd8a8edac5307dffd3ee7e6026d97f3cc3a2dc02a0b"}, + {file = "rpds_py-0.20.0-cp39-none-win32.whl", hash = "sha256:569b3ea770c2717b730b61998b6c54996adee3cef69fc28d444f3e7920313cf7"}, + {file = "rpds_py-0.20.0-cp39-none-win_amd64.whl", hash = "sha256:e6900ecdd50ce0facf703f7a00df12374b74bbc8ad9fe0f6559947fb20f82364"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:617c7357272c67696fd052811e352ac54ed1d9b49ab370261a80d3b6ce385045"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9426133526f69fcaba6e42146b4e12d6bc6c839b8b555097020e2b78ce908dcc"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deb62214c42a261cb3eb04d474f7155279c1a8a8c30ac89b7dcb1721d92c3c02"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fcaeb7b57f1a1e071ebd748984359fef83ecb026325b9d4ca847c95bc7311c92"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d454b8749b4bd70dd0a79f428731ee263fa6995f83ccb8bada706e8d1d3ff89d"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d807dc2051abe041b6649681dce568f8e10668e3c1c6543ebae58f2d7e617855"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3c20f0ddeb6e29126d45f89206b8291352b8c5b44384e78a6499d68b52ae511"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b7f19250ceef892adf27f0399b9e5afad019288e9be756d6919cb58892129f51"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4f1ed4749a08379555cebf4650453f14452eaa9c43d0a95c49db50c18b7da075"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:dcedf0b42bcb4cfff4101d7771a10532415a6106062f005ab97d1d0ab5681c60"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:39ed0d010457a78f54090fafb5d108501b5aa5604cc22408fc1c0c77eac14344"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bb273176be34a746bdac0b0d7e4e2c467323d13640b736c4c477881a3220a989"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f918a1a130a6dfe1d7fe0f105064141342e7dd1611f2e6a21cd2f5c8cb1cfb3e"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f60012a73aa396be721558caa3a6fd49b3dd0033d1675c6d59c4502e870fcf0c"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d2b1ad682a3dfda2a4e8ad8572f3100f95fad98cb99faf37ff0ddfe9cbf9d03"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:614fdafe9f5f19c63ea02817fa4861c606a59a604a77c8cdef5aa01d28b97921"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa518bcd7600c584bf42e6617ee8132869e877db2f76bcdc281ec6a4113a53ab"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0475242f447cc6cb8a9dd486d68b2ef7fbee84427124c232bff5f63b1fe11e5"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f90a4cd061914a60bd51c68bcb4357086991bd0bb93d8aa66a6da7701370708f"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:def7400461c3a3f26e49078302e1c1b38f6752342c77e3cf72ce91ca69fb1bc1"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:65794e4048ee837494aea3c21a28ad5fc080994dfba5b036cf84de37f7ad5074"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:faefcc78f53a88f3076b7f8be0a8f8d35133a3ecf7f3770895c25f8813460f08"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:5b4f105deeffa28bbcdff6c49b34e74903139afa690e35d2d9e3c2c2fba18cec"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fdfc3a892927458d98f3d55428ae46b921d1f7543b89382fdb483f5640daaec8"}, + {file = "rpds_py-0.20.0.tar.gz", hash = "sha256:d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121"}, +] [[package]] name = "s3transfer" -version = "0.6.0" +version = "0.10.3" description = "An Amazon S3 Transfer Manager" optional = false -python-versions = ">= 3.7" +python-versions = ">=3.8" files = [ - {file = "s3transfer-0.6.0-py3-none-any.whl", hash = "sha256:06176b74f3a15f61f1b4f25a1fc29a4429040b7647133a463da8fa5bd28d5ecd"}, - {file = "s3transfer-0.6.0.tar.gz", hash = "sha256:2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947"}, + {file = "s3transfer-0.10.3-py3-none-any.whl", hash = "sha256:263ed587a5803c6c708d3ce44dc4dfedaab4c1a32e8329bab818933d79ddcf5d"}, + {file = "s3transfer-0.10.3.tar.gz", hash = "sha256:4f50ed74ab84d474ce614475e0b8d5047ff080810aac5d01ea25231cfc944b0c"}, ] [package.dependencies] -botocore = ">=1.12.36,<2.0a.0" +botocore = ">=1.33.2,<2.0a.0" [package.extras] -crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] +crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] [[package]] name = "sacremoses" @@ -2984,132 +3656,145 @@ tqdm = "*" [[package]] name = "safetensors" -version = "0.4.0" +version = "0.4.5" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "safetensors-0.4.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:2289ae6dbe6d027ecee016b28ced13a2e21a0b3a3a757a23033a2d1c0b1bad55"}, - {file = "safetensors-0.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bf6458959f310f551cbbeef2255527ade5f783f952738e73e4d0136198cc3bfe"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6b60a58a8f7cc7aed3b5b73dce1f5259a53c83d9ba43a76a874e6ad868c1b4d"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:491b3477e4d0d4599bb75d79da4b75af2e6ed9b1f6ec2b715991f0bc927bf09a"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59d2e10b7e0cd18bb73ed7c17c624a5957b003b81345e18159591771c26ee428"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f667a4c12fb593f5f66ce966cb1b14a7148898b2b1a7f79e0761040ae1e3c51"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f9909512bcb6f712bdd04c296cdfb0d8ff73d258ffc5af884bb62ea02d221e0"}, - {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d33d29e846821f0e4f92614022949b09ccf063cb36fe2f9fe099cde1efbfbb87"}, - {file = "safetensors-0.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4d512525a8e05a045ce6698066ba0c5378c174a83e0b3720a8c7799dc1bb06f3"}, - {file = "safetensors-0.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0219cea445177f6ad1f9acd3a8d025440c8ff436d70a4a7c7ba9c36066aa9474"}, - {file = "safetensors-0.4.0-cp310-none-win32.whl", hash = "sha256:67ab171eeaad6972d3971c53d29d53353c67f6743284c6d637b59fa3e54c8a94"}, - {file = "safetensors-0.4.0-cp310-none-win_amd64.whl", hash = "sha256:7ffc736039f08a9ca1f09816a7481b8e4469c06e8f8a5ffa8cb67ddd79e6d77f"}, - {file = "safetensors-0.4.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4fe9e3737b30de458225a23926219ca30b902ee779b6a3df96eaab2b6d625ec2"}, - {file = "safetensors-0.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7916e814a90008de767b1c164a1d83803693c661ffe9af5a697b22e2752edb0"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbc4a4da01143472323c145f3c289e5f6fabde0ac0a3414dabf912a21692fff4"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a54c21654a47669b38e359e8f852af754b786c9da884bb61ad5e9af12bd71ccb"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25cd407955bad5340ba17f9f8ac789a0d751601a311e2f7b2733f9384478c95e"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82e8fc4e3503cd738fd40718a430fe0e5ce6e7ff91a73d6ce628bbb89c41e8ce"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48b92059b1a4ad163024d4f526e0e73ebe2bb3ae70537e15e347820b4de5dc27"}, - {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5daa05058f7dce85b5f9f60c4eab483ed7859d63978f08a76e52e78859ff20ca"}, - {file = "safetensors-0.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a86565a5c112dd855909e20144947b4f53abb78c4de207f36ca71ee63ba5b90d"}, - {file = "safetensors-0.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:38032078ed9fea52d06584e441bccc73fb475c4581600c6d6166de2fe2deb3d1"}, - {file = "safetensors-0.4.0-cp311-none-win32.whl", hash = "sha256:2f99d90c91b7c76b40a862acd9085bc77f7974a27dee7cfcebe46149af5a99a1"}, - {file = "safetensors-0.4.0-cp311-none-win_amd64.whl", hash = "sha256:74e2a448ffe19be188b457b130168190ee73b5a75e45ba96796320c1f5ae35d2"}, - {file = "safetensors-0.4.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:1e2f9c69b41d03b4826ffb96b29e07444bb6b34a78a7bafd0b88d59e8ec75b8a"}, - {file = "safetensors-0.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3910fb5bf747413b59f1a34e6d2a993b589fa7d919709518823c70efaaa350bd"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8fdca709b2470a35a59b1e6dffea75cbe1214b22612b5dd4c93947697aea8b"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f27b8ef814c5fb43456caeb7f3cbb889b76115180aad1f42402839c14a47c5b"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7b2d6101eccc43c7be0cb052f13ceda64288b3d8b344b988ed08d7133cbce2f3"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdc34027b545a69be3d4220c140b276129523e4e46db06ad1a0b60d6a4cf9214"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db7bb48ca9e90bb9526c71b388d38d8de160c0354f4c5126df23e8701a870dcb"}, - {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a78ffc0795d3595cd9e4d453502e35f764276c49e434b25556a15a337db4dafc"}, - {file = "safetensors-0.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8e735b0f79090f6855b55e205e820b7b595502ffca0009a5c13eef3661ce465b"}, - {file = "safetensors-0.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f8d2416734e850d5392afffbcb2b8985ea29fb171f1cb197e2ae51b8e35d6438"}, - {file = "safetensors-0.4.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:e853e189ba7d47eaf561094586692ba2bbdd258c096f1755805cac098de0e6ab"}, - {file = "safetensors-0.4.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:4b2aa57b5a4d576f3d1dd6e56980026340f156f8a13c13016bfac4e25295b53f"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b6c1316ffde6cb4bf22c7445bc9fd224b4d1b9dd7320695f5611c89e802e4b6"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:003077ec85261d00061058fa12e3c1d2055366b02ce8f2938929359ffbaff2b8"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd63d83a92f1437a8b0431779320376030ae43ace980bea5686d515de0784100"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2077801800b4b13301d8d6290c7fb5bd60737320001717153ebc4371776643b5"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7abe0e157a49a75aeeccfbc4f3dac38d8f98512d3cdb35c200f8e628dc5773cf"}, - {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3bfed574f6b1e7e7fe1f17213278875ef6c6e8b1582ab6eda93947db1178cae6"}, - {file = "safetensors-0.4.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:964ef166a286ce3b023d0d0bd0e21d440a1c8028981c8abdb136bc7872ba9b3d"}, - {file = "safetensors-0.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:44f84373e42183bd56a13a1f2d8acb1db7fedaeffbd83e79cec861477eee1af4"}, - {file = "safetensors-0.4.0-cp37-none-win32.whl", hash = "sha256:c68132727dd86fb641102e494d445f705efe402f4d5e24b278183a15499ab400"}, - {file = "safetensors-0.4.0-cp37-none-win_amd64.whl", hash = "sha256:1db87155454c168aef118d5657a403aee48a4cb08d8851a981157f07351ea317"}, - {file = "safetensors-0.4.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:9e583fa68e5a07cc859c4e13c1ebff12029904aa2e27185cf04a1f57fe9a81c4"}, - {file = "safetensors-0.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73e7696dcf3f72f99545eb1abe6106ad65ff1f62381d6ce4b34be3272552897a"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4936096a57c62e84e200f92620a536be067fc5effe46ecc7f230ebb496ecd579"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:87b328ee1591adac332543e1f5fc2c2d7f149b745ebb0d58d7850818ff9cee27"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b69554c143336256260eceff1d3c0969172a641b54d4668489a711b05f92a2c0"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ebf6bcece5d5d1bd6416472f94604d2c834ca752ac60ed42dba7157e595a990"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6686ce01b8602d55a7d9903c90d4a6e6f90aeb6ddced7cf4605892d0ba94bcb8"}, - {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9b8fd6cc2f3bda444a048b541c843c7b7fefc89c4120d7898ea7d5b026e93891"}, - {file = "safetensors-0.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8a6abfe67692f81b8bdb99c837f28351c17e624ebf136970c850ee989c720446"}, - {file = "safetensors-0.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:27a24ca8822c469ee452db4c13418ba983315a0d863c018a9af15f2305eac38c"}, - {file = "safetensors-0.4.0-cp38-none-win32.whl", hash = "sha256:c4a0a47c8640167792d8261ee21b26430bbc39130a7edaad7f4c0bc05669d00e"}, - {file = "safetensors-0.4.0-cp38-none-win_amd64.whl", hash = "sha256:a738970a367f39249e2abb900d9441a8a86d7ff50083e5eaa6e7760a9f216014"}, - {file = "safetensors-0.4.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:806379f37e1abd5d302288c4b2f4186dd7ea7143d4c7811f90a8077f0ae8967b"}, - {file = "safetensors-0.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b9b94133ed2ae9dda0e95dcace7b7556eba023ffa4c4ae6df8f99377f571d6a"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b563a14c43614815a6b524d2e4edeaace50b717f7e7487bb227dd5b68350f5a"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00a9b157be660fb7ba88fa2eedd05ec93793a5b61e43e783e10cb0b995372802"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8f194f45ab6aa767993c24f0aeb950af169dbc5d611b94c9021a1d13b8a1a34"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:469360b9451db10bfed3881378d5a71b347ecb1ab4f42367d77b8164a13af70b"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5f75fa97ccf32a3c7af476c6a0e851023197d3c078f6de3612008fff94735f9"}, - {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:acf0180283c2efae72f1d8c0a4a7974662091df01be3aa43b5237b1e52ed0a01"}, - {file = "safetensors-0.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cd02b495ba0814619f40bda46771bb06dbbf1d42524b66fa03b2a736c77e4515"}, - {file = "safetensors-0.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c42bdea183dbaa99e2f0e6120dc524df79cf4289a6f90f30a534444ef20f49fa"}, - {file = "safetensors-0.4.0-cp39-none-win32.whl", hash = "sha256:cef7bb5d9feae7146c3c3c7b3aef7d2c8b39ba7f5ff4252d368eb69462a47076"}, - {file = "safetensors-0.4.0-cp39-none-win_amd64.whl", hash = "sha256:79dd46fb1f19282fd12f544471efb97823ede927cedbf9cf35550d92b349fdd2"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:002301c1afa32909f83745b0c124d002e7ae07e15671f3b43cbebd0ffc5e6037"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:67762d36ae088c73d4a3c96bfc4ea8d31233554f35b6cace3a18533238d462ea"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f45230f20a206e5e4c7f7bbf9342178410c6f8b0af889843aa99045a76f7691"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f2ca939bbd8fb2f4dfa28e39a146dad03bc9325e9fc831b68f7b98f69a5a2f1"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:61a00f281391fae5ce91df70918bb61c12d2d514a493fd8056e12114be729911"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:435fd136a42492b280cb55126f9ce9535b35dd49df2c5d572a5945455a439448"}, - {file = "safetensors-0.4.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f0daa788273d683258fb1e4a5e16bef4486b2fca536451a2591bc0f4a6488895"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0620ab0d41e390ccb1c4ea8f63dc00cb5f0b96a5cdd3cd0d64c21765720c074a"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1fa8d067733cb67f22926689ee808f08afacf7700d2ffb44efae90a0693eb1"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaa40bc363edda145db75cd030f3b1822e5478d550c3500a42502ecef32c959"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b561fbc044db7beff2ece0ec219a291809d45a38d30c6b38e7cc46482582f4ba"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:79a983b09782dacf9a1adb19bb98f4a8f6c3144108939f572c047b5797e43cf5"}, - {file = "safetensors-0.4.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:10b65cd3ad79f5d0daf281523b4146bc271a34bb7430d4e03212e0de8622dab8"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:114decacc475a6a9e2f9102a00c171d113ddb5d35cb0bda0db2c0c82b2eaa9ce"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:72ddb741dd5fe42521db76a70e012f76995516a12e7e0ef26be03ea9be77802a"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c5556c2ec75f5a6134866eddd7341cb36062e6edaea343478a279591b63ddba"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed50f239b0ce7ae85b078395593b4a351ede7e6f73af25f4873e3392336f64c9"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495dcaea8fbab70b927d2274e2547824462737acbf98ccd851a71124f779a5c6"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3f4d90c79a65ba2fe2ff0876f6140748f0a3ce6a21e27a35190f4f96321803f8"}, - {file = "safetensors-0.4.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7a524382b5c55b5fbb168e0e9d3f502450c8cf3fb81b93e880018437c206a482"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:9849ea60c7e840bfdd6030ad454d4a6ba837b3398c902f15a30460dd6961c28c"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:6c42623ae7045615d9eaa6877b9df1db4e9cc71ecc14bcc721ea1e475dddd595"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80cb8342f00f3c41b3b93b1a599b84723280d3ac90829bc62262efc03ab28793"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c4f5ed4ede384dea8c99bae76b0718a828dbf7b2c8ced1f44e3b9b1a124475"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40d7cf03493bfe75ef62e2c716314474b28d9ba5bf4909763e4b8dd14330c01a"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:232029f0a9fa6fa1f737324eda98a700409811186888536a2333cbbf64e41741"}, - {file = "safetensors-0.4.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:9ed55f4a20c78ff3e8477efb63c8303c2152cdfb3bfea4d025a80f54d38fd628"}, - {file = "safetensors-0.4.0.tar.gz", hash = "sha256:b985953c3cf11e942eac4317ef3db3da713e274109cf7cfb6076d877054f013e"}, + {file = "safetensors-0.4.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a63eaccd22243c67e4f2b1c3e258b257effc4acd78f3b9d397edc8cf8f1298a7"}, + {file = "safetensors-0.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:23fc9b4ec7b602915cbb4ec1a7c1ad96d2743c322f20ab709e2c35d1b66dad27"}, + {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6885016f34bef80ea1085b7e99b3c1f92cb1be78a49839203060f67b40aee761"}, + {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:133620f443450429322f238fda74d512c4008621227fccf2f8cf4a76206fea7c"}, + {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4fb3e0609ec12d2a77e882f07cced530b8262027f64b75d399f1504ffec0ba56"}, + {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0f1dd769f064adc33831f5e97ad07babbd728427f98e3e1db6902e369122737"}, + {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6d156bdb26732feada84f9388a9f135528c1ef5b05fae153da365ad4319c4c5"}, + {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e347d77e2c77eb7624400ccd09bed69d35c0332f417ce8c048d404a096c593b"}, + {file = "safetensors-0.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9f556eea3aec1d3d955403159fe2123ddd68e880f83954ee9b4a3f2e15e716b6"}, + {file = "safetensors-0.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9483f42be3b6bc8ff77dd67302de8ae411c4db39f7224dec66b0eb95822e4163"}, + {file = "safetensors-0.4.5-cp310-none-win32.whl", hash = "sha256:7389129c03fadd1ccc37fd1ebbc773f2b031483b04700923c3511d2a939252cc"}, + {file = "safetensors-0.4.5-cp310-none-win_amd64.whl", hash = "sha256:e98ef5524f8b6620c8cdef97220c0b6a5c1cef69852fcd2f174bb96c2bb316b1"}, + {file = "safetensors-0.4.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:21f848d7aebd5954f92538552d6d75f7c1b4500f51664078b5b49720d180e47c"}, + {file = "safetensors-0.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bb07000b19d41e35eecef9a454f31a8b4718a185293f0d0b1c4b61d6e4487971"}, + {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09dedf7c2fda934ee68143202acff6e9e8eb0ddeeb4cfc24182bef999efa9f42"}, + {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:59b77e4b7a708988d84f26de3ebead61ef1659c73dcbc9946c18f3b1786d2688"}, + {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d3bc83e14d67adc2e9387e511097f254bd1b43c3020440e708858c684cbac68"}, + {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39371fc551c1072976073ab258c3119395294cf49cdc1f8476794627de3130df"}, + {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6c19feda32b931cae0acd42748a670bdf56bee6476a046af20181ad3fee4090"}, + {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a659467495de201e2f282063808a41170448c78bada1e62707b07a27b05e6943"}, + {file = "safetensors-0.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bad5e4b2476949bcd638a89f71b6916fa9a5cae5c1ae7eede337aca2100435c0"}, + {file = "safetensors-0.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a3a315a6d0054bc6889a17f5668a73f94f7fe55121ff59e0a199e3519c08565f"}, + {file = "safetensors-0.4.5-cp311-none-win32.whl", hash = "sha256:a01e232e6d3d5cf8b1667bc3b657a77bdab73f0743c26c1d3c5dd7ce86bd3a92"}, + {file = "safetensors-0.4.5-cp311-none-win_amd64.whl", hash = "sha256:cbd39cae1ad3e3ef6f63a6f07296b080c951f24cec60188378e43d3713000c04"}, + {file = "safetensors-0.4.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:473300314e026bd1043cef391bb16a8689453363381561b8a3e443870937cc1e"}, + {file = "safetensors-0.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:801183a0f76dc647f51a2d9141ad341f9665602a7899a693207a82fb102cc53e"}, + {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1524b54246e422ad6fb6aea1ac71edeeb77666efa67230e1faf6999df9b2e27f"}, + {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b3139098e3e8b2ad7afbca96d30ad29157b50c90861084e69fcb80dec7430461"}, + {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65573dc35be9059770808e276b017256fa30058802c29e1038eb1c00028502ea"}, + {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd33da8e9407559f8779c82a0448e2133737f922d71f884da27184549416bfed"}, + {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3685ce7ed036f916316b567152482b7e959dc754fcc4a8342333d222e05f407c"}, + {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dde2bf390d25f67908278d6f5d59e46211ef98e44108727084d4637ee70ab4f1"}, + {file = "safetensors-0.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7469d70d3de970b1698d47c11ebbf296a308702cbaae7fcb993944751cf985f4"}, + {file = "safetensors-0.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a6ba28118636a130ccbb968bc33d4684c48678695dba2590169d5ab03a45646"}, + {file = "safetensors-0.4.5-cp312-none-win32.whl", hash = "sha256:c859c7ed90b0047f58ee27751c8e56951452ed36a67afee1b0a87847d065eec6"}, + {file = "safetensors-0.4.5-cp312-none-win_amd64.whl", hash = "sha256:b5a8810ad6a6f933fff6c276eae92c1da217b39b4d8b1bc1c0b8af2d270dc532"}, + {file = "safetensors-0.4.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:25e5f8e2e92a74f05b4ca55686234c32aac19927903792b30ee6d7bd5653d54e"}, + {file = "safetensors-0.4.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:81efb124b58af39fcd684254c645e35692fea81c51627259cdf6d67ff4458916"}, + {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:585f1703a518b437f5103aa9cf70e9bd437cb78eea9c51024329e4fb8a3e3679"}, + {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4b99fbf72e3faf0b2f5f16e5e3458b93b7d0a83984fe8d5364c60aa169f2da89"}, + {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b17b299ca9966ca983ecda1c0791a3f07f9ca6ab5ded8ef3d283fff45f6bcd5f"}, + {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:76ded72f69209c9780fdb23ea89e56d35c54ae6abcdec67ccb22af8e696e449a"}, + {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2783956926303dcfeb1de91a4d1204cd4089ab441e622e7caee0642281109db3"}, + {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d94581aab8c6b204def4d7320f07534d6ee34cd4855688004a4354e63b639a35"}, + {file = "safetensors-0.4.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:67e1e7cb8678bb1b37ac48ec0df04faf689e2f4e9e81e566b5c63d9f23748523"}, + {file = "safetensors-0.4.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:dbd280b07e6054ea68b0cb4b16ad9703e7d63cd6890f577cb98acc5354780142"}, + {file = "safetensors-0.4.5-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:77d9b228da8374c7262046a36c1f656ba32a93df6cc51cd4453af932011e77f1"}, + {file = "safetensors-0.4.5-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:500cac01d50b301ab7bb192353317035011c5ceeef0fca652f9f43c000bb7f8d"}, + {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75331c0c746f03158ded32465b7d0b0e24c5a22121743662a2393439c43a45cf"}, + {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:670e95fe34e0d591d0529e5e59fd9d3d72bc77b1444fcaa14dccda4f36b5a38b"}, + {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:098923e2574ff237c517d6e840acada8e5b311cb1fa226019105ed82e9c3b62f"}, + {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13ca0902d2648775089fa6a0c8fc9e6390c5f8ee576517d33f9261656f851e3f"}, + {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f0032bedc869c56f8d26259fe39cd21c5199cd57f2228d817a0e23e8370af25"}, + {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f4b15f51b4f8f2a512341d9ce3475cacc19c5fdfc5db1f0e19449e75f95c7dc8"}, + {file = "safetensors-0.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f6594d130d0ad933d885c6a7b75c5183cb0e8450f799b80a39eae2b8508955eb"}, + {file = "safetensors-0.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:60c828a27e852ded2c85fc0f87bf1ec20e464c5cd4d56ff0e0711855cc2e17f8"}, + {file = "safetensors-0.4.5-cp37-none-win32.whl", hash = "sha256:6d3de65718b86c3eeaa8b73a9c3d123f9307a96bbd7be9698e21e76a56443af5"}, + {file = "safetensors-0.4.5-cp37-none-win_amd64.whl", hash = "sha256:5a2d68a523a4cefd791156a4174189a4114cf0bf9c50ceb89f261600f3b2b81a"}, + {file = "safetensors-0.4.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:e7a97058f96340850da0601a3309f3d29d6191b0702b2da201e54c6e3e44ccf0"}, + {file = "safetensors-0.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:63bfd425e25f5c733f572e2246e08a1c38bd6f2e027d3f7c87e2e43f228d1345"}, + {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3664ac565d0e809b0b929dae7ccd74e4d3273cd0c6d1220c6430035befb678e"}, + {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:313514b0b9b73ff4ddfb4edd71860696dbe3c1c9dc4d5cc13dbd74da283d2cbf"}, + {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31fa33ee326f750a2f2134a6174773c281d9a266ccd000bd4686d8021f1f3dac"}, + {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09566792588d77b68abe53754c9f1308fadd35c9f87be939e22c623eaacbed6b"}, + {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309aaec9b66cbf07ad3a2e5cb8a03205663324fea024ba391594423d0f00d9fe"}, + {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:53946c5813b8f9e26103c5efff4a931cc45d874f45229edd68557ffb35ffb9f8"}, + {file = "safetensors-0.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:868f9df9e99ad1e7f38c52194063a982bc88fedc7d05096f4f8160403aaf4bd6"}, + {file = "safetensors-0.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9cc9449bd0b0bc538bd5e268221f0c5590bc5c14c1934a6ae359d44410dc68c4"}, + {file = "safetensors-0.4.5-cp38-none-win32.whl", hash = "sha256:83c4f13a9e687335c3928f615cd63a37e3f8ef072a3f2a0599fa09f863fb06a2"}, + {file = "safetensors-0.4.5-cp38-none-win_amd64.whl", hash = "sha256:b98d40a2ffa560653f6274e15b27b3544e8e3713a44627ce268f419f35c49478"}, + {file = "safetensors-0.4.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cf727bb1281d66699bef5683b04d98c894a2803442c490a8d45cd365abfbdeb2"}, + {file = "safetensors-0.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:96f1d038c827cdc552d97e71f522e1049fef0542be575421f7684756a748e457"}, + {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:139fbee92570ecea774e6344fee908907db79646d00b12c535f66bc78bd5ea2c"}, + {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c36302c1c69eebb383775a89645a32b9d266878fab619819ce660309d6176c9b"}, + {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d641f5b8149ea98deb5ffcf604d764aad1de38a8285f86771ce1abf8e74c4891"}, + {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b4db6a61d968de73722b858038c616a1bebd4a86abe2688e46ca0cc2d17558f2"}, + {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b75a616e02f21b6f1d5785b20cecbab5e2bd3f6358a90e8925b813d557666ec1"}, + {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:788ee7d04cc0e0e7f944c52ff05f52a4415b312f5efd2ee66389fb7685ee030c"}, + {file = "safetensors-0.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:87bc42bd04fd9ca31396d3ca0433db0be1411b6b53ac5a32b7845a85d01ffc2e"}, + {file = "safetensors-0.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4037676c86365a721a8c9510323a51861d703b399b78a6b4486a54a65a975fca"}, + {file = "safetensors-0.4.5-cp39-none-win32.whl", hash = "sha256:1500418454529d0ed5c1564bda376c4ddff43f30fce9517d9bee7bcce5a8ef50"}, + {file = "safetensors-0.4.5-cp39-none-win_amd64.whl", hash = "sha256:9d1a94b9d793ed8fe35ab6d5cea28d540a46559bafc6aae98f30ee0867000cab"}, + {file = "safetensors-0.4.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fdadf66b5a22ceb645d5435a0be7a0292ce59648ca1d46b352f13cff3ea80410"}, + {file = "safetensors-0.4.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d42ffd4c2259f31832cb17ff866c111684c87bd930892a1ba53fed28370c918c"}, + {file = "safetensors-0.4.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd8a1f6d2063a92cd04145c7fd9e31a1c7d85fbec20113a14b487563fdbc0597"}, + {file = "safetensors-0.4.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:951d2fcf1817f4fb0ef0b48f6696688a4e852a95922a042b3f96aaa67eedc920"}, + {file = "safetensors-0.4.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ac85d9a8c1af0e3132371d9f2d134695a06a96993c2e2f0bbe25debb9e3f67a"}, + {file = "safetensors-0.4.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:e3cec4a29eb7fe8da0b1c7988bc3828183080439dd559f720414450de076fcab"}, + {file = "safetensors-0.4.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:21742b391b859e67b26c0b2ac37f52c9c0944a879a25ad2f9f9f3cd61e7fda8f"}, + {file = "safetensors-0.4.5-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c7db3006a4915151ce1913652e907cdede299b974641a83fbc092102ac41b644"}, + {file = "safetensors-0.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f68bf99ea970960a237f416ea394e266e0361895753df06e3e06e6ea7907d98b"}, + {file = "safetensors-0.4.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8158938cf3324172df024da511839d373c40fbfaa83e9abf467174b2910d7b4c"}, + {file = "safetensors-0.4.5-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:540ce6c4bf6b58cb0fd93fa5f143bc0ee341c93bb4f9287ccd92cf898cc1b0dd"}, + {file = "safetensors-0.4.5-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bfeaa1a699c6b9ed514bd15e6a91e74738b71125a9292159e3d6b7f0a53d2cde"}, + {file = "safetensors-0.4.5-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:01c8f00da537af711979e1b42a69a8ec9e1d7112f208e0e9b8a35d2c381085ef"}, + {file = "safetensors-0.4.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a0dd565f83b30f2ca79b5d35748d0d99dd4b3454f80e03dfb41f0038e3bdf180"}, + {file = "safetensors-0.4.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:023b6e5facda76989f4cba95a861b7e656b87e225f61811065d5c501f78cdb3f"}, + {file = "safetensors-0.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9633b663393d5796f0b60249549371e392b75a0b955c07e9c6f8708a87fc841f"}, + {file = "safetensors-0.4.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78dd8adfb48716233c45f676d6e48534d34b4bceb50162c13d1f0bdf6f78590a"}, + {file = "safetensors-0.4.5-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8e8deb16c4321d61ae72533b8451ec4a9af8656d1c61ff81aa49f966406e4b68"}, + {file = "safetensors-0.4.5-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:52452fa5999dc50c4decaf0c53aa28371f7f1e0fe5c2dd9129059fbe1e1599c7"}, + {file = "safetensors-0.4.5-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d5f23198821e227cfc52d50fa989813513db381255c6d100927b012f0cfec63d"}, + {file = "safetensors-0.4.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f4beb84b6073b1247a773141a6331117e35d07134b3bb0383003f39971d414bb"}, + {file = "safetensors-0.4.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:68814d599d25ed2fdd045ed54d370d1d03cf35e02dce56de44c651f828fb9b7b"}, + {file = "safetensors-0.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0b6453c54c57c1781292c46593f8a37254b8b99004c68d6c3ce229688931a22"}, + {file = "safetensors-0.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adaa9c6dead67e2dd90d634f89131e43162012479d86e25618e821a03d1eb1dc"}, + {file = "safetensors-0.4.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:73e7d408e9012cd17511b382b43547850969c7979efc2bc353f317abaf23c84c"}, + {file = "safetensors-0.4.5-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:775409ce0fcc58b10773fdb4221ed1eb007de10fe7adbdf8f5e8a56096b6f0bc"}, + {file = "safetensors-0.4.5-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:834001bed193e4440c4a3950a31059523ee5090605c907c66808664c932b549c"}, + {file = "safetensors-0.4.5.tar.gz", hash = "sha256:d73de19682deabb02524b3d5d1f8b3aaba94c72f1bbfc7911b9b9d5d391c0310"}, ] [package.extras] all = ["safetensors[jax]", "safetensors[numpy]", "safetensors[paddlepaddle]", "safetensors[pinned-tf]", "safetensors[quality]", "safetensors[testing]", "safetensors[torch]"] dev = ["safetensors[all]"] jax = ["flax (>=0.6.3)", "jax (>=0.3.25)", "jaxlib (>=0.3.25)", "safetensors[numpy]"] +mlx = ["mlx (>=0.0.9)"] numpy = ["numpy (>=1.21.6)"] paddlepaddle = ["paddlepaddle (>=2.4.1)", "safetensors[numpy]"] pinned-tf = ["safetensors[numpy]", "tensorflow (==2.11.0)"] quality = ["black (==22.3)", "click (==8.0.4)", "flake8 (>=3.8.3)", "isort (>=5.5.4)"] tensorflow = ["safetensors[numpy]", "tensorflow (>=2.11.0)"] -testing = ["h5py (>=3.7.0)", "huggingface_hub (>=0.12.1)", "hypothesis (>=6.70.2)", "pytest (>=7.2.0)", "pytest-benchmark (>=4.0.0)", "safetensors[numpy]", "setuptools_rust (>=1.5.2)"] +testing = ["h5py (>=3.7.0)", "huggingface-hub (>=0.12.1)", "hypothesis (>=6.70.2)", "pytest (>=7.2.0)", "pytest-benchmark (>=4.0.0)", "safetensors[numpy]", "setuptools-rust (>=1.5.2)"] torch = ["safetensors[numpy]", "torch (>=1.10)"] [[package]] name = "send2trash" -version = "1.8.0" -description = "Send file to trash natively under Mac OS X, Windows and Linux." +version = "1.8.3" +description = "Send file to trash natively under Mac OS X, Windows and Linux" optional = false -python-versions = "*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "Send2Trash-1.8.0-py3-none-any.whl", hash = "sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08"}, - {file = "Send2Trash-1.8.0.tar.gz", hash = "sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d"}, + {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, + {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, ] [package.extras] @@ -3119,73 +3804,85 @@ win32 = ["pywin32"] [[package]] name = "sentencepiece" -version = "0.1.99" +version = "0.2.0" description = "SentencePiece python wrapper" optional = false python-versions = "*" files = [ - {file = "sentencepiece-0.1.99-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0eb528e70571b7c02723e5804322469b82fe7ea418c96051d0286c0fa028db73"}, - {file = "sentencepiece-0.1.99-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:77d7fafb2c4e4659cbdf303929503f37a26eabc4ff31d3a79bf1c5a1b338caa7"}, - {file = "sentencepiece-0.1.99-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be9cf5b9e404c245aeb3d3723c737ba7a8f5d4ba262ef233a431fa6c45f732a0"}, - {file = "sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baed1a26464998f9710d20e52607c29ffd4293e7c71c6a1f83f51ad0911ec12c"}, - {file = "sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9832f08bb372d4c8b567612f8eab9e36e268dff645f1c28f9f8e851be705f6d1"}, - {file = "sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:019e7535108e309dae2b253a75834fc3128240aa87c00eb80732078cdc182588"}, - {file = "sentencepiece-0.1.99-cp310-cp310-win32.whl", hash = "sha256:fa16a830416bb823fa2a52cbdd474d1f7f3bba527fd2304fb4b140dad31bb9bc"}, - {file = "sentencepiece-0.1.99-cp310-cp310-win_amd64.whl", hash = "sha256:14b0eccb7b641d4591c3e12ae44cab537d68352e4d3b6424944f0c447d2348d5"}, - {file = "sentencepiece-0.1.99-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6d3c56f24183a1e8bd61043ff2c58dfecdc68a5dd8955dc13bab83afd5f76b81"}, - {file = "sentencepiece-0.1.99-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed6ea1819fd612c989999e44a51bf556d0ef6abfb553080b9be3d347e18bcfb7"}, - {file = "sentencepiece-0.1.99-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2a0260cd1fb7bd8b4d4f39dc2444a8d5fd4e0a0c4d5c899810ef1abf99b2d45"}, - {file = "sentencepiece-0.1.99-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a1abff4d1ff81c77cac3cc6fefa34fa4b8b371e5ee51cb7e8d1ebc996d05983"}, - {file = "sentencepiece-0.1.99-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:004e6a621d4bc88978eecb6ea7959264239a17b70f2cbc348033d8195c9808ec"}, - {file = "sentencepiece-0.1.99-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db361e03342c41680afae5807590bc88aa0e17cfd1a42696a160e4005fcda03b"}, - {file = "sentencepiece-0.1.99-cp311-cp311-win32.whl", hash = "sha256:2d95e19168875b70df62916eb55428a0cbcb834ac51d5a7e664eda74def9e1e0"}, - {file = "sentencepiece-0.1.99-cp311-cp311-win_amd64.whl", hash = "sha256:f90d73a6f81248a909f55d8e6ef56fec32d559e1e9af045f0b0322637cb8e5c7"}, - {file = "sentencepiece-0.1.99-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:62e24c81e74bd87a6e0d63c51beb6527e4c0add67e1a17bac18bcd2076afcfeb"}, - {file = "sentencepiece-0.1.99-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57efcc2d51caff20d9573567d9fd3f854d9efe613ed58a439c78c9f93101384a"}, - {file = "sentencepiece-0.1.99-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a904c46197993bd1e95b93a6e373dca2f170379d64441041e2e628ad4afb16f"}, - {file = "sentencepiece-0.1.99-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d89adf59854741c0d465f0e1525b388c0d174f611cc04af54153c5c4f36088c4"}, - {file = "sentencepiece-0.1.99-cp36-cp36m-win32.whl", hash = "sha256:47c378146928690d1bc106fdf0da768cebd03b65dd8405aa3dd88f9c81e35dba"}, - {file = "sentencepiece-0.1.99-cp36-cp36m-win_amd64.whl", hash = "sha256:9ba142e7a90dd6d823c44f9870abdad45e6c63958eb60fe44cca6828d3b69da2"}, - {file = "sentencepiece-0.1.99-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b7b1a9ae4d7c6f1f867e63370cca25cc17b6f4886729595b885ee07a58d3cec3"}, - {file = "sentencepiece-0.1.99-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0f644c9d4d35c096a538507b2163e6191512460035bf51358794a78515b74f7"}, - {file = "sentencepiece-0.1.99-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c8843d23a0f686d85e569bd6dcd0dd0e0cbc03731e63497ca6d5bacd18df8b85"}, - {file = "sentencepiece-0.1.99-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33e6f690a1caebb4867a2e367afa1918ad35be257ecdb3455d2bbd787936f155"}, - {file = "sentencepiece-0.1.99-cp37-cp37m-win32.whl", hash = "sha256:8a321866c2f85da7beac74a824b4ad6ddc2a4c9bccd9382529506d48f744a12c"}, - {file = "sentencepiece-0.1.99-cp37-cp37m-win_amd64.whl", hash = "sha256:c42f753bcfb7661c122a15b20be7f684b61fc8592c89c870adf52382ea72262d"}, - {file = "sentencepiece-0.1.99-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:85b476406da69c70586f0bb682fcca4c9b40e5059814f2db92303ea4585c650c"}, - {file = "sentencepiece-0.1.99-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cfbcfe13c69d3f87b7fcd5da168df7290a6d006329be71f90ba4f56bc77f8561"}, - {file = "sentencepiece-0.1.99-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:445b0ec381af1cd4eef95243e7180c63d9c384443c16c4c47a28196bd1cda937"}, - {file = "sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6890ea0f2b4703f62d0bf27932e35808b1f679bdb05c7eeb3812b935ba02001"}, - {file = "sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb71af492b0eefbf9f2501bec97bcd043b6812ab000d119eaf4bd33f9e283d03"}, - {file = "sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27b866b5bd3ddd54166bbcbf5c8d7dd2e0b397fac8537991c7f544220b1f67bc"}, - {file = "sentencepiece-0.1.99-cp38-cp38-win32.whl", hash = "sha256:b133e8a499eac49c581c3c76e9bdd08c338cc1939e441fee6f92c0ccb5f1f8be"}, - {file = "sentencepiece-0.1.99-cp38-cp38-win_amd64.whl", hash = "sha256:0eaf3591dd0690a87f44f4df129cf8d05d8a4029b5b6709b489b8e27f9a9bcff"}, - {file = "sentencepiece-0.1.99-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38efeda9bbfb55052d482a009c6a37e52f42ebffcea9d3a98a61de7aee356a28"}, - {file = "sentencepiece-0.1.99-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6c030b081dc1e1bcc9fadc314b19b740715d3d566ad73a482da20d7d46fd444c"}, - {file = "sentencepiece-0.1.99-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:84dbe53e02e4f8a2e45d2ac3e430d5c83182142658e25edd76539b7648928727"}, - {file = "sentencepiece-0.1.99-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b0f55d0a0ee1719b4b04221fe0c9f0c3461dc3dabd77a035fa2f4788eb3ef9a"}, - {file = "sentencepiece-0.1.99-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18e800f206cd235dc27dc749299e05853a4e4332e8d3dfd81bf13d0e5b9007d9"}, - {file = "sentencepiece-0.1.99-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae1c40cda8f9d5b0423cfa98542735c0235e7597d79caf318855cdf971b2280"}, - {file = "sentencepiece-0.1.99-cp39-cp39-win32.whl", hash = "sha256:c84ce33af12ca222d14a1cdd37bd76a69401e32bc68fe61c67ef6b59402f4ab8"}, - {file = "sentencepiece-0.1.99-cp39-cp39-win_amd64.whl", hash = "sha256:350e5c74d739973f1c9643edb80f7cc904dc948578bcb1d43c6f2b173e5d18dd"}, - {file = "sentencepiece-0.1.99.tar.gz", hash = "sha256:189c48f5cb2949288f97ccdb97f0473098d9c3dcf5a3d99d4eabe719ec27297f"}, + {file = "sentencepiece-0.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:188779e1298a1c8b8253c7d3ad729cb0a9891e5cef5e5d07ce4592c54869e227"}, + {file = "sentencepiece-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bed9cf85b296fa2b76fc2547b9cbb691a523864cebaee86304c43a7b4cb1b452"}, + {file = "sentencepiece-0.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d7b67e724bead13f18db6e1d10b6bbdc454af574d70efbb36f27d90387be1ca3"}, + {file = "sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fde4b08cfe237be4484c6c7c2e2c75fb862cfeab6bd5449ce4caeafd97b767a"}, + {file = "sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c378492056202d1c48a4979650981635fd97875a00eabb1f00c6a236b013b5e"}, + {file = "sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1380ce6540a368de2ef6d7e6ba14ba8f3258df650d39ba7d833b79ee68a52040"}, + {file = "sentencepiece-0.2.0-cp310-cp310-win32.whl", hash = "sha256:a1151d6a6dd4b43e552394aed0edfe9292820272f0194bd56c7c1660a0c06c3d"}, + {file = "sentencepiece-0.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:d490142b0521ef22bc1085f061d922a2a6666175bb6b42e588ff95c0db6819b2"}, + {file = "sentencepiece-0.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:17982700c4f6dbb55fa3594f3d7e5dd1c8659a274af3738e33c987d2a27c9d5c"}, + {file = "sentencepiece-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7c867012c0e8bcd5bdad0f791609101cb5c66acb303ab3270218d6debc68a65e"}, + {file = "sentencepiece-0.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7fd6071249c74f779c5b27183295b9202f8dedb68034e716784364443879eaa6"}, + {file = "sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f90c55a65013cbb8f4d7aab0599bf925cde4adc67ae43a0d323677b5a1c6cb"}, + {file = "sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b293734059ef656dcd65be62ff771507bea8fed0a711b6733976e1ed3add4553"}, + {file = "sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e58b47f933aca74c6a60a79dcb21d5b9e47416256c795c2d58d55cec27f9551d"}, + {file = "sentencepiece-0.2.0-cp311-cp311-win32.whl", hash = "sha256:c581258cf346b327c62c4f1cebd32691826306f6a41d8c4bec43b010dee08e75"}, + {file = "sentencepiece-0.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:0993dbc665f4113017892f1b87c3904a44d0640eda510abcacdfb07f74286d36"}, + {file = "sentencepiece-0.2.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ea5f536e32ea8ec96086ee00d7a4a131ce583a1b18d130711707c10e69601cb2"}, + {file = "sentencepiece-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0cb51f53b6aae3c36bafe41e86167c71af8370a039f542c43b0cce5ef24a68c"}, + {file = "sentencepiece-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3212121805afc58d8b00ab4e7dd1f8f76c203ddb9dc94aa4079618a31cf5da0f"}, + {file = "sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a3149e3066c2a75e0d68a43eb632d7ae728c7925b517f4c05c40f6f7280ce08"}, + {file = "sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632f3594d3e7ac8b367bca204cb3fd05a01d5b21455acd097ea4c0e30e2f63d7"}, + {file = "sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f295105c6bdbb05bd5e1b0cafbd78ff95036f5d3641e7949455a3f4e5e7c3109"}, + {file = "sentencepiece-0.2.0-cp312-cp312-win32.whl", hash = "sha256:fb89f811e5efd18bab141afc3fea3de141c3f69f3fe9e898f710ae7fe3aab251"}, + {file = "sentencepiece-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a673a72aab81fef5ebe755c6e0cc60087d1f3a4700835d40537183c1703a45f"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4547683f330289ec4f093027bfeb87f9ef023b2eb6f879fdc4a8187c7e0ffb90"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd6175f7eaec7142d2bf6f6597ce7db4c9ac89acf93fcdb17410c3a8b781eeb"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:859ba1acde782609a0910a26a60e16c191a82bf39b5621107552c0cd79fad00f"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcbbef6cc277f8f18f36959e305f10b1c620442d75addc79c21d7073ae581b50"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-win32.whl", hash = "sha256:536b934e244829e3fe6c4f198652cd82da48adb9aa145c9f00889542726dee3d"}, + {file = "sentencepiece-0.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:0a91aaa3c769b52440df56fafda683b3aa48e3f2169cf7ee5b8c8454a7f3ae9b"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:787e480ca4c1d08c9985a7eb1eae4345c107729c99e9b5a9a00f2575fc7d4b4b"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4d158189eb2ecffea3a51edf6d25e110b3678ec47f1a40f2d541eafbd8f6250"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1e5ca43013e8935f25457a4fca47e315780172c3e821b4b13a890668911c792"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7140d9e5a74a0908493bb4a13f1f16a401297bd755ada4c707e842fbf6f0f5bf"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-win32.whl", hash = "sha256:6cf333625234f247ab357b0bd9836638405ea9082e1543d5b8408f014979dcbf"}, + {file = "sentencepiece-0.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ff88712338b01031910e8e61e7239aff3ce8869ee31a47df63cb38aadd591bea"}, + {file = "sentencepiece-0.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20813a68d4c221b1849c62c30e1281ea81687894d894b8d4a0f4677d9311e0f5"}, + {file = "sentencepiece-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:926ef920ae2e8182db31d3f5d081ada57804e3e1d3a8c4ef8b117f9d9fb5a945"}, + {file = "sentencepiece-0.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:89f65f69636b7e9c015b79dff9c9985a9bc7d19ded6f79ef9f1ec920fdd73ecf"}, + {file = "sentencepiece-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f67eae0dbe6f2d7d6ba50a354623d787c99965f068b81e145d53240198021b0"}, + {file = "sentencepiece-0.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98501e075f35dd1a1d5a20f65be26839fcb1938752ec61539af008a5aa6f510b"}, + {file = "sentencepiece-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3d1d2cc4882e8d6a1adf9d5927d7716f80617fc693385661caff21888972269"}, + {file = "sentencepiece-0.2.0-cp38-cp38-win32.whl", hash = "sha256:b99a308a2e5e569031ab164b74e6fab0b6f37dfb493c32f7816225f4d411a6dd"}, + {file = "sentencepiece-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:cdb701eec783d3ec86b7cd4c763adad8eaf6b46db37ee1c36e5e6c44b3fe1b5f"}, + {file = "sentencepiece-0.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1e0f9c4d0a6b0af59b613175f019916e28ade076e21242fd5be24340d8a2f64a"}, + {file = "sentencepiece-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:298f21cc1366eb60311aedba3169d30f885c363ddbf44214b0a587d2908141ad"}, + {file = "sentencepiece-0.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f1ec95aa1e5dab11f37ac7eff190493fd87770f7a8b81ebc9dd768d1a3c8704"}, + {file = "sentencepiece-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b06b70af54daa4b4904cbb90b4eb6d35c9f3252fdc86c9c32d5afd4d30118d8"}, + {file = "sentencepiece-0.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22e37bac44dd6603388cb598c64ff7a76e41ca774646f21c23aadfbf5a2228ab"}, + {file = "sentencepiece-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0461324897735512a32d222e3d886e24ad6a499761952b6bda2a9ee6e4313ea5"}, + {file = "sentencepiece-0.2.0-cp39-cp39-win32.whl", hash = "sha256:38aed822fb76435fa1f12185f10465a94ab9e51d5e8a9159e9a540ce926f0ffd"}, + {file = "sentencepiece-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:d8cf876516548b5a1d6ac4745d8b554f5c07891d55da557925e5c13ff0b4e6ad"}, + {file = "sentencepiece-0.2.0.tar.gz", hash = "sha256:a52c19171daaf2e697dc6cbe67684e0fa341b1248966f6aebb541de654d15843"}, ] [[package]] name = "setuptools" -version = "68.2.2" +version = "75.2.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, - {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, + {file = "setuptools-75.2.0-py3-none-any.whl", hash = "sha256:a7fcb66f68b4d9e8e66b42f9876150a3371558f98fa32222ffaa5bced76406f8"}, + {file = "setuptools-75.2.0.tar.gz", hash = "sha256:753bb6ebf1f465a1912e19ed1d41f403a79173a9acf66a42e7e6aec45c3c16ec"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] +core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.collections", "jaraco.functools", "jaraco.text (>=3.7)", "more-itertools", "more-itertools (>=8.8)", "packaging", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] [[package]] name = "sil-thot" @@ -3237,13 +3934,13 @@ files = [ [[package]] name = "sniffio" -version = "1.3.0" +version = "1.3.1" description = "Sniff out which async library your code is running under" optional = false python-versions = ">=3.7" files = [ - {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, - {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, ] [[package]] @@ -3259,38 +3956,60 @@ files = [ [[package]] name = "soupsieve" -version = "2.4" +version = "2.6" description = "A modern CSS selector implementation for Beautiful Soup." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, + {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +description = "Extract data from python stack frames and tracebacks for informative displays" +optional = false +python-versions = "*" files = [ - {file = "soupsieve-2.4-py3-none-any.whl", hash = "sha256:49e5368c2cda80ee7e84da9dbe3e110b70a4575f196efb74e51b94549d921955"}, - {file = "soupsieve-2.4.tar.gz", hash = "sha256:e28dba9ca6c7c00173e34e4ba57448f0688bb681b7c5e8bf4971daafc093d69a"}, + {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, + {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, ] +[package.dependencies] +asttokens = ">=2.1.0" +executing = ">=1.2.0" +pure-eval = "*" + +[package.extras] +tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] + [[package]] name = "sympy" -version = "1.12" +version = "1.13.3" description = "Computer algebra system (CAS) in Python" optional = false python-versions = ">=3.8" files = [ - {file = "sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5"}, - {file = "sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"}, + {file = "sympy-1.13.3-py3-none-any.whl", hash = "sha256:54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73"}, + {file = "sympy-1.13.3.tar.gz", hash = "sha256:b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9"}, ] [package.dependencies] -mpmath = ">=0.19" +mpmath = ">=1.1.0,<1.4" + +[package.extras] +dev = ["hypothesis (>=6.70.0)", "pytest (>=7.1.0)"] [[package]] name = "terminado" -version = "0.17.1" +version = "0.18.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "terminado-0.17.1-py3-none-any.whl", hash = "sha256:8650d44334eba354dd591129ca3124a6ba42c3d5b70df5051b6921d506fdaeae"}, - {file = "terminado-0.17.1.tar.gz", hash = "sha256:6ccbbcd3a4f8a25a5ec04991f39a0b8db52dfcd487ea0e578d977e6752380333"}, + {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, + {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, ] [package.dependencies] @@ -3301,16 +4020,17 @@ tornado = ">=6.1.0" [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] +typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] [[package]] name = "tinycss2" -version = "1.2.1" +version = "1.3.0" description = "A tiny CSS parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, - {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, + {file = "tinycss2-1.3.0-py3-none-any.whl", hash = "sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7"}, + {file = "tinycss2-1.3.0.tar.gz", hash = "sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d"}, ] [package.dependencies] @@ -3318,117 +4038,129 @@ webencodings = ">=0.4" [package.extras] doc = ["sphinx", "sphinx_rtd_theme"] -test = ["flake8", "isort", "pytest"] +test = ["pytest", "ruff"] [[package]] name = "tokenizers" -version = "0.14.1" +version = "0.15.2" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "tokenizers-0.14.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:04ec1134a18ede355a05641cdc7700f17280e01f69f2f315769f02f7e295cf1e"}, - {file = "tokenizers-0.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:638abedb39375f0ddce2de536fc9c976639b2d1b7202d715c2e7a25f0ebfd091"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:901635098565773a44f74068639d265f19deaaca47ea77b428fd9bee13a61d87"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e95184bf5b9a4c08153ed07c16c130ff174835c9a1e6ee2b311be758c8b3ef"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebefbc26ccff5e96ae7d40772172e7310174f9aa3683d2870a1882313ec3a4d5"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3a6330c9f1deda22873e8b4ac849cc06d3ff33d60b3217ac0bb397b541e1509"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6cba7483ba45600346a35c466bde32327b108575022f73c35a0f7170b5a71ae2"}, - {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60fec380778d75cbb492f14ca974f11f37b41d53c057b9c8ba213315b86e1f84"}, - {file = "tokenizers-0.14.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:930c19b699dd7e1077eac98967adc2fe5f0b104bd96cc1f26778ab82b31ceb24"}, - {file = "tokenizers-0.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a1e30a13376db5329570e09b14c8eb36c017909ed7e88591ca3aa81f3c7d6f32"}, - {file = "tokenizers-0.14.1-cp310-none-win32.whl", hash = "sha256:370b5b86da9bddbe65fa08711f0e8ffdf8b0036558178d1a31dfcb44efcde72a"}, - {file = "tokenizers-0.14.1-cp310-none-win_amd64.whl", hash = "sha256:c2c659f2106b6d154f118ad1b700e68148c46c59b720f04867b1fc5f26a85060"}, - {file = "tokenizers-0.14.1-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:00df4c5bf25c153b432b98689609b426ae701a44f3d8074dcb619f410bc2a870"}, - {file = "tokenizers-0.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fee553657dcdb7e73df8823c49e8611457ba46e9d7026b7e9c44820c08c327c3"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a480bd902e327dfcaa52b7dd14fdc71e7aa45d73a3d6e41e028a75891d2823cf"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e448b2be0430ab839cf7954715c39d6f34ff6cf2b49393f336283b7a59f485af"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c11444984aecd342f0cf160c3320288edeb1763871fbb560ed466654b2a7016c"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe164a1c72c6be3c5c26753c6c412f81412f4dae0d7d06371e0b396a9cc0fc9"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72d9967fb1f927542cfb5347207fde01b29f25c9bb8cbc7ced280decfa015983"}, - {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37cc955c84ec67c2d11183d372044399342b20a1fa447b7a33040f4889bba318"}, - {file = "tokenizers-0.14.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:db96cf092d86d4cb543daa9148e299011e0a40770380bb78333b9fd700586fcb"}, - {file = "tokenizers-0.14.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c84d3cb1349936c2b96ca6175b50f5a9518170bffd76464219ee0ea6022a64a7"}, - {file = "tokenizers-0.14.1-cp311-none-win32.whl", hash = "sha256:8db3a6f3d430ac3dc3793c53fa8e5e665c23ba359484d365a191027ad8b65a30"}, - {file = "tokenizers-0.14.1-cp311-none-win_amd64.whl", hash = "sha256:c65d76052561c60e17cb4fa289885ed00a9995d59e97019fac2138bd45142057"}, - {file = "tokenizers-0.14.1-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:c375161b588982be381c43eb7158c250f430793d0f708ce379a0f196164c6778"}, - {file = "tokenizers-0.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:50f03d2330a153a9114c2429061137bd323736059f384de8348d7cb1ca1baa15"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0c8ee283b249c3c3c201c41bc23adc3be2514ae4121eacdb5c5250a461eaa8c6"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9f27399b8d50c5d3f08f0aae961bcc66a1dead1cd0ae9401e4c2a43a623322a"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:89cbeec7e9d5d8773ec4779c64e3cbcbff53d234ca6ad7b1a3736588003bba48"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:08e55920b453c30b46d58accc68a38e8e7488d0c03babfdb29c55d3f39dd2052"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91d32bd1056c0e83a0f90e4ffa213c25096b2d8b9f0e2d172a45f138c7d8c081"}, - {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44f1748035c36c939848c935715bde41734d9249ab7b844ff9bfbe984be8952c"}, - {file = "tokenizers-0.14.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1ff516d129f01bb7a4aa95bc6aae88e4d86dd63bfc2d57db9302c2624d1be7cb"}, - {file = "tokenizers-0.14.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:acfc8db61c6e919d932448cc7985b85e330c8d745528e12fce6e62d40d268bce"}, - {file = "tokenizers-0.14.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:ba336bc9107acbc1da2ad30967df7b2db93448ca66538ad86aa1fbb91116f631"}, - {file = "tokenizers-0.14.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:f77371b5030e53f8bf92197640af437539e3bba1bc8342b97888c8e26567bfdc"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d72d25c57a9c814240802d188ff0a808b701e2dd2bf1c64721c7088ceeeb1ed7"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caf0df8657277e32671aa8a4d3cc05f2050ab19d9b49447f2265304168e9032c"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cb3c6bc6e599e46a26ad559ad5dec260ffdf705663cc9b894033d64a69314e86"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8cf2fcdc2368df4317e05571e33810eeed24cd594acc9dfc9788b21dac6b3a8"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f475d5eda41d2ed51ca775a07c80529a923dd759fcff7abf03ccdd83d9f7564e"}, - {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cce4d1a97a7eb2253b5d3f29f4a478d8c37ba0303ea34024eb9e65506d4209f8"}, - {file = "tokenizers-0.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ff66577ae55114f7d0f6aa0d4d335f27cae96bf245962a745b718ec887bbe7eb"}, - {file = "tokenizers-0.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a687099e085f5162e5b88b3402adb6c2b41046180c015c5075c9504440b6e971"}, - {file = "tokenizers-0.14.1-cp37-none-win32.whl", hash = "sha256:49f5336b82e315a33bef1025d247ca08d95719715b29e33f0e9e8cf15ff1dfb6"}, - {file = "tokenizers-0.14.1-cp37-none-win_amd64.whl", hash = "sha256:117c8da60d1bd95a6df2692926f36de7971baa1d89ff702fae47b6689a4465ad"}, - {file = "tokenizers-0.14.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:01d2bd5935642de22a6c6778bb2307f9949cd6eaeeb5c77f9b98f0060b69f0db"}, - {file = "tokenizers-0.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b05ec04132394c20bd6bcb692d557a8eb8ab1bac1646d28e49c67c00907d17c8"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7d9025b185465d9d18679406f6f394850347d5ed2681efc203539d800f36f459"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2539831838ab5393f78a893d7bbf27d5c36e43baf77e91dc9992922b2b97e09d"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ec8f46d533092d8e20bc742c47918cbe24b8641dbfbbcb83177c5de3c9d4decb"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8b019c4810903fdea3b230f358b9d27377c0f38454778b607676c9e1b57d14b7"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e8984114fd83ed3913d89526c992395920930c9620a2feee61faf035f41d7b9a"}, - {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11284b32f0036fe7ef4b8b00201dda79c00f3fcea173bc0e5c599e09c937ab0f"}, - {file = "tokenizers-0.14.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:53614f44f36917282a583180e402105bc63d61d1aca067d51cb7f051eb489901"}, - {file = "tokenizers-0.14.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e3b6082e9532309727273443c8943bb9558d52e36788b246aa278bda7c642116"}, - {file = "tokenizers-0.14.1-cp38-none-win32.whl", hash = "sha256:7560fca3e17a6bc876d20cd825d7721c101fa2b1cd0bfa0abf9a2e781e49b37b"}, - {file = "tokenizers-0.14.1-cp38-none-win_amd64.whl", hash = "sha256:c318a5acb429ca38f632577754235140bbb8c5a27faca1c51b43fbf575596e34"}, - {file = "tokenizers-0.14.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:b886e0f5c72aa4249c609c24b9610a9ca83fd963cbb5066b19302723ea505279"}, - {file = "tokenizers-0.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f522f28c88a0d5b2f9e895cf405dd594cd518e99d61905406aec74d30eb6383b"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5bef76c4d9329913cef2fe79ce1f4dab98f77fa4887e5f0420ffc9386941de32"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59c7df2103052b30b7c76d4fa8251326c9f82689578a912698a127dc1737f43e"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:232445e7b85255ccfe68dfd42185db8a3f3349b34ad7068404856c4a5f67c355"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8e63781da85aa8948864970e529af10abc4084a990d30850c41bbdb5f83eee45"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5760a831c0f3c6d3229b50ef3fafa4c164ec99d7e8c2237fe144e67a9d33b120"}, - {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c84b456ff8525ec3ff09762e32ccc27888d036dcd0ba2883e1db491e164dd725"}, - {file = "tokenizers-0.14.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:463ee5f3afbfec29cbf5652752c9d1032bdad63daf48bb8cb9970064cc81d5f9"}, - {file = "tokenizers-0.14.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ee6b63aecf929a7bcf885bdc8a8aec96c43bc4442f63fe8c6d48f24fc992b05b"}, - {file = "tokenizers-0.14.1-cp39-none-win32.whl", hash = "sha256:aae42798ba1da3bc1572b2048fe42e61dd6bacced2b424cb0f5572c5432f79c2"}, - {file = "tokenizers-0.14.1-cp39-none-win_amd64.whl", hash = "sha256:68c4699147dded6926a3d2c2f948d435d54d027f69909e0ef3c6587933723ed2"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:5f9afdcf701a1aa3c41e0e748c152d2162434d61639a1e5d8523ecf60ae35aea"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6859d81243cd09854be9054aca3ecab14a2dee5b3c9f6d7ef12061d478ca0c57"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7975178f9478ccedcf613332d5d6f37b67c74ef4e2e47e0c965597506b921f04"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ce2f0ff2e5f12ac5bebaa690606395725239265d7ffa35f35c243a379316297"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c7cfc3d42e81cda802f93aa9e92caf79feaa1711426e28ce620560b8aaf5e4d"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:67d3adff654dc7f7c7091dd259b3b847fe119c08d0bda61db91e2ea2b61c38c0"}, - {file = "tokenizers-0.14.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:956729b7dd599020e57133fb95b777e4f81ee069ff0a70e80f6eeac82658972f"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:fe2ea1177146a7ab345ab61e90a490eeea25d5f063e1cb9d4eb1425b169b64d7"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9930f31f603ecc6ea54d5c6dfa299f926ab3e921f72f94babcb02598c32b57c6"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d49567a2754e9991c05c2b5a7e6650b56e24365b7cab504558e58033dcf0edc4"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3678be5db330726f19c1949d8ae1b845a02eeb2a2e1d5a8bb8eaa82087ae25c1"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:42b180ed1bec58ab9bdc65d406577e0c0fb7241b74b8c032846073c7743c9f86"}, - {file = "tokenizers-0.14.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:319e4367596fb0d52be645b3de1616faf0fadaf28507ce1c7595bebd9b4c402c"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:2cda65b689aec63b7c76a77f43a08044fa90bbc6ad9849267cedfee9795913f3"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:ca0bfc79b27d84fcb7fa09339b2ee39077896738d9a30ff99c0332376e985072"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a7093767e070269e22e2c5f845e46510304f124c32d2cd249633c0f27eb29d86"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad759ba39cd32c2c2247864d02c84ea5883b5f6cc6a4ee0c95602a3dde52268f"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26fee36a6d8f2bd9464f3566b95e3e3fb7fd7dad723f775c500aac8204ec98c6"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d091c62cb7abbd32e527a85c41f7c8eb4526a926251891fc4ecbe5f974142ffb"}, - {file = "tokenizers-0.14.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ca304402ea66d58f99c05aa3d7a6052faea61e5a8313b94f6bc36fbf27960e2d"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:102f118fa9b720b93c3217c1e239ed7bc1ae1e8dbfe9b4983a4f2d7b4ce6f2ec"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:df4f058e96e8b467b7742e5dba7564255cd482d3c1e6cf81f8cb683bb0433340"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:040ee44efc1806900de72b13c1c3036154077d9cde189c9a7e7a50bbbdcbf39f"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7618b84118ae704f7fa23c4a190bd80fc605671841a4427d5ca14b9b8d9ec1a3"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ecdfe9736c4a73343f629586016a137a10faed1a29c6dc699d8ab20c2d3cf64"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:92c34de04fec7f4ff95f7667d4eb085c4e4db46c31ef44c3d35c38df128430da"}, - {file = "tokenizers-0.14.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:628b654ba555b2ba9111c0936d558b14bfc9d5f57b8c323b02fc846036b38b2f"}, - {file = "tokenizers-0.14.1.tar.gz", hash = "sha256:ea3b3f8908a9a5b9d6fc632b5f012ece7240031c44c6d4764809f33736534166"}, -] - -[package.dependencies] -huggingface_hub = ">=0.16.4,<0.18" + {file = "tokenizers-0.15.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:52f6130c9cbf70544287575a985bf44ae1bda2da7e8c24e97716080593638012"}, + {file = "tokenizers-0.15.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:054c1cc9c6d68f7ffa4e810b3d5131e0ba511b6e4be34157aa08ee54c2f8d9ee"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a9b9b070fdad06e347563b88c278995735292ded1132f8657084989a4c84a6d5"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea621a7eef4b70e1f7a4e84dd989ae3f0eeb50fc8690254eacc08acb623e82f1"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cf7fd9a5141634fa3aa8d6b7be362e6ae1b4cda60da81388fa533e0b552c98fd"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44f2a832cd0825295f7179eaf173381dc45230f9227ec4b44378322d900447c9"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b9ec69247a23747669ec4b0ca10f8e3dfb3545d550258129bd62291aabe8605"}, + {file = "tokenizers-0.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b6a4c78da863ff26dbd5ad9a8ecc33d8a8d97b535172601cf00aee9d7ce9ce"}, + {file = "tokenizers-0.15.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5ab2a4d21dcf76af60e05af8063138849eb1d6553a0d059f6534357bce8ba364"}, + {file = "tokenizers-0.15.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a47acfac7e511f6bbfcf2d3fb8c26979c780a91e06fb5b9a43831b2c0153d024"}, + {file = "tokenizers-0.15.2-cp310-none-win32.whl", hash = "sha256:064ff87bb6acdbd693666de9a4b692add41308a2c0ec0770d6385737117215f2"}, + {file = "tokenizers-0.15.2-cp310-none-win_amd64.whl", hash = "sha256:3b919afe4df7eb6ac7cafd2bd14fb507d3f408db7a68c43117f579c984a73843"}, + {file = "tokenizers-0.15.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:89cd1cb93e4b12ff39bb2d626ad77e35209de9309a71e4d3d4672667b4b256e7"}, + {file = "tokenizers-0.15.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cfed5c64e5be23d7ee0f0e98081a25c2a46b0b77ce99a4f0605b1ec43dd481fa"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a907d76dcfda37023ba203ab4ceeb21bc5683436ebefbd895a0841fd52f6f6f2"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20ea60479de6fc7b8ae756b4b097572372d7e4032e2521c1bbf3d90c90a99ff0"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:48e2b9335be2bc0171df9281385c2ed06a15f5cf121c44094338306ab7b33f2c"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:112a1dd436d2cc06e6ffdc0b06d55ac019a35a63afd26475205cb4b1bf0bfbff"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4620cca5c2817177ee8706f860364cc3a8845bc1e291aaf661fb899e5d1c45b0"}, + {file = "tokenizers-0.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccd73a82751c523b3fc31ff8194702e4af4db21dc20e55b30ecc2079c5d43cb7"}, + {file = "tokenizers-0.15.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:107089f135b4ae7817affe6264f8c7a5c5b4fd9a90f9439ed495f54fcea56fb4"}, + {file = "tokenizers-0.15.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0ff110ecc57b7aa4a594396525a3451ad70988e517237fe91c540997c4e50e29"}, + {file = "tokenizers-0.15.2-cp311-none-win32.whl", hash = "sha256:6d76f00f5c32da36c61f41c58346a4fa7f0a61be02f4301fd30ad59834977cc3"}, + {file = "tokenizers-0.15.2-cp311-none-win_amd64.whl", hash = "sha256:cc90102ed17271cf0a1262babe5939e0134b3890345d11a19c3145184b706055"}, + {file = "tokenizers-0.15.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f86593c18d2e6248e72fb91c77d413a815153b8ea4e31f7cd443bdf28e467670"}, + {file = "tokenizers-0.15.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0774bccc6608eca23eb9d620196687c8b2360624619623cf4ba9dc9bd53e8b51"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d0222c5b7c9b26c0b4822a82f6a7011de0a9d3060e1da176f66274b70f846b98"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3835738be1de66624fff2f4f6f6684775da4e9c00bde053be7564cbf3545cc66"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0143e7d9dcd811855c1ce1ab9bf5d96d29bf5e528fd6c7824d0465741e8c10fd"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db35825f6d54215f6b6009a7ff3eedee0848c99a6271c870d2826fbbedf31a38"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f5e64b0389a2be47091d8cc53c87859783b837ea1a06edd9d8e04004df55a5c"}, + {file = "tokenizers-0.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e0480c452217edd35eca56fafe2029fb4d368b7c0475f8dfa3c5c9c400a7456"}, + {file = "tokenizers-0.15.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a33ab881c8fe70474980577e033d0bc9a27b7ab8272896e500708b212995d834"}, + {file = "tokenizers-0.15.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a308a607ca9de2c64c1b9ba79ec9a403969715a1b8ba5f998a676826f1a7039d"}, + {file = "tokenizers-0.15.2-cp312-none-win32.whl", hash = "sha256:b8fcfa81bcb9447df582c5bc96a031e6df4da2a774b8080d4f02c0c16b42be0b"}, + {file = "tokenizers-0.15.2-cp312-none-win_amd64.whl", hash = "sha256:38d7ab43c6825abfc0b661d95f39c7f8af2449364f01d331f3b51c94dcff7221"}, + {file = "tokenizers-0.15.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:38bfb0204ff3246ca4d5e726e8cc8403bfc931090151e6eede54d0e0cf162ef0"}, + {file = "tokenizers-0.15.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c861d35e8286a53e06e9e28d030b5a05bcbf5ac9d7229e561e53c352a85b1fc"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:936bf3842db5b2048eaa53dade907b1160f318e7c90c74bfab86f1e47720bdd6"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:620beacc3373277700d0e27718aa8b25f7b383eb8001fba94ee00aeea1459d89"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2735ecbbf37e52db4ea970e539fd2d450d213517b77745114f92867f3fc246eb"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:473c83c5e2359bb81b0b6fde870b41b2764fcdd36d997485e07e72cc3a62264a"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:968fa1fb3c27398b28a4eca1cbd1e19355c4d3a6007f7398d48826bbe3a0f728"}, + {file = "tokenizers-0.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:865c60ae6eaebdde7da66191ee9b7db52e542ed8ee9d2c653b6d190a9351b980"}, + {file = "tokenizers-0.15.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7c0d8b52664ab2d4a8d6686eb5effc68b78608a9008f086a122a7b2996befbab"}, + {file = "tokenizers-0.15.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f33dfbdec3784093a9aebb3680d1f91336c56d86cc70ddf88708251da1fe9064"}, + {file = "tokenizers-0.15.2-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:d44ba80988ff9424e33e0a49445072ac7029d8c0e1601ad25a0ca5f41ed0c1d6"}, + {file = "tokenizers-0.15.2-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:dce74266919b892f82b1b86025a613956ea0ea62a4843d4c4237be2c5498ed3a"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0ef06b9707baeb98b316577acb04f4852239d856b93e9ec3a299622f6084e4be"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c73e2e74bbb07910da0d37c326869f34113137b23eadad3fc00856e6b3d9930c"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4eeb12daf02a59e29f578a865f55d87cd103ce62bd8a3a5874f8fdeaa82e336b"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ba9f6895af58487ca4f54e8a664a322f16c26bbb442effd01087eba391a719e"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ccec77aa7150e38eec6878a493bf8c263ff1fa8a62404e16c6203c64c1f16a26"}, + {file = "tokenizers-0.15.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3f40604f5042ff210ba82743dda2b6aa3e55aa12df4e9f2378ee01a17e2855e"}, + {file = "tokenizers-0.15.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5645938a42d78c4885086767c70923abad047163d809c16da75d6b290cb30bbe"}, + {file = "tokenizers-0.15.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:05a77cbfebe28a61ab5c3891f9939cc24798b63fa236d84e5f29f3a85a200c00"}, + {file = "tokenizers-0.15.2-cp37-none-win32.whl", hash = "sha256:361abdc068e8afe9c5b818769a48624687fb6aaed49636ee39bec4e95e1a215b"}, + {file = "tokenizers-0.15.2-cp37-none-win_amd64.whl", hash = "sha256:7ef789f83eb0f9baeb4d09a86cd639c0a5518528f9992f38b28e819df397eb06"}, + {file = "tokenizers-0.15.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4fe1f74a902bee74a3b25aff180fbfbf4f8b444ab37c4d496af7afd13a784ed2"}, + {file = "tokenizers-0.15.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4c4b89038a684f40a6b15d6b09f49650ac64d951ad0f2a3ea9169687bbf2a8ba"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d05a1b06f986d41aed5f2de464c003004b2df8aaf66f2b7628254bcbfb72a438"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:508711a108684111ec8af89d3a9e9e08755247eda27d0ba5e3c50e9da1600f6d"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:daa348f02d15160cb35439098ac96e3a53bacf35885072611cd9e5be7d333daa"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:494fdbe5932d3416de2a85fc2470b797e6f3226c12845cadf054dd906afd0442"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2d60f5246f4da9373f75ff18d64c69cbf60c3bca597290cea01059c336d2470"}, + {file = "tokenizers-0.15.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93268e788825f52de4c7bdcb6ebc1fcd4a5442c02e730faa9b6b08f23ead0e24"}, + {file = "tokenizers-0.15.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6fc7083ab404019fc9acafe78662c192673c1e696bd598d16dc005bd663a5cf9"}, + {file = "tokenizers-0.15.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:41e39b41e5531d6b2122a77532dbea60e171ef87a3820b5a3888daa847df4153"}, + {file = "tokenizers-0.15.2-cp38-none-win32.whl", hash = "sha256:06cd0487b1cbfabefb2cc52fbd6b1f8d4c37799bd6c6e1641281adaa6b2504a7"}, + {file = "tokenizers-0.15.2-cp38-none-win_amd64.whl", hash = "sha256:5179c271aa5de9c71712e31cb5a79e436ecd0d7532a408fa42a8dbfa4bc23fd9"}, + {file = "tokenizers-0.15.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:82f8652a74cc107052328b87ea8b34291c0f55b96d8fb261b3880216a9f9e48e"}, + {file = "tokenizers-0.15.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:02458bee6f5f3139f1ebbb6d042b283af712c0981f5bc50edf771d6b762d5e4f"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c9a09cd26cca2e1c349f91aa665309ddb48d71636370749414fbf67bc83c5343"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:158be8ea8554e5ed69acc1ce3fbb23a06060bd4bbb09029431ad6b9a466a7121"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ddba9a2b0c8c81633eca0bb2e1aa5b3a15362b1277f1ae64176d0f6eba78ab1"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3ef5dd1d39797044642dbe53eb2bc56435308432e9c7907728da74c69ee2adca"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:454c203164e07a860dbeb3b1f4a733be52b0edbb4dd2e5bd75023ffa8b49403a"}, + {file = "tokenizers-0.15.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cf6b7f1d4dc59af960e6ffdc4faffe6460bbfa8dce27a58bf75755ffdb2526d"}, + {file = "tokenizers-0.15.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2ef09bbc16519f6c25d0c7fc0c6a33a6f62923e263c9d7cca4e58b8c61572afb"}, + {file = "tokenizers-0.15.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c9a2ebdd2ad4ec7a68e7615086e633857c85e2f18025bd05d2a4399e6c5f7169"}, + {file = "tokenizers-0.15.2-cp39-none-win32.whl", hash = "sha256:918fbb0eab96fe08e72a8c2b5461e9cce95585d82a58688e7f01c2bd546c79d0"}, + {file = "tokenizers-0.15.2-cp39-none-win_amd64.whl", hash = "sha256:524e60da0135e106b254bd71f0659be9f89d83f006ea9093ce4d1fab498c6d0d"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6a9b648a58281c4672212fab04e60648fde574877d0139cd4b4f93fe28ca8944"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:7c7d18b733be6bbca8a55084027f7be428c947ddf871c500ee603e375013ffba"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:13ca3611de8d9ddfbc4dc39ef54ab1d2d4aaa114ac8727dfdc6a6ec4be017378"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:237d1bf3361cf2e6463e6c140628e6406766e8b27274f5fcc62c747ae3c6f094"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67a0fe1e49e60c664915e9fb6b0cb19bac082ab1f309188230e4b2920230edb3"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4e022fe65e99230b8fd89ebdfea138c24421f91c1a4f4781a8f5016fd5cdfb4d"}, + {file = "tokenizers-0.15.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d857be2df69763362ac699f8b251a8cd3fac9d21893de129bc788f8baaef2693"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:708bb3e4283177236309e698da5fcd0879ce8fd37457d7c266d16b550bcbbd18"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:64c35e09e9899b72a76e762f9854e8750213f67567787d45f37ce06daf57ca78"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1257f4394be0d3b00de8c9e840ca5601d0a4a8438361ce9c2b05c7d25f6057b"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02272fe48280e0293a04245ca5d919b2c94a48b408b55e858feae9618138aeda"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:dc3ad9ebc76eabe8b1d7c04d38be884b8f9d60c0cdc09b0aa4e3bcf746de0388"}, + {file = "tokenizers-0.15.2-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:32e16bdeffa7c4f46bf2152172ca511808b952701d13e7c18833c0b73cb5c23f"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fb16ba563d59003028b678d2361a27f7e4ae0ab29c7a80690efa20d829c81fdb"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:2277c36d2d6cdb7876c274547921a42425b6810d38354327dd65a8009acf870c"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1cf75d32e8d250781940d07f7eece253f2fe9ecdb1dc7ba6e3833fa17b82fcbc"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1b3b31884dc8e9b21508bb76da80ebf7308fdb947a17affce815665d5c4d028"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b10122d8d8e30afb43bb1fe21a3619f62c3e2574bff2699cf8af8b0b6c5dc4a3"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d88b96ff0fe8e91f6ef01ba50b0d71db5017fa4e3b1d99681cec89a85faf7bf7"}, + {file = "tokenizers-0.15.2-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:37aaec5a52e959892870a7c47cef80c53797c0db9149d458460f4f31e2fb250e"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e2ea752f2b0fe96eb6e2f3adbbf4d72aaa1272079b0dfa1145507bd6a5d537e6"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4b19a808d8799fda23504a5cd31d2f58e6f52f140380082b352f877017d6342b"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:64c86e5e068ac8b19204419ed8ca90f9d25db20578f5881e337d203b314f4104"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de19c4dc503c612847edf833c82e9f73cd79926a384af9d801dcf93f110cea4e"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea09acd2fe3324174063d61ad620dec3bcf042b495515f27f638270a7d466e8b"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:cf27fd43472e07b57cf420eee1e814549203d56de00b5af8659cb99885472f1f"}, + {file = "tokenizers-0.15.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7ca22bd897537a0080521445d91a58886c8c04084a6a19e6c78c586e0cfa92a5"}, + {file = "tokenizers-0.15.2.tar.gz", hash = "sha256:e6e9c6e019dd5484be5beafc775ae6c925f4c69a3487040ed09b45e13df2cb91"}, +] + +[package.dependencies] +huggingface_hub = ">=0.16.4,<1.0" [package.extras] dev = ["tokenizers[testing]"] @@ -3437,42 +4169,42 @@ testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] [[package]] name = "tomli" -version = "1.2.1" +version = "2.0.2" description = "A lil' TOML parser" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "tomli-1.2.1-py3-none-any.whl", hash = "sha256:8dd0e9524d6f386271a36b41dbf6c57d8e32fd96fd22b6584679dc569d20899f"}, - {file = "tomli-1.2.1.tar.gz", hash = "sha256:a5b75cb6f3968abb47af1b40c1819dc519ea82bcc065776a866e8d74c5ca9442"}, + {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, + {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, ] [[package]] name = "torch" -version = "2.1.2" +version = "2.4.0" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" optional = false python-versions = ">=3.8.0" files = [ - {file = "torch-2.1.2-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:3a871edd6c02dae77ad810335c0833391c1a4ce49af21ea8cf0f6a5d2096eea8"}, - {file = "torch-2.1.2-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:bef6996c27d8f6e92ea4e13a772d89611da0e103b48790de78131e308cf73076"}, - {file = "torch-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:0e13034fd5fb323cbbc29e56d0637a3791e50dd589616f40c79adfa36a5a35a1"}, - {file = "torch-2.1.2-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:d9b535cad0df3d13997dbe8bd68ac33e0e3ae5377639c9881948e40794a61403"}, - {file = "torch-2.1.2-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:f9a55d55af02826ebfbadf4e9b682f0f27766bc33df8236b48d28d705587868f"}, - {file = "torch-2.1.2-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:a6ebbe517097ef289cc7952783588c72de071d4b15ce0f8b285093f0916b1162"}, - {file = "torch-2.1.2-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:8f32ce591616a30304f37a7d5ea80b69ca9e1b94bba7f308184bf616fdaea155"}, - {file = "torch-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e0ee6cf90c8970e05760f898d58f9ac65821c37ffe8b04269ec787aa70962b69"}, - {file = "torch-2.1.2-cp311-none-macosx_10_9_x86_64.whl", hash = "sha256:76d37967c31c99548ad2c4d3f2cf191db48476f2e69b35a0937137116da356a1"}, - {file = "torch-2.1.2-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:e2d83f07b4aac983453ea5bf8f9aa9dacf2278a8d31247f5d9037f37befc60e4"}, - {file = "torch-2.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:f41fe0c7ecbf903a568c73486139a75cfab287a0f6c17ed0698fdea7a1e8641d"}, - {file = "torch-2.1.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:e3225f47d50bb66f756fe9196a768055d1c26b02154eb1f770ce47a2578d3aa7"}, - {file = "torch-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:33d59cd03cb60106857f6c26b36457793637512998666ee3ce17311f217afe2b"}, - {file = "torch-2.1.2-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:8e221deccd0def6c2badff6be403e0c53491805ed9915e2c029adbcdb87ab6b5"}, - {file = "torch-2.1.2-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:05b18594f60a911a0c4f023f38a8bda77131fba5fd741bda626e97dcf5a3dd0a"}, - {file = "torch-2.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:9ca96253b761e9aaf8e06fb30a66ee301aecbf15bb5a303097de1969077620b6"}, - {file = "torch-2.1.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d93ba70f67b08c2ae5598ee711cbc546a1bc8102cef938904b8c85c2089a51a0"}, - {file = "torch-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:255b50bc0608db177e6a3cc118961d77de7e5105f07816585fa6f191f33a9ff3"}, - {file = "torch-2.1.2-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:6984cd5057c0c977b3c9757254e989d3f1124f4ce9d07caa6cb637783c71d42a"}, - {file = "torch-2.1.2-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:bc195d7927feabc0eb7c110e457c955ed2ab616f3c7c28439dd4188cf589699f"}, + {file = "torch-2.4.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:4ed94583e244af51d6a8d28701ca5a9e02d1219e782f5a01dd401f90af17d8ac"}, + {file = "torch-2.4.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:c4ca297b7bd58b506bfd6e78ffd14eb97c0e7797dcd7965df62f50bb575d8954"}, + {file = "torch-2.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:2497cbc7b3c951d69b276ca51fe01c2865db67040ac67f5fc20b03e41d16ea4a"}, + {file = "torch-2.4.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:685418ab93730efbee71528821ff54005596970dd497bf03c89204fb7e3f71de"}, + {file = "torch-2.4.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:e743adadd8c8152bb8373543964551a7cb7cc20ba898dc8f9c0cdbe47c283de0"}, + {file = "torch-2.4.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:7334325c0292cbd5c2eac085f449bf57d3690932eac37027e193ba775703c9e6"}, + {file = "torch-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:97730014da4c57ffacb3c09298c6ce05400606e890bd7a05008d13dd086e46b1"}, + {file = "torch-2.4.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:f169b4ea6dc93b3a33319611fcc47dc1406e4dd539844dcbd2dec4c1b96e166d"}, + {file = "torch-2.4.0-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:997084a0f9784d2a89095a6dc67c7925e21bf25dea0b3d069b41195016ccfcbb"}, + {file = "torch-2.4.0-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:bc3988e8b36d1e8b998d143255d9408d8c75da4ab6dd0dcfd23b623dfb0f0f57"}, + {file = "torch-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:3374128bbf7e62cdaed6c237bfd39809fbcfaa576bee91e904706840c3f2195c"}, + {file = "torch-2.4.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:91aaf00bfe1ffa44dc5b52809d9a95129fca10212eca3ac26420eb11727c6288"}, + {file = "torch-2.4.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:cc30457ea5489c62747d3306438af00c606b509d78822a88f804202ba63111ed"}, + {file = "torch-2.4.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:a046491aaf96d1215e65e1fa85911ef2ded6d49ea34c8df4d0638879f2402eef"}, + {file = "torch-2.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:688eec9240f3ce775f22e1e1a5ab9894f3d5fe60f3f586deb7dbd23a46a83916"}, + {file = "torch-2.4.0-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:3af4de2a618fb065e78404c4ba27a818a7b7957eaeff28c6c66ce7fb504b68b8"}, + {file = "torch-2.4.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:618808d3f610d5f180e47a697d4ec90b810953bb1e020f424b2ac7fb0884b545"}, + {file = "torch-2.4.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:ed765d232d23566052ba83632ec73a4fccde00b4c94ad45d63b471b09d63b7a7"}, + {file = "torch-2.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:a2feb98ac470109472fb10dfef38622a7ee08482a16c357863ebc7bc7db7c8f7"}, + {file = "torch-2.4.0-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:8940fc8b97a4c61fdb5d46a368f21f4a3a562a17879e932eb51a5ec62310cb31"}, ] [package.dependencies] @@ -3484,154 +4216,124 @@ nvidia-cublas-cu12 = {version = "12.1.3.1", markers = "platform_system == \"Linu nvidia-cuda-cupti-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cuda-nvrtc-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cuda-runtime-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-cudnn-cu12 = {version = "8.9.2.26", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-cudnn-cu12 = {version = "9.1.0.70", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cufft-cu12 = {version = "11.0.2.54", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-curand-cu12 = {version = "10.3.2.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cusolver-cu12 = {version = "11.4.5.107", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-cusparse-cu12 = {version = "12.1.0.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-nccl-cu12 = {version = "2.18.1", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} +nvidia-nccl-cu12 = {version = "2.20.5", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} nvidia-nvtx-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} sympy = "*" -triton = {version = "2.1.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -typing-extensions = "*" +triton = {version = "3.0.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\" and python_version < \"3.13\""} +typing-extensions = ">=4.8.0" [package.extras] -dynamo = ["jinja2"] opt-einsum = ["opt-einsum (>=3.3)"] +optree = ["optree (>=0.11.0)"] [[package]] name = "tornado" -version = "6.1" +version = "6.4.1" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." optional = false -python-versions = ">= 3.5" -files = [ - {file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"}, - {file = "tornado-6.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c"}, - {file = "tornado-6.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05"}, - {file = "tornado-6.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910"}, - {file = "tornado-6.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b"}, - {file = "tornado-6.1-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675"}, - {file = "tornado-6.1-cp35-cp35m-win32.whl", hash = "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5"}, - {file = "tornado-6.1-cp35-cp35m-win_amd64.whl", hash = "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68"}, - {file = "tornado-6.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb"}, - {file = "tornado-6.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c"}, - {file = "tornado-6.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921"}, - {file = "tornado-6.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558"}, - {file = "tornado-6.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c"}, - {file = "tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085"}, - {file = "tornado-6.1-cp36-cp36m-win32.whl", hash = "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575"}, - {file = "tornado-6.1-cp36-cp36m-win_amd64.whl", hash = "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795"}, - {file = "tornado-6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f"}, - {file = "tornado-6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102"}, - {file = "tornado-6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4"}, - {file = "tornado-6.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd"}, - {file = "tornado-6.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01"}, - {file = "tornado-6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d"}, - {file = "tornado-6.1-cp37-cp37m-win32.whl", hash = "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df"}, - {file = "tornado-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37"}, - {file = "tornado-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95"}, - {file = "tornado-6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a"}, - {file = "tornado-6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5"}, - {file = "tornado-6.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288"}, - {file = "tornado-6.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f"}, - {file = "tornado-6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6"}, - {file = "tornado-6.1-cp38-cp38-win32.whl", hash = "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326"}, - {file = "tornado-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c"}, - {file = "tornado-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5"}, - {file = "tornado-6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe"}, - {file = "tornado-6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea"}, - {file = "tornado-6.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2"}, - {file = "tornado-6.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0"}, - {file = "tornado-6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd"}, - {file = "tornado-6.1-cp39-cp39-win32.whl", hash = "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c"}, - {file = "tornado-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4"}, - {file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"}, +python-versions = ">=3.8" +files = [ + {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8"}, + {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14"}, + {file = "tornado-6.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4"}, + {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842"}, + {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3"}, + {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f"}, + {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4"}, + {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698"}, + {file = "tornado-6.4.1-cp38-abi3-win32.whl", hash = "sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d"}, + {file = "tornado-6.4.1-cp38-abi3-win_amd64.whl", hash = "sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7"}, + {file = "tornado-6.4.1.tar.gz", hash = "sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9"}, ] [[package]] name = "tqdm" -version = "4.64.0" +version = "4.66.5" description = "Fast, Extensible Progress Meter" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +python-versions = ">=3.7" files = [ - {file = "tqdm-4.64.0-py2.py3-none-any.whl", hash = "sha256:74a2cdefe14d11442cedf3ba4e21a3b84ff9a2dbdc6cfae2c34addb2a14a5ea6"}, - {file = "tqdm-4.64.0.tar.gz", hash = "sha256:40be55d30e200777a307a7585aee69e4eabb46b4ec6a4b4a5f2d9f11e7d5408d"}, + {file = "tqdm-4.66.5-py3-none-any.whl", hash = "sha256:90279a3770753eafc9194a0364852159802111925aa30eb3f9d85b0e805ac7cd"}, + {file = "tqdm-4.66.5.tar.gz", hash = "sha256:e1020aef2e5096702d8a025ac7d16b1577279c9d63f8375b63083e9a5f0fcbad"}, ] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] -dev = ["py-make (>=0.1.0)", "twine", "wheel"] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] notebook = ["ipywidgets (>=6)"] slack = ["slack-sdk"] telegram = ["requests"] [[package]] name = "traitlets" -version = "5.1.1" +version = "5.14.3" description = "Traitlets Python configuration system" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "traitlets-5.1.1-py3-none-any.whl", hash = "sha256:2d313cc50a42cd6c277e7d7dc8d4d7fedd06a2c215f78766ae7b1a66277e0033"}, - {file = "traitlets-5.1.1.tar.gz", hash = "sha256:059f456c5a7c1c82b98c2e8c799f39c9b8128f6d0d46941ee118daace9eb70c7"}, + {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, + {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, ] [package.extras] -test = ["pytest"] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] [[package]] name = "transformers" -version = "4.34.0" +version = "4.37.2" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" optional = false python-versions = ">=3.8.0" files = [ - {file = "transformers-4.34.0-py3-none-any.whl", hash = "sha256:3f0187183a7f22c51ecbbc9eac5145df666c5b86bec6feed10e11f0363f3a1f9"}, - {file = "transformers-4.34.0.tar.gz", hash = "sha256:cc2ae61bfbfaa45337fd9017326669fc60e4f55125f589d50da47819e3d6f504"}, + {file = "transformers-4.37.2-py3-none-any.whl", hash = "sha256:595a8b12a1fcc4ad0ced49ce206c58e17be68c85d7aee3d7546d04a32c910d2e"}, + {file = "transformers-4.37.2.tar.gz", hash = "sha256:f307082ae5d528b8480611a4879a4a11651012d0e9aaea3f6cf17219ffd95542"}, ] [package.dependencies] filelock = "*" -huggingface-hub = ">=0.16.4,<1.0" +huggingface-hub = ">=0.19.3,<1.0" numpy = ">=1.17" packaging = ">=20.0" pyyaml = ">=5.1" regex = "!=2019.12.17" requests = "*" -safetensors = ">=0.3.1" -tokenizers = ">=0.14,<0.15" +safetensors = ">=0.4.1" +tokenizers = ">=0.14,<0.19" tqdm = ">=4.27" [package.extras] -accelerate = ["accelerate (>=0.20.3)"] -agents = ["Pillow (<10.0.0)", "accelerate (>=0.20.3)", "datasets (!=2.5.0)", "diffusers", "opencv-python", "sentencepiece (>=0.1.91,!=0.1.92)", "torch (>=1.10,!=1.12.0)"] -all = ["Pillow (<10.0.0)", "accelerate (>=0.20.3)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune]", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision"] +accelerate = ["accelerate (>=0.21.0)"] +agents = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "datasets (!=2.5.0)", "diffusers", "opencv-python", "sentencepiece (>=0.1.91,!=0.1.92)", "torch (>=1.11,!=1.12.0)"] +all = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.19)", "torch (>=1.11,!=1.12.0)", "torchaudio", "torchvision"] audio = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] codecarbon = ["codecarbon (==1.2.0)"] -deepspeed = ["accelerate (>=0.20.3)", "deepspeed (>=0.9.3)"] -deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.20.3)", "beautifulsoup4", "black (>=23.1,<24.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "optuna", "parameterized", "protobuf", "psutil", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "timeout-decorator"] -dev = ["GitPython (<3.1.19)", "Pillow (<10.0.0)", "accelerate (>=0.20.3)", "av (==9.2.0)", "beautifulsoup4", "black (>=23.1,<24.0)", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "decord (==0.6.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune]", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (>=0.0.241,<=0.0.259)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] -dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (<10.0.0)", "beautifulsoup4", "black (>=23.1,<24.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (>=0.0.241,<=0.0.259)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.14,<0.15)", "urllib3 (<2.0.0)"] -dev-torch = ["GitPython (<3.1.19)", "Pillow (<10.0.0)", "accelerate (>=0.20.3)", "beautifulsoup4", "black (>=23.1,<24.0)", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "librosa", "nltk", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune]", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (>=0.0.241,<=0.0.259)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] -docs = ["Pillow (<10.0.0)", "accelerate (>=0.20.3)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "hf-doc-builder", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune]", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision"] +deepspeed = ["accelerate (>=0.21.0)", "deepspeed (>=0.9.3)"] +deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.21.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "optuna", "parameterized", "protobuf", "psutil", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] +dev = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "av (==9.2.0)", "beautifulsoup4", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "decord (==0.6.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.19)", "torch (>=1.11,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.14,<0.19)", "urllib3 (<2.0.0)"] +dev-torch = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "beautifulsoup4", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "librosa", "nltk", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.19)", "torch (>=1.11,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +docs = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.21.0)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "hf-doc-builder", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.19)", "torch (>=1.11,!=1.12.0)", "torchaudio", "torchvision"] docs-specific = ["hf-doc-builder"] -fairscale = ["fairscale (>0.3)"] flax = ["flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "optax (>=0.0.8,<=0.1.4)"] flax-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] ftfy = ["ftfy"] -integrations = ["optuna", "ray[tune]", "sigopt"] +integrations = ["optuna", "ray[tune] (>=2.7.0)", "sigopt"] ja = ["fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "rhoknp (>=1.1.0,<1.3.1)", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)"] modelcreation = ["cookiecutter (==1.7.3)"] -natten = ["natten (>=0.14.6)"] +natten = ["natten (>=0.14.6,<0.15.0)"] onnx = ["onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "tf2onnx"] onnxruntime = ["onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] optuna = ["optuna"] -quality = ["GitPython (<3.1.19)", "black (>=23.1,<24.0)", "datasets (!=2.5.0)", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "ruff (>=0.0.241,<=0.0.259)", "urllib3 (<2.0.0)"] -ray = ["ray[tune]"] +quality = ["GitPython (<3.1.19)", "datasets (!=2.5.0)", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "ruff (==0.1.5)", "urllib3 (<2.0.0)"] +ray = ["ray[tune] (>=2.7.0)"] retrieval = ["datasets (!=2.5.0)", "faiss-cpu"] sagemaker = ["sagemaker (>=2.31.0)"] sentencepiece = ["protobuf", "sentencepiece (>=0.1.91,!=0.1.92)"] @@ -3639,93 +4341,147 @@ serving = ["fastapi", "pydantic (<2)", "starlette", "uvicorn"] sigopt = ["sigopt"] sklearn = ["scikit-learn"] speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] -testing = ["GitPython (<3.1.19)", "beautifulsoup4", "black (>=23.1,<24.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "parameterized", "protobuf", "psutil", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "timeout-decorator"] -tf = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx"] -tf-cpu = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow-cpu (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx"] +testing = ["GitPython (<3.1.19)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "parameterized", "protobuf", "psutil", "pydantic (<2)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.1.5)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "tensorboard", "timeout-decorator"] +tf = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx"] +tf-cpu = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow-cpu (>=2.6,<2.16)", "tensorflow-text (<2.16)", "tf2onnx"] tf-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] timm = ["timm"] -tokenizers = ["tokenizers (>=0.14,<0.15)"] -torch = ["accelerate (>=0.20.3)", "torch (>=1.10,!=1.12.0)"] +tokenizers = ["tokenizers (>=0.14,<0.19)"] +torch = ["accelerate (>=0.21.0)", "torch (>=1.11,!=1.12.0)"] torch-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] -torch-vision = ["Pillow (<10.0.0)", "torchvision"] -torchhub = ["filelock", "huggingface-hub (>=0.16.4,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "tqdm (>=4.27)"] +torch-vision = ["Pillow (>=10.0.1,<=15.0)", "torchvision"] +torchhub = ["filelock", "huggingface-hub (>=0.19.3,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.14,<0.19)", "torch (>=1.11,!=1.12.0)", "tqdm (>=4.27)"] video = ["av (==9.2.0)", "decord (==0.6.0)"] -vision = ["Pillow (<10.0.0)"] +vision = ["Pillow (>=10.0.1,<=15.0)"] [[package]] name = "triton" -version = "2.1.0" +version = "3.0.0" description = "A language and compiler for custom Deep Learning operations" optional = false python-versions = "*" files = [ - {file = "triton-2.1.0-0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:66439923a30d5d48399b08a9eae10370f6c261a5ec864a64983bae63152d39d7"}, - {file = "triton-2.1.0-0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:919b06453f0033ea52c13eaf7833de0e57db3178d23d4e04f9fc71c4f2c32bf8"}, - {file = "triton-2.1.0-0-cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ae4bb8a91de790e1866405211c4d618379781188f40d5c4c399766914e84cd94"}, - {file = "triton-2.1.0-0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39f6fb6bdccb3e98f3152e3fbea724f1aeae7d749412bbb1fa9c441d474eba26"}, - {file = "triton-2.1.0-0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:21544e522c02005a626c8ad63d39bdff2f31d41069592919ef281e964ed26446"}, - {file = "triton-2.1.0-0-pp37-pypy37_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:143582ca31dd89cd982bd3bf53666bab1c7527d41e185f9e3d8a3051ce1b663b"}, - {file = "triton-2.1.0-0-pp38-pypy38_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:82fc5aeeedf6e36be4e4530cbdcba81a09d65c18e02f52dc298696d45721f3bd"}, - {file = "triton-2.1.0-0-pp39-pypy39_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:81a96d110a738ff63339fc892ded095b31bd0d205e3aace262af8400d40b6fa8"}, + {file = "triton-3.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e1efef76935b2febc365bfadf74bcb65a6f959a9872e5bddf44cc9e0adce1e1a"}, + {file = "triton-3.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5ce8520437c602fb633f1324cc3871c47bee3b67acf9756c1a66309b60e3216c"}, + {file = "triton-3.0.0-1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34e509deb77f1c067d8640725ef00c5cbfcb2052a1a3cb6a6d343841f92624eb"}, + {file = "triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bcbf3b1c48af6a28011a5c40a5b3b9b5330530c3827716b5fbf6d7adcc1e53e9"}, + {file = "triton-3.0.0-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6e5727202f7078c56f91ff13ad0c1abab14a0e7f2c87e91b12b6f64f3e8ae609"}, ] [package.dependencies] filelock = "*" [package.extras] -build = ["cmake (>=3.18)", "lit"] -tests = ["autopep8", "flake8", "isort", "numpy", "pytest", "scipy (>=1.7.1)"] +build = ["cmake (>=3.20)", "lit"] +tests = ["autopep8", "flake8", "isort", "llnl-hatchet", "numpy", "pytest", "scipy (>=1.7.1)"] tutorials = ["matplotlib", "pandas", "tabulate"] +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20241003" +description = "Typing stubs for python-dateutil" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-python-dateutil-2.9.0.20241003.tar.gz", hash = "sha256:58cb85449b2a56d6684e41aeefb4c4280631246a0da1a719bdbe6f3fb0317446"}, + {file = "types_python_dateutil-2.9.0.20241003-py3-none-any.whl", hash = "sha256:250e1d8e80e7bbc3a6c99b907762711d1a1cdd00e978ad39cb5940f6f0a87f3d"}, +] + [[package]] name = "typing-extensions" -version = "4.5.0" -description = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"}, - {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "tzdata" -version = "2023.4" +version = "2024.2" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" files = [ - {file = "tzdata-2023.4-py2.py3-none-any.whl", hash = "sha256:aa3ace4329eeacda5b7beb7ea08ece826c28d761cda36e747cfbf97996d39bf3"}, - {file = "tzdata-2023.4.tar.gz", hash = "sha256:dd54c94f294765522c77399649b4fefd95522479a664a0cec87f41bebc6148c9"}, + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +description = "RFC 6570 URI Template Processor" +optional = false +python-versions = ">=3.7" +files = [ + {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, + {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, ] +[package.extras] +dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-modern-annotations", "flake8-noqa", "flake8-pyproject", "flake8-requirements", "flake8-typechecking-import", "flake8-use-fstring", "mypy", "pep8-naming", "types-PyYAML"] + [[package]] name = "urllib3" -version = "1.26.8" +version = "1.26.20" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"}, - {file = "urllib3-1.26.8.tar.gz", hash = "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c"}, + {file = "urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e"}, + {file = "urllib3-1.26.20.tar.gz", hash = "sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32"}, ] [package.extras] -brotli = ["brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)"] +brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] +secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +[[package]] +name = "urllib3" +version = "2.2.3" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + [[package]] name = "wcwidth" -version = "0.2.5" +version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, - {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, +] + +[[package]] +name = "webcolors" +version = "24.8.0" +description = "A library for working with the color formats defined by HTML and CSS." +optional = false +python-versions = ">=3.8" +files = [ + {file = "webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a"}, + {file = "webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d"}, ] +[package.extras] +docs = ["furo", "sphinx", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-notfound-page", "sphinxext-opengraph"] +tests = ["coverage[toml]"] + [[package]] name = "webencodings" version = "0.5.1" @@ -3739,265 +4495,277 @@ files = [ [[package]] name = "websocket-client" -version = "1.5.1" +version = "1.8.0" description = "WebSocket client for Python with low level API options" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "websocket-client-1.5.1.tar.gz", hash = "sha256:3f09e6d8230892547132177f575a4e3e73cfdf06526e20cc02aa1c3b47184d40"}, - {file = "websocket_client-1.5.1-py3-none-any.whl", hash = "sha256:cdf5877568b7e83aa7cf2244ab56a3213de587bbe0ce9d8b9600fc77b455d89e"}, + {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, + {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, ] [package.extras] -docs = ["Sphinx (>=3.4)", "sphinx-rtd-theme (>=0.5)"] +docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx-rtd-theme (>=1.1.0)"] optional = ["python-socks", "wsaccel"] test = ["websockets"] [[package]] name = "widgetsnbextension" -version = "4.0.5" +version = "4.0.13" description = "Jupyter interactive widgets for Jupyter Notebook" optional = false python-versions = ">=3.7" files = [ - {file = "widgetsnbextension-4.0.5-py3-none-any.whl", hash = "sha256:eaaaf434fb9b08bd197b2a14ffe45ddb5ac3897593d43c69287091e5f3147bf7"}, - {file = "widgetsnbextension-4.0.5.tar.gz", hash = "sha256:003f716d930d385be3fd9de42dd9bf008e30053f73bddde235d14fbeaeff19af"}, + {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, + {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, ] [[package]] name = "xxhash" -version = "3.4.1" +version = "3.5.0" description = "Python binding for xxHash" optional = false python-versions = ">=3.7" files = [ - {file = "xxhash-3.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:91dbfa55346ad3e18e738742236554531a621042e419b70ad8f3c1d9c7a16e7f"}, - {file = "xxhash-3.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:665a65c2a48a72068fcc4d21721510df5f51f1142541c890491afc80451636d2"}, - {file = "xxhash-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb11628470a6004dc71a09fe90c2f459ff03d611376c1debeec2d648f44cb693"}, - {file = "xxhash-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bef2a7dc7b4f4beb45a1edbba9b9194c60a43a89598a87f1a0226d183764189"}, - {file = "xxhash-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c0f7b2d547d72c7eda7aa817acf8791f0146b12b9eba1d4432c531fb0352228"}, - {file = "xxhash-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00f2fdef6b41c9db3d2fc0e7f94cb3db86693e5c45d6de09625caad9a469635b"}, - {file = "xxhash-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23cfd9ca09acaf07a43e5a695143d9a21bf00f5b49b15c07d5388cadf1f9ce11"}, - {file = "xxhash-3.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6a9ff50a3cf88355ca4731682c168049af1ca222d1d2925ef7119c1a78e95b3b"}, - {file = "xxhash-3.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f1d7c69a1e9ca5faa75546fdd267f214f63f52f12692f9b3a2f6467c9e67d5e7"}, - {file = "xxhash-3.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:672b273040d5d5a6864a36287f3514efcd1d4b1b6a7480f294c4b1d1ee1b8de0"}, - {file = "xxhash-3.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4178f78d70e88f1c4a89ff1ffe9f43147185930bb962ee3979dba15f2b1cc799"}, - {file = "xxhash-3.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9804b9eb254d4b8cc83ab5a2002128f7d631dd427aa873c8727dba7f1f0d1c2b"}, - {file = "xxhash-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c09c49473212d9c87261d22c74370457cfff5db2ddfc7fd1e35c80c31a8c14ce"}, - {file = "xxhash-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:ebbb1616435b4a194ce3466d7247df23499475c7ed4eb2681a1fa42ff766aff6"}, - {file = "xxhash-3.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:25dc66be3db54f8a2d136f695b00cfe88018e59ccff0f3b8f545869f376a8a46"}, - {file = "xxhash-3.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58c49083801885273e262c0f5bbeac23e520564b8357fbb18fb94ff09d3d3ea5"}, - {file = "xxhash-3.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b526015a973bfbe81e804a586b703f163861da36d186627e27524f5427b0d520"}, - {file = "xxhash-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36ad4457644c91a966f6fe137d7467636bdc51a6ce10a1d04f365c70d6a16d7e"}, - {file = "xxhash-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:248d3e83d119770f96003271fe41e049dd4ae52da2feb8f832b7a20e791d2920"}, - {file = "xxhash-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2070b6d5bbef5ee031666cf21d4953c16e92c2f8a24a94b5c240f8995ba3b1d0"}, - {file = "xxhash-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2746035f518f0410915e247877f7df43ef3372bf36cfa52cc4bc33e85242641"}, - {file = "xxhash-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a8ba6181514681c2591840d5632fcf7356ab287d4aff1c8dea20f3c78097088"}, - {file = "xxhash-3.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aac5010869240e95f740de43cd6a05eae180c59edd182ad93bf12ee289484fa"}, - {file = "xxhash-3.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4cb11d8debab1626181633d184b2372aaa09825bde709bf927704ed72765bed1"}, - {file = "xxhash-3.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b29728cff2c12f3d9f1d940528ee83918d803c0567866e062683f300d1d2eff3"}, - {file = "xxhash-3.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:a15cbf3a9c40672523bdb6ea97ff74b443406ba0ab9bca10ceccd9546414bd84"}, - {file = "xxhash-3.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6e66df260fed01ed8ea790c2913271641c58481e807790d9fca8bfd5a3c13844"}, - {file = "xxhash-3.4.1-cp311-cp311-win32.whl", hash = "sha256:e867f68a8f381ea12858e6d67378c05359d3a53a888913b5f7d35fbf68939d5f"}, - {file = "xxhash-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:200a5a3ad9c7c0c02ed1484a1d838b63edcf92ff538770ea07456a3732c577f4"}, - {file = "xxhash-3.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:1d03f1c0d16d24ea032e99f61c552cb2b77d502e545187338bea461fde253583"}, - {file = "xxhash-3.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c4bbba9b182697a52bc0c9f8ec0ba1acb914b4937cd4a877ad78a3b3eeabefb3"}, - {file = "xxhash-3.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9fd28a9da300e64e434cfc96567a8387d9a96e824a9be1452a1e7248b7763b78"}, - {file = "xxhash-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6066d88c9329ab230e18998daec53d819daeee99d003955c8db6fc4971b45ca3"}, - {file = "xxhash-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93805bc3233ad89abf51772f2ed3355097a5dc74e6080de19706fc447da99cd3"}, - {file = "xxhash-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64da57d5ed586ebb2ecdde1e997fa37c27fe32fe61a656b77fabbc58e6fbff6e"}, - {file = "xxhash-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a97322e9a7440bf3c9805cbaac090358b43f650516486746f7fa482672593df"}, - {file = "xxhash-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbe750d512982ee7d831838a5dee9e9848f3fb440e4734cca3f298228cc957a6"}, - {file = "xxhash-3.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fd79d4087727daf4d5b8afe594b37d611ab95dc8e29fe1a7517320794837eb7d"}, - {file = "xxhash-3.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:743612da4071ff9aa4d055f3f111ae5247342931dedb955268954ef7201a71ff"}, - {file = "xxhash-3.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b41edaf05734092f24f48c0958b3c6cbaaa5b7e024880692078c6b1f8247e2fc"}, - {file = "xxhash-3.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:a90356ead70d715fe64c30cd0969072de1860e56b78adf7c69d954b43e29d9fa"}, - {file = "xxhash-3.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ac56eebb364e44c85e1d9e9cc5f6031d78a34f0092fea7fc80478139369a8b4a"}, - {file = "xxhash-3.4.1-cp312-cp312-win32.whl", hash = "sha256:911035345932a153c427107397c1518f8ce456f93c618dd1c5b54ebb22e73747"}, - {file = "xxhash-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:f31ce76489f8601cc7b8713201ce94b4bd7b7ce90ba3353dccce7e9e1fee71fa"}, - {file = "xxhash-3.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:b5beb1c6a72fdc7584102f42c4d9df232ee018ddf806e8c90906547dfb43b2da"}, - {file = "xxhash-3.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6d42b24d1496deb05dee5a24ed510b16de1d6c866c626c2beb11aebf3be278b9"}, - {file = "xxhash-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b685fab18876b14a8f94813fa2ca80cfb5ab6a85d31d5539b7cd749ce9e3624"}, - {file = "xxhash-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:419ffe34c17ae2df019a4685e8d3934d46b2e0bbe46221ab40b7e04ed9f11137"}, - {file = "xxhash-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0e041ce5714f95251a88670c114b748bca3bf80cc72400e9f23e6d0d59cf2681"}, - {file = "xxhash-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc860d887c5cb2f524899fb8338e1bb3d5789f75fac179101920d9afddef284b"}, - {file = "xxhash-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:312eba88ffe0a05e332e3a6f9788b73883752be63f8588a6dc1261a3eaaaf2b2"}, - {file = "xxhash-3.4.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:e01226b6b6a1ffe4e6bd6d08cfcb3ca708b16f02eb06dd44f3c6e53285f03e4f"}, - {file = "xxhash-3.4.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:9f3025a0d5d8cf406a9313cd0d5789c77433ba2004b1c75439b67678e5136537"}, - {file = "xxhash-3.4.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:6d3472fd4afef2a567d5f14411d94060099901cd8ce9788b22b8c6f13c606a93"}, - {file = "xxhash-3.4.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:43984c0a92f06cac434ad181f329a1445017c33807b7ae4f033878d860a4b0f2"}, - {file = "xxhash-3.4.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a55e0506fdb09640a82ec4f44171273eeabf6f371a4ec605633adb2837b5d9d5"}, - {file = "xxhash-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:faec30437919555b039a8bdbaba49c013043e8f76c999670aef146d33e05b3a0"}, - {file = "xxhash-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:c9e1b646af61f1fc7083bb7b40536be944f1ac67ef5e360bca2d73430186971a"}, - {file = "xxhash-3.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:961d948b7b1c1b6c08484bbce3d489cdf153e4122c3dfb07c2039621243d8795"}, - {file = "xxhash-3.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:719a378930504ab159f7b8e20fa2aa1896cde050011af838af7e7e3518dd82de"}, - {file = "xxhash-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74fb5cb9406ccd7c4dd917f16630d2e5e8cbbb02fc2fca4e559b2a47a64f4940"}, - {file = "xxhash-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5dab508ac39e0ab988039bc7f962c6ad021acd81fd29145962b068df4148c476"}, - {file = "xxhash-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c59f3e46e7daf4c589e8e853d700ef6607afa037bfad32c390175da28127e8c"}, - {file = "xxhash-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cc07256eff0795e0f642df74ad096f8c5d23fe66bc138b83970b50fc7f7f6c5"}, - {file = "xxhash-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e9f749999ed80f3955a4af0eb18bb43993f04939350b07b8dd2f44edc98ffee9"}, - {file = "xxhash-3.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7688d7c02149a90a3d46d55b341ab7ad1b4a3f767be2357e211b4e893efbaaf6"}, - {file = "xxhash-3.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a8b4977963926f60b0d4f830941c864bed16aa151206c01ad5c531636da5708e"}, - {file = "xxhash-3.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:8106d88da330f6535a58a8195aa463ef5281a9aa23b04af1848ff715c4398fb4"}, - {file = "xxhash-3.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4c76a77dbd169450b61c06fd2d5d436189fc8ab7c1571d39265d4822da16df22"}, - {file = "xxhash-3.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:11f11357c86d83e53719c592021fd524efa9cf024dc7cb1dfb57bbbd0d8713f2"}, - {file = "xxhash-3.4.1-cp38-cp38-win32.whl", hash = "sha256:0c786a6cd74e8765c6809892a0d45886e7c3dc54de4985b4a5eb8b630f3b8e3b"}, - {file = "xxhash-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:aabf37fb8fa27430d50507deeab2ee7b1bcce89910dd10657c38e71fee835594"}, - {file = "xxhash-3.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6127813abc1477f3a83529b6bbcfeddc23162cece76fa69aee8f6a8a97720562"}, - {file = "xxhash-3.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef2e194262f5db16075caea7b3f7f49392242c688412f386d3c7b07c7733a70a"}, - {file = "xxhash-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71be94265b6c6590f0018bbf73759d21a41c6bda20409782d8117e76cd0dfa8b"}, - {file = "xxhash-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10e0a619cdd1c0980e25eb04e30fe96cf8f4324758fa497080af9c21a6de573f"}, - {file = "xxhash-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fa122124d2e3bd36581dd78c0efa5f429f5220313479fb1072858188bc2d5ff1"}, - {file = "xxhash-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17032f5a4fea0a074717fe33477cb5ee723a5f428de7563e75af64bfc1b1e10"}, - {file = "xxhash-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca7783b20e3e4f3f52f093538895863f21d18598f9a48211ad757680c3bd006f"}, - {file = "xxhash-3.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d77d09a1113899fad5f354a1eb4f0a9afcf58cefff51082c8ad643ff890e30cf"}, - {file = "xxhash-3.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:21287bcdd299fdc3328cc0fbbdeaa46838a1c05391264e51ddb38a3f5b09611f"}, - {file = "xxhash-3.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:dfd7a6cc483e20b4ad90224aeb589e64ec0f31e5610ab9957ff4314270b2bf31"}, - {file = "xxhash-3.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:543c7fcbc02bbb4840ea9915134e14dc3dc15cbd5a30873a7a5bf66039db97ec"}, - {file = "xxhash-3.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fe0a98d990e433013f41827b62be9ab43e3cf18e08b1483fcc343bda0d691182"}, - {file = "xxhash-3.4.1-cp39-cp39-win32.whl", hash = "sha256:b9097af00ebf429cc7c0e7d2fdf28384e4e2e91008130ccda8d5ae653db71e54"}, - {file = "xxhash-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:d699b921af0dcde50ab18be76c0d832f803034d80470703700cb7df0fbec2832"}, - {file = "xxhash-3.4.1-cp39-cp39-win_arm64.whl", hash = "sha256:2be491723405e15cc099ade1280133ccfbf6322d2ef568494fb7d07d280e7eee"}, - {file = "xxhash-3.4.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:431625fad7ab5649368c4849d2b49a83dc711b1f20e1f7f04955aab86cd307bc"}, - {file = "xxhash-3.4.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc6dbd5fc3c9886a9e041848508b7fb65fd82f94cc793253990f81617b61fe49"}, - {file = "xxhash-3.4.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3ff8dbd0ec97aec842476cb8ccc3e17dd288cd6ce3c8ef38bff83d6eb927817"}, - {file = "xxhash-3.4.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef73a53fe90558a4096e3256752268a8bdc0322f4692ed928b6cd7ce06ad4fe3"}, - {file = "xxhash-3.4.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:450401f42bbd274b519d3d8dcf3c57166913381a3d2664d6609004685039f9d3"}, - {file = "xxhash-3.4.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a162840cf4de8a7cd8720ff3b4417fbc10001eefdd2d21541a8226bb5556e3bb"}, - {file = "xxhash-3.4.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b736a2a2728ba45017cb67785e03125a79d246462dfa892d023b827007412c52"}, - {file = "xxhash-3.4.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d0ae4c2e7698adef58710d6e7a32ff518b66b98854b1c68e70eee504ad061d8"}, - {file = "xxhash-3.4.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6322c4291c3ff174dcd104fae41500e75dad12be6f3085d119c2c8a80956c51"}, - {file = "xxhash-3.4.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:dd59ed668801c3fae282f8f4edadf6dc7784db6d18139b584b6d9677ddde1b6b"}, - {file = "xxhash-3.4.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:92693c487e39523a80474b0394645b393f0ae781d8db3474ccdcead0559ccf45"}, - {file = "xxhash-3.4.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4603a0f642a1e8d7f3ba5c4c25509aca6a9c1cc16f85091004a7028607ead663"}, - {file = "xxhash-3.4.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fa45e8cbfbadb40a920fe9ca40c34b393e0b067082d94006f7f64e70c7490a6"}, - {file = "xxhash-3.4.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:595b252943b3552de491ff51e5bb79660f84f033977f88f6ca1605846637b7c6"}, - {file = "xxhash-3.4.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:562d8b8f783c6af969806aaacf95b6c7b776929ae26c0cd941d54644ea7ef51e"}, - {file = "xxhash-3.4.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:41ddeae47cf2828335d8d991f2d2b03b0bdc89289dc64349d712ff8ce59d0647"}, - {file = "xxhash-3.4.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c44d584afdf3c4dbb3277e32321d1a7b01d6071c1992524b6543025fb8f4206f"}, - {file = "xxhash-3.4.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd7bddb3a5b86213cc3f2c61500c16945a1b80ecd572f3078ddbbe68f9dabdfb"}, - {file = "xxhash-3.4.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9ecb6c987b62437c2f99c01e97caf8d25660bf541fe79a481d05732e5236719c"}, - {file = "xxhash-3.4.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:696b4e18b7023527d5c50ed0626ac0520edac45a50ec7cf3fc265cd08b1f4c03"}, - {file = "xxhash-3.4.1.tar.gz", hash = "sha256:0379d6cf1ff987cd421609a264ce025e74f346e3e145dd106c0cc2e3ec3f99a9"}, + {file = "xxhash-3.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ece616532c499ee9afbb83078b1b952beffef121d989841f7f4b3dc5ac0fd212"}, + {file = "xxhash-3.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3171f693dbc2cef6477054a665dc255d996646b4023fe56cb4db80e26f4cc520"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5d3e570ef46adaf93fc81b44aca6002b5a4d8ca11bd0580c07eac537f36680"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7cb29a034301e2982df8b1fe6328a84f4b676106a13e9135a0d7e0c3e9f806da"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d0d307d27099bb0cbeea7260eb39ed4fdb99c5542e21e94bb6fd29e49c57a23"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0342aafd421795d740e514bc9858ebddfc705a75a8c5046ac56d85fe97bf196"}, + {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dbbd9892c5ebffeca1ed620cf0ade13eb55a0d8c84e0751a6653adc6ac40d0c"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4cc2d67fdb4d057730c75a64c5923abfa17775ae234a71b0200346bfb0a7f482"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ec28adb204b759306a3d64358a5e5c07d7b1dd0ccbce04aa76cb9377b7b70296"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1328f6d8cca2b86acb14104e381225a3d7b42c92c4b86ceae814e5c400dbb415"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8d47ebd9f5d9607fd039c1fbf4994e3b071ea23eff42f4ecef246ab2b7334198"}, + {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b96d559e0fcddd3343c510a0fe2b127fbff16bf346dd76280b82292567523442"}, + {file = "xxhash-3.5.0-cp310-cp310-win32.whl", hash = "sha256:61c722ed8d49ac9bc26c7071eeaa1f6ff24053d553146d5df031802deffd03da"}, + {file = "xxhash-3.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:9bed5144c6923cc902cd14bb8963f2d5e034def4486ab0bbe1f58f03f042f9a9"}, + {file = "xxhash-3.5.0-cp310-cp310-win_arm64.whl", hash = "sha256:893074d651cf25c1cc14e3bea4fceefd67f2921b1bb8e40fcfeba56820de80c6"}, + {file = "xxhash-3.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02c2e816896dc6f85922ced60097bcf6f008dedfc5073dcba32f9c8dd786f3c1"}, + {file = "xxhash-3.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6027dcd885e21581e46d3c7f682cfb2b870942feeed58a21c29583512c3f09f8"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1308fa542bbdbf2fa85e9e66b1077eea3a88bef38ee8a06270b4298a7a62a166"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c28b2fdcee797e1c1961cd3bcd3d545cab22ad202c846235197935e1df2f8ef7"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:924361811732ddad75ff23e90efd9ccfda4f664132feecb90895bade6a1b4623"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89997aa1c4b6a5b1e5b588979d1da048a3c6f15e55c11d117a56b75c84531f5a"}, + {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:685c4f4e8c59837de103344eb1c8a3851f670309eb5c361f746805c5471b8c88"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbd2ecfbfee70bc1a4acb7461fa6af7748ec2ab08ac0fa298f281c51518f982c"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:25b5a51dc3dfb20a10833c8eee25903fd2e14059e9afcd329c9da20609a307b2"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a8fb786fb754ef6ff8c120cb96629fb518f8eb5a61a16aac3a979a9dbd40a084"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a905ad00ad1e1c34fe4e9d7c1d949ab09c6fa90c919860c1534ff479f40fd12d"}, + {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:963be41bcd49f53af6d795f65c0da9b4cc518c0dd9c47145c98f61cb464f4839"}, + {file = "xxhash-3.5.0-cp311-cp311-win32.whl", hash = "sha256:109b436096d0a2dd039c355fa3414160ec4d843dfecc64a14077332a00aeb7da"}, + {file = "xxhash-3.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:b702f806693201ad6c0a05ddbbe4c8f359626d0b3305f766077d51388a6bac58"}, + {file = "xxhash-3.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:c4dcb4120d0cc3cc448624147dba64e9021b278c63e34a38789b688fd0da9bf3"}, + {file = "xxhash-3.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:14470ace8bd3b5d51318782cd94e6f94431974f16cb3b8dc15d52f3b69df8e00"}, + {file = "xxhash-3.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59aa1203de1cb96dbeab595ded0ad0c0056bb2245ae11fac11c0ceea861382b9"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08424f6648526076e28fae6ea2806c0a7d504b9ef05ae61d196d571e5c879c84"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61a1ff00674879725b194695e17f23d3248998b843eb5e933007ca743310f793"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2f2c61bee5844d41c3eb015ac652a0229e901074951ae48581d58bfb2ba01be"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d32a592cac88d18cc09a89172e1c32d7f2a6e516c3dfde1b9adb90ab5df54a6"}, + {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70dabf941dede727cca579e8c205e61121afc9b28516752fd65724be1355cc90"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e5d0ddaca65ecca9c10dcf01730165fd858533d0be84c75c327487c37a906a27"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e5b5e16c5a480fe5f59f56c30abdeba09ffd75da8d13f6b9b6fd224d0b4d0a2"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149b7914451eb154b3dfaa721315117ea1dac2cc55a01bfbd4df7c68c5dd683d"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:eade977f5c96c677035ff39c56ac74d851b1cca7d607ab3d8f23c6b859379cab"}, + {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa9f547bd98f5553d03160967866a71056a60960be00356a15ecc44efb40ba8e"}, + {file = "xxhash-3.5.0-cp312-cp312-win32.whl", hash = "sha256:f7b58d1fd3551b8c80a971199543379be1cee3d0d409e1f6d8b01c1a2eebf1f8"}, + {file = "xxhash-3.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:fa0cafd3a2af231b4e113fba24a65d7922af91aeb23774a8b78228e6cd785e3e"}, + {file = "xxhash-3.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:586886c7e89cb9828bcd8a5686b12e161368e0064d040e225e72607b43858ba2"}, + {file = "xxhash-3.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37889a0d13b0b7d739cfc128b1c902f04e32de17b33d74b637ad42f1c55101f6"}, + {file = "xxhash-3.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:97a662338797c660178e682f3bc180277b9569a59abfb5925e8620fba00b9fc5"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f85e0108d51092bdda90672476c7d909c04ada6923c14ff9d913c4f7dc8a3bc"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2fd827b0ba763ac919440042302315c564fdb797294d86e8cdd4578e3bc7f3"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82085c2abec437abebf457c1d12fccb30cc8b3774a0814872511f0f0562c768c"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07fda5de378626e502b42b311b049848c2ef38784d0d67b6f30bb5008642f8eb"}, + {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c279f0d2b34ef15f922b77966640ade58b4ccdfef1c4d94b20f2a364617a493f"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:89e66ceed67b213dec5a773e2f7a9e8c58f64daeb38c7859d8815d2c89f39ad7"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bcd51708a633410737111e998ceb3b45d3dbc98c0931f743d9bb0a209033a326"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3ff2c0a34eae7df88c868be53a8dd56fbdf592109e21d4bfa092a27b0bf4a7bf"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4e28503dccc7d32e0b9817aa0cbfc1f45f563b2c995b7a66c4c8a0d232e840c7"}, + {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a6c50017518329ed65a9e4829154626f008916d36295b6a3ba336e2458824c8c"}, + {file = "xxhash-3.5.0-cp313-cp313-win32.whl", hash = "sha256:53a068fe70301ec30d868ece566ac90d873e3bb059cf83c32e76012c889b8637"}, + {file = "xxhash-3.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:80babcc30e7a1a484eab952d76a4f4673ff601f54d5142c26826502740e70b43"}, + {file = "xxhash-3.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:4811336f1ce11cac89dcbd18f3a25c527c16311709a89313c3acaf771def2d4b"}, + {file = "xxhash-3.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6e5f70f6dca1d3b09bccb7daf4e087075ff776e3da9ac870f86ca316736bb4aa"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e76e83efc7b443052dd1e585a76201e40b3411fe3da7af4fe434ec51b2f163b"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33eac61d0796ca0591f94548dcfe37bb193671e0c9bcf065789b5792f2eda644"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ec70a89be933ea49222fafc3999987d7899fc676f688dd12252509434636622"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86b8e7f703ec6ff4f351cfdb9f428955859537125904aa8c963604f2e9d3e7"}, + {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0adfbd36003d9f86c8c97110039f7539b379f28656a04097e7434d3eaf9aa131"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:63107013578c8a730419adc05608756c3fa640bdc6abe806c3123a49fb829f43"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:683b94dbd1ca67557850b86423318a2e323511648f9f3f7b1840408a02b9a48c"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:5d2a01dcce81789cf4b12d478b5464632204f4c834dc2d064902ee27d2d1f0ee"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:a9d360a792cbcce2fe7b66b8d51274ec297c53cbc423401480e53b26161a290d"}, + {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:f0b48edbebea1b7421a9c687c304f7b44d0677c46498a046079d445454504737"}, + {file = "xxhash-3.5.0-cp37-cp37m-win32.whl", hash = "sha256:7ccb800c9418e438b44b060a32adeb8393764da7441eb52aa2aa195448935306"}, + {file = "xxhash-3.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c3bc7bf8cb8806f8d1c9bf149c18708cb1c406520097d6b0a73977460ea03602"}, + {file = "xxhash-3.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:74752ecaa544657d88b1d1c94ae68031e364a4d47005a90288f3bab3da3c970f"}, + {file = "xxhash-3.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dee1316133c9b463aa81aca676bc506d3f80d8f65aeb0bba2b78d0b30c51d7bd"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:602d339548d35a8579c6b013339fb34aee2df9b4e105f985443d2860e4d7ffaa"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:695735deeddfb35da1677dbc16a083445360e37ff46d8ac5c6fcd64917ff9ade"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1030a39ba01b0c519b1a82f80e8802630d16ab95dc3f2b2386a0b5c8ed5cbb10"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5bc08f33c4966f4eb6590d6ff3ceae76151ad744576b5fc6c4ba8edd459fdec"}, + {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160e0c19ee500482ddfb5d5570a0415f565d8ae2b3fd69c5dcfce8a58107b1c3"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f1abffa122452481a61c3551ab3c89d72238e279e517705b8b03847b1d93d738"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:d5e9db7ef3ecbfc0b4733579cea45713a76852b002cf605420b12ef3ef1ec148"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:23241ff6423378a731d84864bf923a41649dc67b144debd1077f02e6249a0d54"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:82b833d5563fefd6fceafb1aed2f3f3ebe19f84760fdd289f8b926731c2e6e91"}, + {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a80ad0ffd78bef9509eee27b4a29e56f5414b87fb01a888353e3d5bda7038bd"}, + {file = "xxhash-3.5.0-cp38-cp38-win32.whl", hash = "sha256:50ac2184ffb1b999e11e27c7e3e70cc1139047e7ebc1aa95ed12f4269abe98d4"}, + {file = "xxhash-3.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:392f52ebbb932db566973693de48f15ce787cabd15cf6334e855ed22ea0be5b3"}, + {file = "xxhash-3.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bfc8cdd7f33d57f0468b0614ae634cc38ab9202c6957a60e31d285a71ebe0301"}, + {file = "xxhash-3.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0c48b6300cd0b0106bf49169c3e0536408dfbeb1ccb53180068a18b03c662ab"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe1a92cfbaa0a1253e339ccec42dbe6db262615e52df591b68726ab10338003f"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33513d6cc3ed3b559134fb307aae9bdd94d7e7c02907b37896a6c45ff9ce51bd"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eefc37f6138f522e771ac6db71a6d4838ec7933939676f3753eafd7d3f4c40bc"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a606c8070ada8aa2a88e181773fa1ef17ba65ce5dd168b9d08038e2a61b33754"}, + {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42eca420c8fa072cc1dd62597635d140e78e384a79bb4944f825fbef8bfeeef6"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:604253b2143e13218ff1ef0b59ce67f18b8bd1c4205d2ffda22b09b426386898"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6e93a5ad22f434d7876665444a97e713a8f60b5b1a3521e8df11b98309bff833"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:7a46e1d6d2817ba8024de44c4fd79913a90e5f7265434cef97026215b7d30df6"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:30eb2efe6503c379b7ab99c81ba4a779748e3830241f032ab46bd182bf5873af"}, + {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c8aa771ff2c13dd9cda8166d685d7333d389fae30a4d2bb39d63ab5775de8606"}, + {file = "xxhash-3.5.0-cp39-cp39-win32.whl", hash = "sha256:5ed9ebc46f24cf91034544b26b131241b699edbfc99ec5e7f8f3d02d6eb7fba4"}, + {file = "xxhash-3.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:220f3f896c6b8d0316f63f16c077d52c412619e475f9372333474ee15133a558"}, + {file = "xxhash-3.5.0-cp39-cp39-win_arm64.whl", hash = "sha256:a7b1d8315d9b5e9f89eb2933b73afae6ec9597a258d52190944437158b49d38e"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2014c5b3ff15e64feecb6b713af12093f75b7926049e26a580e94dcad3c73d8c"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fab81ef75003eda96239a23eda4e4543cedc22e34c373edcaf744e721a163986"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2febf914ace002132aa09169cc572e0d8959d0f305f93d5828c4836f9bc5a6"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5d3a10609c51da2a1c0ea0293fc3968ca0a18bd73838455b5bca3069d7f8e32b"}, + {file = "xxhash-3.5.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5a74f23335b9689b66eb6dbe2a931a88fcd7a4c2cc4b1cb0edba8ce381c7a1da"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2b4154c00eb22e4d543f472cfca430e7962a0f1d0f3778334f2e08a7ba59363c"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d30bbc1644f726b825b3278764240f449d75f1a8bdda892e641d4a688b1494ae"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fa0b72f2423e2aa53077e54a61c28e181d23effeaafd73fcb9c494e60930c8e"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13de2b76c1835399b2e419a296d5b38dc4855385d9e96916299170085ef72f57"}, + {file = "xxhash-3.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0691bfcc4f9c656bcb96cc5db94b4d75980b9d5589f2e59de790091028580837"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:297595fe6138d4da2c8ce9e72a04d73e58725bb60f3a19048bc96ab2ff31c692"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc1276d369452040cbb943300dc8abeedab14245ea44056a2943183822513a18"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2061188a1ba352fc699c82bff722f4baacb4b4b8b2f0c745d2001e56d0dfb514"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38c384c434021e4f62b8d9ba0bc9467e14d394893077e2c66d826243025e1f81"}, + {file = "xxhash-3.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e6a4dd644d72ab316b580a1c120b375890e4c52ec392d4aef3c63361ec4d77d1"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:531af8845aaadcadf951b7e0c1345c6b9c68a990eeb74ff9acd8501a0ad6a1c9"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ce379bcaa9fcc00f19affa7773084dd09f5b59947b3fb47a1ceb0179f91aaa1"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd1b2281d01723f076df3c8188f43f2472248a6b63118b036e641243656b1b0f"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c770750cc80e8694492244bca7251385188bc5597b6a39d98a9f30e8da984e0"}, + {file = "xxhash-3.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b150b8467852e1bd844387459aa6fbe11d7f38b56e901f9f3b3e6aba0d660240"}, + {file = "xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f"}, ] [[package]] name = "yarl" -version = "1.9.3" +version = "1.15.4" description = "Yet another URL library" optional = false -python-versions = ">=3.7" -files = [ - {file = "yarl-1.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:32435d134414e01d937cd9d6cc56e8413a8d4741dea36af5840c7750f04d16ab"}, - {file = "yarl-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9a5211de242754b5e612557bca701f39f8b1a9408dff73c6db623f22d20f470e"}, - {file = "yarl-1.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:525cd69eff44833b01f8ef39aa33a9cc53a99ff7f9d76a6ef6a9fb758f54d0ff"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc94441bcf9cb8c59f51f23193316afefbf3ff858460cb47b5758bf66a14d130"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e36021db54b8a0475805acc1d6c4bca5d9f52c3825ad29ae2d398a9d530ddb88"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0f17d1df951336a02afc8270c03c0c6e60d1f9996fcbd43a4ce6be81de0bd9d"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5f3faeb8100a43adf3e7925d556801d14b5816a0ac9e75e22948e787feec642"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aed37db837ecb5962469fad448aaae0f0ee94ffce2062cf2eb9aed13328b5196"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:721ee3fc292f0d069a04016ef2c3a25595d48c5b8ddc6029be46f6158d129c92"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b8bc5b87a65a4e64bc83385c05145ea901b613d0d3a434d434b55511b6ab0067"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:dd952b9c64f3b21aedd09b8fe958e4931864dba69926d8a90c90d36ac4e28c9a"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:c405d482c320a88ab53dcbd98d6d6f32ada074f2d965d6e9bf2d823158fa97de"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9df9a0d4c5624790a0dea2e02e3b1b3c69aed14bcb8650e19606d9df3719e87d"}, - {file = "yarl-1.9.3-cp310-cp310-win32.whl", hash = "sha256:d34c4f80956227f2686ddea5b3585e109c2733e2d4ef12eb1b8b4e84f09a2ab6"}, - {file = "yarl-1.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:cf7a4e8de7f1092829caef66fd90eaf3710bc5efd322a816d5677b7664893c93"}, - {file = "yarl-1.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d61a0ca95503867d4d627517bcfdc28a8468c3f1b0b06c626f30dd759d3999fd"}, - {file = "yarl-1.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73cc83f918b69110813a7d95024266072d987b903a623ecae673d1e71579d566"}, - {file = "yarl-1.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d81657b23e0edb84b37167e98aefb04ae16cbc5352770057893bd222cdc6e45f"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26a1a8443091c7fbc17b84a0d9f38de34b8423b459fb853e6c8cdfab0eacf613"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe34befb8c765b8ce562f0200afda3578f8abb159c76de3ab354c80b72244c41"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2c757f64afe53a422e45e3e399e1e3cf82b7a2f244796ce80d8ca53e16a49b9f"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72a57b41a0920b9a220125081c1e191b88a4cdec13bf9d0649e382a822705c65"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632c7aeb99df718765adf58eacb9acb9cbc555e075da849c1378ef4d18bf536a"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b0b8c06afcf2bac5a50b37f64efbde978b7f9dc88842ce9729c020dc71fae4ce"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1d93461e2cf76c4796355494f15ffcb50a3c198cc2d601ad8d6a96219a10c363"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4003f380dac50328c85e85416aca6985536812c082387255c35292cb4b41707e"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4d6d74a97e898c1c2df80339aa423234ad9ea2052f66366cef1e80448798c13d"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b61e64b06c3640feab73fa4ff9cb64bd8182de52e5dc13038e01cfe674ebc321"}, - {file = "yarl-1.9.3-cp311-cp311-win32.whl", hash = "sha256:29beac86f33d6c7ab1d79bd0213aa7aed2d2f555386856bb3056d5fdd9dab279"}, - {file = "yarl-1.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:f7271d6bd8838c49ba8ae647fc06469137e1c161a7ef97d778b72904d9b68696"}, - {file = "yarl-1.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:dd318e6b75ca80bff0b22b302f83a8ee41c62b8ac662ddb49f67ec97e799885d"}, - {file = "yarl-1.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c4b1efb11a8acd13246ffb0bee888dd0e8eb057f8bf30112e3e21e421eb82d4a"}, - {file = "yarl-1.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c6f034386e5550b5dc8ded90b5e2ff7db21f0f5c7de37b6efc5dac046eb19c10"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd49a908cb6d387fc26acee8b7d9fcc9bbf8e1aca890c0b2fdfd706057546080"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa4643635f26052401750bd54db911b6342eb1a9ac3e74f0f8b58a25d61dfe41"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e741bd48e6a417bdfbae02e088f60018286d6c141639359fb8df017a3b69415a"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c86d0d0919952d05df880a1889a4f0aeb6868e98961c090e335671dea5c0361"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3d5434b34100b504aabae75f0622ebb85defffe7b64ad8f52b8b30ec6ef6e4b9"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79e1df60f7c2b148722fb6cafebffe1acd95fd8b5fd77795f56247edaf326752"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:44e91a669c43f03964f672c5a234ae0d7a4d49c9b85d1baa93dec28afa28ffbd"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3cfa4dbe17b2e6fca1414e9c3bcc216f6930cb18ea7646e7d0d52792ac196808"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:88d2c3cc4b2f46d1ba73d81c51ec0e486f59cc51165ea4f789677f91a303a9a7"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cccdc02e46d2bd7cb5f38f8cc3d9db0d24951abd082b2f242c9e9f59c0ab2af3"}, - {file = "yarl-1.9.3-cp312-cp312-win32.whl", hash = "sha256:96758e56dceb8a70f8a5cff1e452daaeff07d1cc9f11e9b0c951330f0a2396a7"}, - {file = "yarl-1.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:c4472fe53ebf541113e533971bd8c32728debc4c6d8cc177f2bff31d011ec17e"}, - {file = "yarl-1.9.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:126638ab961633f0940a06e1c9d59919003ef212a15869708dcb7305f91a6732"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c99ddaddb2fbe04953b84d1651149a0d85214780e4d0ee824e610ab549d98d92"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dab30b21bd6fb17c3f4684868c7e6a9e8468078db00f599fb1c14e324b10fca"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:828235a2a169160ee73a2fcfb8a000709edf09d7511fccf203465c3d5acc59e4"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc391e3941045fd0987c77484b2799adffd08e4b6735c4ee5f054366a2e1551d"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51382c72dd5377861b573bd55dcf680df54cea84147c8648b15ac507fbef984d"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:28a108cb92ce6cf867690a962372996ca332d8cda0210c5ad487fe996e76b8bb"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:8f18a7832ff85dfcd77871fe677b169b1bc60c021978c90c3bb14f727596e0ae"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:7eaf13af79950142ab2bbb8362f8d8d935be9aaf8df1df89c86c3231e4ff238a"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:66a6dbf6ca7d2db03cc61cafe1ee6be838ce0fbc97781881a22a58a7c5efef42"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a0a4f3aaa18580038cfa52a7183c8ffbbe7d727fe581300817efc1e96d1b0e9"}, - {file = "yarl-1.9.3-cp37-cp37m-win32.whl", hash = "sha256:946db4511b2d815979d733ac6a961f47e20a29c297be0d55b6d4b77ee4b298f6"}, - {file = "yarl-1.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:2dad8166d41ebd1f76ce107cf6a31e39801aee3844a54a90af23278b072f1ccf"}, - {file = "yarl-1.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:bb72d2a94481e7dc7a0c522673db288f31849800d6ce2435317376a345728225"}, - {file = "yarl-1.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9a172c3d5447b7da1680a1a2d6ecdf6f87a319d21d52729f45ec938a7006d5d8"}, - {file = "yarl-1.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2dc72e891672343b99db6d497024bf8b985537ad6c393359dc5227ef653b2f17"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8d51817cf4b8d545963ec65ff06c1b92e5765aa98831678d0e2240b6e9fd281"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53ec65f7eee8655bebb1f6f1607760d123c3c115a324b443df4f916383482a67"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cfd77e8e5cafba3fb584e0f4b935a59216f352b73d4987be3af51f43a862c403"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e73db54c967eb75037c178a54445c5a4e7461b5203b27c45ef656a81787c0c1b"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09c19e5f4404574fcfb736efecf75844ffe8610606f3fccc35a1515b8b6712c4"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6280353940f7e5e2efaaabd686193e61351e966cc02f401761c4d87f48c89ea4"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c25ec06e4241e162f5d1f57c370f4078797ade95c9208bd0c60f484834f09c96"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7217234b10c64b52cc39a8d82550342ae2e45be34f5bff02b890b8c452eb48d7"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4ce77d289f8d40905c054b63f29851ecbfd026ef4ba5c371a158cfe6f623663e"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5f74b015c99a5eac5ae589de27a1201418a5d9d460e89ccb3366015c6153e60a"}, - {file = "yarl-1.9.3-cp38-cp38-win32.whl", hash = "sha256:8a2538806be846ea25e90c28786136932ec385c7ff3bc1148e45125984783dc6"}, - {file = "yarl-1.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:6465d36381af057d0fab4e0f24ef0e80ba61f03fe43e6eeccbe0056e74aadc70"}, - {file = "yarl-1.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2f3c8822bc8fb4a347a192dd6a28a25d7f0ea3262e826d7d4ef9cc99cd06d07e"}, - {file = "yarl-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7831566595fe88ba17ea80e4b61c0eb599f84c85acaa14bf04dd90319a45b90"}, - {file = "yarl-1.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff34cb09a332832d1cf38acd0f604c068665192c6107a439a92abfd8acf90fe2"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe8080b4f25dfc44a86bedd14bc4f9d469dfc6456e6f3c5d9077e81a5fedfba7"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8535e111a064f3bdd94c0ed443105934d6f005adad68dd13ce50a488a0ad1bf3"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d155a092bf0ebf4a9f6f3b7a650dc5d9a5bbb585ef83a52ed36ba46f55cc39d"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:778df71c8d0c8c9f1b378624b26431ca80041660d7be7c3f724b2c7a6e65d0d6"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9f9cafaf031c34d95c1528c16b2fa07b710e6056b3c4e2e34e9317072da5d1a"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ca6b66f69e30f6e180d52f14d91ac854b8119553b524e0e28d5291a724f0f423"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e0e7e83f31e23c5d00ff618045ddc5e916f9e613d33c5a5823bc0b0a0feb522f"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:af52725c7c39b0ee655befbbab5b9a1b209e01bb39128dce0db226a10014aacc"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0ab5baaea8450f4a3e241ef17e3d129b2143e38a685036b075976b9c415ea3eb"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6d350388ba1129bc867c6af1cd17da2b197dff0d2801036d2d7d83c2d771a682"}, - {file = "yarl-1.9.3-cp39-cp39-win32.whl", hash = "sha256:e2a16ef5fa2382af83bef4a18c1b3bcb4284c4732906aa69422cf09df9c59f1f"}, - {file = "yarl-1.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:d92d897cb4b4bf915fbeb5e604c7911021a8456f0964f3b8ebbe7f9188b9eabb"}, - {file = "yarl-1.9.3-py3-none-any.whl", hash = "sha256:271d63396460b6607b588555ea27a1a02b717ca2e3f2cf53bdde4013d7790929"}, - {file = "yarl-1.9.3.tar.gz", hash = "sha256:4a14907b597ec55740f63e52d7fee0e9ee09d5b9d57a4f399a7423268e457b57"}, +python-versions = ">=3.9" +files = [ + {file = "yarl-1.15.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:551205388d1da18a9975302c9a274ba24788f53bb9bb86187496ebf9e938916e"}, + {file = "yarl-1.15.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eee724176b5bc50ee64905f559345448119b860a30b9489bd7a073f61baf925f"}, + {file = "yarl-1.15.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:db818e33599f7b2e4c6507f2b2c24f45ff539a1b6e4e09163bb6f3cfb4616ca7"}, + {file = "yarl-1.15.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07019a9de859c5a29916defd1e8c7557de6491a10bf50c49ff5284e6aedf5313"}, + {file = "yarl-1.15.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db64a20e78969fc66665d2e5fc96cb4f4dc80f2137d8fed4b5a650ad569bb60f"}, + {file = "yarl-1.15.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4076bfd8f1621449b19b9826848ed51bf0f2d1d38e82647c312c0730d8778903"}, + {file = "yarl-1.15.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c23a442973dba3646811c284fce3dddd7fe5c2bd674ac73a122198e8218d6115"}, + {file = "yarl-1.15.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2bdb038b3f5c284e3919218c580dedc95f592c417a358361450b9519b22f7a8"}, + {file = "yarl-1.15.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:59db8e6888d5302b8dbca0c1026ddabe99d81d67cdc101941519e13ffc9050fe"}, + {file = "yarl-1.15.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f3294ce265011547630a59c20085fcb6af8cc5fa1fa44a203251f7d86cd5d913"}, + {file = "yarl-1.15.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4851618679ca70b863ba2e7109be5f09f8fd7715ec505bd42e5a947dcfde3a45"}, + {file = "yarl-1.15.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:dce1c56beef74d9c799a6ed94001693232a1402138292353a8ce302b64f457d9"}, + {file = "yarl-1.15.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1e7468f31de61a82817f918743e5229fce774f73fad58487cdf88eef4f06d864"}, + {file = "yarl-1.15.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:527c68f48a91d953691291d3bce0209293aa5ad13ff05286ddb506791c331818"}, + {file = "yarl-1.15.4-cp310-cp310-win32.whl", hash = "sha256:c30115cecaf25fdcb67cc71c669d08425207f62d7a2f6d5416057c1460529216"}, + {file = "yarl-1.15.4-cp310-cp310-win_amd64.whl", hash = "sha256:df09c80f4bc2bc2efde309af383c3fe8fd8c51fe0519edb350b9c9e0af43ffa4"}, + {file = "yarl-1.15.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:76259901cf1ac3db65e7e6dff04775b626d0715f9b51d92b447351144c756a82"}, + {file = "yarl-1.15.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:98d8dc1e8133f86d916125deca9780d791b22645f0d62bafe1452d1cd5eac631"}, + {file = "yarl-1.15.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d0f16c87c62b7a94b389ddf6a8c9d081265d788875c39f3a80108c4856eea7b"}, + {file = "yarl-1.15.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8de5328d91859b461899497980d4cc8269e84e2d18640f6ac643886fda9000bf"}, + {file = "yarl-1.15.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84937d00e2ea03616c40977de20189fa13a9213e5744a3c6afa0e7dd9141d69c"}, + {file = "yarl-1.15.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:691a3b498fdebef63308e8967bb598cfd326c56d628da82b799dd181bace4503"}, + {file = "yarl-1.15.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a706db0c3b7e4578ff34ed2b1d2507b08fd491346ffc64468786fdf1151d938"}, + {file = "yarl-1.15.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:adb6b5d07d17c32f9d34c9dd4a693637a72323cfcb1f8a52d57033ab2dd21e99"}, + {file = "yarl-1.15.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6e100c6c7d9e9d469009fd55cc4d7ad168d67d40758865c50da713f7ada491e5"}, + {file = "yarl-1.15.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:df6b254e55c8ac2362afaa651e3e53453aa19a095570792346245773b434176e"}, + {file = "yarl-1.15.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8721f8bedaa722c3c483cc06a1399cbfdb280eadf443aa5d324b0203cef2a75f"}, + {file = "yarl-1.15.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1005921b30f4f39bf893946df6173567ff650307babb5ec04bbf64342a1f62c1"}, + {file = "yarl-1.15.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ab79cc13307065a0b3ef087f09f0509996fc605d35d6642bb28e5d85b2648e1e"}, + {file = "yarl-1.15.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f337486742c700b102d640830aab3faf2848bed966b479a39e6783edd4ab1c6c"}, + {file = "yarl-1.15.4-cp311-cp311-win32.whl", hash = "sha256:20acf84bd1ce530065f8e957e4a5878fda4bc5f18cb02659828210e1519de54e"}, + {file = "yarl-1.15.4-cp311-cp311-win_amd64.whl", hash = "sha256:ab9ccf26cb3fa32747ba2a637a189d2d42386a2fc4afc10dbc7f85922dd23b0f"}, + {file = "yarl-1.15.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f923e94e93a37fd990e8336e0b9bedea533e7cbed14e0c572bf9357ef2a70681"}, + {file = "yarl-1.15.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3198da7d7c34e29fc8c823e0c3ce6c7274aac35760de557c2017489c7d98fc5a"}, + {file = "yarl-1.15.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d886de2ea81f513ba2d6820451d33b767a97c37867ba688d42e164b2dbca1362"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ac85e760543129a1912a82438fc8075223e35eaa2d457d61cd83c27d00d17be"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e58c5d07b1f78dd4cb180c5b3b82465cd281aaeee8aafea0e5d72a4b97922cb1"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9060589d0acad1fca048861fa9ee3e8ed060f67894fa885969648ab6e9e99a54"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccd6774aa7bebdf9ca608bb0839318757a71b8e0d2cf7b10c002bc8790bd343e"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7694f109867ee428c21b85ae19fd31d164c691eb45cc95c561cfdeba237a12e3"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:83e7154aa0d17f5c93d27ac01088fd9ab6673e7bab1acbd07cd7a865b980c045"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:f16d1940c0cbc342f1d29d6212a006d172be616d2942c5c41966e8a3ce4c3be1"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7d5226c70af3ad9569ccc4ccc04ab65be79eeb22c87d7ae789c89e62ef76bbd6"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f25906e4a72d9833e81717c39a39dee7297ff5cb44957d06d177a2ab8ef2ef7f"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e07e4b17b648c880e8e42bf1ac0a730bde114961646ae1c2ec4433f0c11ca94"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6f8136bde8dfa4477c6a85c79a366581b4a505b51a52b669318fb631d3f4f638"}, + {file = "yarl-1.15.4-cp312-cp312-win32.whl", hash = "sha256:ccbeaf5b18b173b9d78e332e017b30ba8bedcf03cdce1d13490b82a3f421bc98"}, + {file = "yarl-1.15.4-cp312-cp312-win_amd64.whl", hash = "sha256:f74f6ffdc633aefecbc80282242a5395058db9d1247fa7dd2f070ef84dc82583"}, + {file = "yarl-1.15.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4f66a0eda48844508736e47ed476d8fdd7cdbf16a4053b5d439509a25f708504"}, + {file = "yarl-1.15.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fd2bb86f40962d53a91def15a2f7684c62e081a7b96ec74ed0259c34b15973b9"}, + {file = "yarl-1.15.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f864b412557e69a6b953d62c01a0ed0ee342666298aa7f2a29af526bfa80f6e9"}, + {file = "yarl-1.15.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a79c0a8bbb046add85663af85e9993b691bf20c2a109518bd35e0ce77edfe42"}, + {file = "yarl-1.15.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de479e30abd2dfd49fdad3bd6953f2d930a45380be5143c0c9f7a1215cffc8cc"}, + {file = "yarl-1.15.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:21fabe58042f3e567b4edc75b2cf44cea02f228e41ac09d73de126bf685fe883"}, + {file = "yarl-1.15.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77390496f2f32437a721c854897f889abefae0f3009daf90a2f703508d96c920"}, + {file = "yarl-1.15.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3896bf15284dd23acab1f2e7fceb350d8da6f6f2436b922f7ec6b3de685d34ca"}, + {file = "yarl-1.15.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:590e2d733a82ecf004c5c531cbef0d6be328e93adec960024eb213f10cb9503e"}, + {file = "yarl-1.15.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:1ceb677fb583971351627eac70eec6763fbc889761828da7a276681b5e39742d"}, + {file = "yarl-1.15.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:69f628d2da1489b27959f4d63fdb326781fe484944dce94abbf919e416c54abe"}, + {file = "yarl-1.15.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:35a6b69cc44bda002705d6138346bf0a0234cbb7c26c3bf192513eb946aee6f9"}, + {file = "yarl-1.15.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:49f886e8dcf591275c6e20915b516fd81647857566b0c0158c52df1e468849c9"}, + {file = "yarl-1.15.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:49190eb2ece70313742b0ea51520340288a059674da1f39eefb589d598d9453e"}, + {file = "yarl-1.15.4-cp313-cp313-win32.whl", hash = "sha256:48334a6c8afee93097eb17c0a094234dac2d88da076c8cf372e09e2a5dcc4b66"}, + {file = "yarl-1.15.4-cp313-cp313-win_amd64.whl", hash = "sha256:f68025d6ba1816428b7de615c80f61cb03d5b7061158d4ced7696657a64aa59c"}, + {file = "yarl-1.15.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8b569f4f511b59518ba6719feb5b8bf0a5d4115e6ac903c89e10a8a9ac656017"}, + {file = "yarl-1.15.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9fe17744d60fc404ac61f824118e1e15ce3c2e92eced9b8e22f3c7847acafbf2"}, + {file = "yarl-1.15.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:115346433fad2084ee3a1a925ccc0659990aa42e208ca54c278830a150a3caf3"}, + {file = "yarl-1.15.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60165b8bc260f453321004b193770a66cc1b1a5c57c07d4b8dcc96839e7ad578"}, + {file = "yarl-1.15.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65a0168691373e08d869d48b62c8bed0af0cdaef19c76e11ad73b43901bbdb5a"}, + {file = "yarl-1.15.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:787532f00543a21b8f4ec3050b4e01b8fe437797903c0156a0b03dfca5e1ba6c"}, + {file = "yarl-1.15.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f51c9d173e5fa4b12d06ddca09a41cabbdeb660471dbe55432423eec095709ab"}, + {file = "yarl-1.15.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c96eaa30030e1cfafe533f3da8983812281235b7c50ef2a6c78ceca7aea1a0b"}, + {file = "yarl-1.15.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4feab2dcb725eb5b4835207ecf3d370ff7ce930b253cba5e681646cb80d64c2c"}, + {file = "yarl-1.15.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:de38b0b5b86e57efb129d179854e78b65cb8e294a8c75560877869c43aa2415a"}, + {file = "yarl-1.15.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:65e0467f90f2acf3bc83bbfeedece8f1fd84df8add1a54e9600ed7b7b5debdb0"}, + {file = "yarl-1.15.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:40c18f96696549e73b92dc12619f07019cbf5faefc1612608f967c144816e493"}, + {file = "yarl-1.15.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:46491b3e058de7b484e1c9fb20aa8441f06d6c9a18395d711c1c2a9ad6707d6a"}, + {file = "yarl-1.15.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:faa3dd7f4620ab5e5da7a0789d0aac78a9ad0376f102409d442ec5a4179e200a"}, + {file = "yarl-1.15.4-cp39-cp39-win32.whl", hash = "sha256:c33ea7c55a73be343f02361795caf52a187357ea07708fb1cae6661ee1d689c8"}, + {file = "yarl-1.15.4-cp39-cp39-win_amd64.whl", hash = "sha256:11b207061f28b4b6d980239b22ab0ecfadc47846b5a3b8e79f27fcc019d02cf9"}, + {file = "yarl-1.15.4-py3-none-any.whl", hash = "sha256:e5cc288111c450c0a54a74475591b206d3b1cb47dc71bb6200f6be8b1337184c"}, + {file = "yarl-1.15.4.tar.gz", hash = "sha256:a0c5e271058d148d730219ca4f33c5d841c6bd46e05b0da60fea7b516906ccd3"}, ] [package.dependencies] idna = ">=2.0" multidict = ">=4.0" +propcache = ">=0.2.0" [[package]] name = "zipp" -version = "3.5.0" +version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "zipp-3.5.0-py3-none-any.whl", hash = "sha256:957cfda87797e389580cb8b9e3870841ca991e2125350677b2ca83a0e99390a3"}, - {file = "zipp-3.5.0.tar.gz", hash = "sha256:f5812b1e007e48cff63449a5e9f4e7ebea716b4111f9c4f9a645f91d579bf0c4"}, + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] [package.extras] -docs = ["jaraco.packaging (>=8.2)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=4.6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-flake8", "pytest-mypy"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] [extras] huggingface = ["datasets", "sacremoses", "transformers"] @@ -4007,5 +4775,5 @@ thot = ["sil-thot"] [metadata] lock-version = "2.0" -python-versions = ">=3.8.1,<3.12" -content-hash = "e25fd409a86457951a9ba91a820377a7d2cf6c424f2e922bc7aa2a92011b20c6" +python-versions = ">=3.9,<3.13" +content-hash = "40035bf2895f4bae57978869e178f2d12c63342df5362438a4d6709e6cfdd693" diff --git a/pyproject-312.toml b/pyproject-312.toml new file mode 100644 index 0000000..e8f94f0 --- /dev/null +++ b/pyproject-312.toml @@ -0,0 +1,102 @@ +[tool.black] +line-length = 120 +target-version = ['py312'] +include = '\.pyi?$' +exclude = ''' +/( + \.eggs + | \.git + | \.hg + | \.mypy_cache + | \.tox + | \.venv + | _build + | buck-out + | build + | dist +)/ +''' + +[tool.isort] +profile = "black" +line_length = 120 + +[tool.pytest.ini_options] +testpaths = ["tests"] +norecursedirs = "tests/testutils" + +[tool.pyright] +typeCheckingMode = "basic" + +[tool.poetry] +name = "sil-machine" +version = "1.1.0" +description = "A natural language processing library that is focused on providing tools for resource-poor languages." +license = "MIT" +authors = ["SIL International"] +maintainers = ["Damien Daspit "] +readme = "README.md" +repository = "https://github.com/sillsdev/machine.py" +keywords = ["machine", "translation", "natural", "language", "processing"] +classifiers = [ + "Topic :: Scientific/Engineering", + "Topic :: Scientific/Engineering :: Artificial Intelligence", + "Topic :: Scientific/Engineering :: Mathematics", + "Topic :: Software Development", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Text Processing", + "Topic :: Text Processing :: Linguistic", +] +packages = [{ include = "machine" }] + +[tool.poetry.dependencies] +python = ">=3.9,<3.13" +regex = ">=2021.7.6" +numpy = "^1.24.4" +sortedcontainers = "^2.4.0" +networkx = "^2.6.3" +charset-normalizer = "^2.1.1" + +### extras +sentencepiece = "^0.2.0" +sil-thot = "^3.4.4" +# huggingface extras +transformers = "^4.34.0, <4.38.0" +datasets = "^2.4.0" +sacremoses = "^0.0.53" +# job extras +clearml = { extras = ["s3"], version = "^1.13.1" } +botocore = "^1.35.41" +boto3 = "^1.19.41" +dynaconf = "^3.2.5" +json-stream = "^1.3.0" + +[tool.poetry.group.dev.dependencies] +pytest = "^8.3.2" +black = "^24.1.1" # match the vscode extension +flake8 = "^7.0.0" +isort = "^5.9.3" +pytest-cov = "^4.1.0" +ipykernel = "^6.7.0" +jupyter = "^1.0.0" +pandas = "^2.0.3" +pyright = "^1.1.362" +decoy = "^2.1.0" +pep8-naming = "^0.14.1" + +[tool.poetry.group.gpu.dependencies] +# Torch is not included in the normal install to allow the user to choose the versions of these dependencies when +# installing via pypi +torch = { version = "2.4.0", markers = "sys_platform == 'win32' or sys_platform == 'linux'" } +accelerate = { version = "^0.26.1", markers = "sys_platform == 'win32' or sys_platform == 'linux'" } + +[tool.poetry.extras] +sentencepiece = ["sentencepiece"] +thot = ["sil-thot"] +huggingface = ["transformers", "datasets", "sacremoses"] +jobs = ["clearml", "json-stream", "dynaconf"] + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/pyproject.toml b/pyproject.toml index 3802735..7fc2622 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.black] line-length = 120 -target-version = ['py38'] +target-version = ['py39'] include = '\.pyi?$' exclude = ''' /( @@ -51,7 +51,7 @@ classifiers = [ packages = [{ include = "machine" }] [tool.poetry.dependencies] -python = ">=3.8.1,<3.12" +python = ">=3.9,<3.13" regex = ">=2021.7.6" numpy = "^1.24.4" sortedcontainers = "^2.4.0" @@ -59,14 +59,16 @@ networkx = "^2.6.3" charset-normalizer = "^2.1.1" ### extras -sentencepiece = "^0.1.95" +sentencepiece = "^0.2.0" sil-thot = "^3.4.4" # huggingface extras -transformers = "^4.34.0" +transformers = "^4.34.0, <4.38.0" datasets = "^2.4.0" sacremoses = "^0.0.53" # job extras clearml = { extras = ["s3"], version = "^1.13.1" } +botocore = "^1.35.41" +boto3 = "^1.19.41" dynaconf = "^3.2.5" json-stream = "^1.3.0" @@ -86,7 +88,7 @@ pep8-naming = "^0.14.1" [tool.poetry.group.gpu.dependencies] # Torch is not included in the normal install to allow the user to choose the versions of these dependencies when # installing via pypi -torch = { version = "2.1.2", markers = "sys_platform == 'win32' or sys_platform == 'linux'" } +torch = { version = "2.4.0", markers = "sys_platform == 'win32' or sys_platform == 'linux'" } accelerate = { version = "^0.26.1", markers = "sys_platform == 'win32' or sys_platform == 'linux'" } [tool.poetry.extras]