diff --git a/.github/workflows/rw-collect-changes.yaml b/.github/workflows/rw-collect-changes.yaml index 2f808d4d3..616d107ed 100644 --- a/.github/workflows/rw-collect-changes.yaml +++ b/.github/workflows/rw-collect-changes.yaml @@ -34,18 +34,11 @@ jobs: base: ${{ inputs.commit-branch }} filters: | docs: - - 'gooddata-pandas/**' - - 'gooddata-sdk/**' + - 'packages/gooddata-pandas/**' + - 'packages/gooddata-sdk/**' - 'docs/**' python-modules: - '.docker/**' - - 'gooddata-fdw/**' - - 'gooddata-pandas/**' - - 'gooddata-sdk/**' + - 'packages/**' - '*.mk' - 'Makefile' - - 'gooddata-api-client/**' - - 'gooddata-dbt/**' - - 'gooddata-flight-server/**' - - 'gooddata-flexconnect/**' - - 'gooddata-pipelines/**' diff --git a/.github/workflows/rw-python-tests.yaml b/.github/workflows/rw-python-tests.yaml index 1d6b10d3a..1dbe629b8 100644 --- a/.github/workflows/rw-python-tests.yaml +++ b/.github/workflows/rw-python-tests.yaml @@ -24,7 +24,7 @@ jobs: if: ${{ matrix.python_version == 'py313' }} uses: codecov/codecov-action@v3 with: - files: ./gooddata-sdk/coverage.xml,./gooddata-pandas/coverage.xml,./gooddata-fdw/coverage.xml,./gooddata-flight-server/coverage.xml,./gooddata-flexconnect/coverage.xml + files: ./packages/gooddata-sdk/coverage.xml,./packages/gooddata-pandas/coverage.xml,./packages/gooddata-fdw/coverage.xml,./packages/gooddata-flight-server/coverage.xml,./packages/gooddata-flexconnect/coverage.xml lint-and-format-check: runs-on: ubuntu-latest if: ${{inputs.changed-python-modules == 'true'}} @@ -32,15 +32,13 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Set up python 3.13 - uses: actions/setup-python@v5 + uses: astral-sh/setup-uv@v6 with: - python-version-file: '.python-version' - cache: 'pip' - cache-dependency-path: | - fmt-requirements.txt + python-version: 3.13 - name: Install dependencies run: | - make dev + uv venv + uv pip install --group lint - name: pep8 and formatting check run: | make format @@ -54,13 +52,10 @@ jobs: uses: actions/setup-python@v5 with: python-version-file: '.python-version' - cache: 'pip' - cache-dependency-path: | - tox-requirements.txt - name: Install dependencies run: | - python -m pip install --upgrade pip - pip install -r tox-requirements.txt + python -m pip install uv + uv pip install --group tox --group type --system - name: mypy check run: | make mypy diff --git a/Dockerfile b/Dockerfile index 77248185b..61c1ff579 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,7 +30,7 @@ RUN set -x \ ENV PYTHON_TOX_VERSION=4.14.1 ENV PYTHON_TOX_UV_VERSION=1.7.0 RUN set -x \ - && pip3 install tox==${PYTHON_TOX_VERSION} tox-uv==${PYTHON_TOX_UV_VERSION}\ + && pip3 install uv tox==${PYTHON_TOX_VERSION} tox-uv==${PYTHON_TOX_UV_VERSION}\ && true COPY .docker/entrypoint.sh /entrypoint.sh diff --git a/Makefile b/Makefile index 9f631c7a1..c83b5beb6 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # (C) 2021 GoodData Corporation # list all full paths to files and directories in CWD containing "gooddata", filter out ones ending by "client" -NO_CLIENT_GD_PROJECTS_ABS = $(filter-out %client, $(wildcard $(CURDIR)/*gooddata*)) +NO_CLIENT_GD_PROJECTS_ABS = $(filter-out %client, $(wildcard $(CURDIR)/packages/*gooddata*)) # for each path, take only the base name of the path NO_CLIENT_GD_PROJECTS_DIRS = $(foreach dir, $(NO_CLIENT_GD_PROJECTS_ABS), $(notdir $(dir))) # TODO: replace API_VERSION in the future by call to API @@ -18,9 +18,7 @@ all: .PHONY: dev dev: - rm -rf .venv - python3.13 -m venv .venv --upgrade-deps - .venv/bin/pip3 install -r dev-requirements.txt + uv sync --all-groups .venv/bin/pre-commit install .PHONY: lint @@ -72,13 +70,13 @@ download: .PHONY: mypy mypy: RESULT=0; \ - for project in $(NO_CLIENT_GD_PROJECTS_DIRS); do $(MAKE) -C $${project} $@ || RESULT=$$?; done; \ + for project in $(NO_CLIENT_GD_PROJECTS_DIRS); do $(MAKE) -C packages/$${project} $@ || RESULT=$$?; done; \ exit $$RESULT .PHONY: test test: RESULT=0; \ - for project in $(NO_CLIENT_GD_PROJECTS_DIRS); do $(MAKE) -C $${project} test || RESULT=$$?; done; \ + for project in $(NO_CLIENT_GD_PROJECTS_DIRS); do $(MAKE) -C packages/$${project} test || RESULT=$$?; done; \ exit $$RESULT .PHONY: release @@ -104,7 +102,7 @@ docs: .PHONY: remove-cassettes remove-cassettes: RESULT=0; \ - for project in $(NO_CLIENT_GD_PROJECTS_DIRS); do $(MAKE) -C $${project} $@ || RESULT=$$?; done; \ + for project in $(NO_CLIENT_GD_PROJECTS_DIRS); do $(MAKE) -C packages/$${project} $@ || RESULT=$$?; done; \ exit $$RESULT .PHONY: new-docs diff --git a/dev-requirements.txt b/dev-requirements.txt deleted file mode 100644 index 0379bdbf5..000000000 --- a/dev-requirements.txt +++ /dev/null @@ -1,22 +0,0 @@ --r ./tox-requirements.txt --r ./release-requirements.txt - -pre-commit~=4.0.1 -gitlint~=0.19.1 - --r ./fmt-requirements.txt - --r ./gooddata-api-client/requirements.txt --r ./gooddata-sdk/requirements.txt --r ./gooddata-pandas/requirements.txt --r ./gooddata-fdw/requirements.txt --r ./gooddata-dbt/requirements.txt --r ./gooddata-flight-server/requirements.txt --r ./gooddata-flexconnect/requirements.txt --r ./gooddata-sdk/test-requirements.txt --r ./gooddata-pandas/test-requirements.txt --r ./gooddata-fdw/test-requirements.txt --r ./gooddata-dbt/test-requirements.txt --r ./gooddata-flight-server/test-requirements.txt --r ./gooddata-flexconnect/test-requirements.txt --r ./tests-support/requirements.txt diff --git a/fmt-requirements.txt b/fmt-requirements.txt deleted file mode 100644 index 6686c34d4..000000000 --- a/fmt-requirements.txt +++ /dev/null @@ -1 +0,0 @@ -ruff==0.9.5 diff --git a/gooddata-dbt/LICENSE.txt b/gooddata-dbt/LICENSE.txt deleted file mode 120000 index f95b74585..000000000 --- a/gooddata-dbt/LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -../OSS LICENSES/LICENSE (gooddata-dbt).txt \ No newline at end of file diff --git a/gooddata-dbt/requirements.txt b/gooddata-dbt/requirements.txt deleted file mode 100644 index 4bcc1ef29..000000000 --- a/gooddata-dbt/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -pyyaml>=6.0 -attrs>=21.4.0,<=24.2.0 -cattrs>=22.1.0,<=24.1.1 -requests~=2.32.0 -tabulate~=0.8.10 diff --git a/gooddata-dbt/setup.py b/gooddata-dbt/setup.py deleted file mode 100644 index c04f5cb46..000000000 --- a/gooddata-dbt/setup.py +++ /dev/null @@ -1,51 +0,0 @@ -# (C) 2023 GoodData Corporation -from pathlib import Path - -from setuptools import find_packages, setup - -this_directory = Path(__file__).parent -long_description = (this_directory / "README.md").read_text(encoding="utf-8") - -REQUIRES = [ - "gooddata-sdk~=1.48.0", - "pyyaml>=6.0", - "attrs>=21.4.0,<=24.2.0", - "cattrs>=22.1.0,<=24.1.1", - "requests~=2.32.0", - "tabulate~=0.8.10", -] - -setup( - name="gooddata-dbt", - description="dbt plugin for GoodData", - long_description=long_description, - long_description_content_type="text/markdown", - version="1.48.0", - author="GoodData", - author_email="support@gooddata.com", - license="MIT", - license_file="LICENSE.txt", - license_files=("LICENSE.txt",), - install_requires=REQUIRES, - packages=find_packages(exclude=["tests*"]), - python_requires=">=3.9.0", - scripts=[ - "bin/gooddata-dbt", - ], - classifiers=[ - "Development Status :: 4 - Beta", - "Environment :: Console", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Topic :: Database", - "Topic :: Scientific/Engineering", - "Topic :: Software Development", - "Typing :: Typed", - ], - keywords=[], - include_package_data=True, -) diff --git a/gooddata-dbt/test-requirements.txt b/gooddata-dbt/test-requirements.txt deleted file mode 100644 index ce3f0ce4e..000000000 --- a/gooddata-dbt/test-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -pytest~=8.3.4 -pytest-cov~=6.0.0 diff --git a/gooddata-dbt/type-requirements.txt b/gooddata-dbt/type-requirements.txt deleted file mode 100644 index 50da96ad6..000000000 --- a/gooddata-dbt/type-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -mypy~=1.11.2 -pydantic~=2.9.2 diff --git a/gooddata-fdw/LICENSE.txt b/gooddata-fdw/LICENSE.txt deleted file mode 120000 index b1a1ea1ae..000000000 --- a/gooddata-fdw/LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -../OSS LICENSES/LICENSE (gooddata-fdw).txt \ No newline at end of file diff --git a/gooddata-fdw/setup.py b/gooddata-fdw/setup.py deleted file mode 100644 index 882f4e219..000000000 --- a/gooddata-fdw/setup.py +++ /dev/null @@ -1,62 +0,0 @@ -# (C) 2021 GoodData Corporation -from pathlib import Path - -from setuptools import find_packages, setup - -this_directory = Path(__file__).parent -long_description = (this_directory / "README.md").read_text(encoding="utf-8") - -REQUIRES = [ - "gooddata-sdk~=1.48.0", - # "multicorn>=1.4.0", -] - -setup( - name="gooddata-fdw", - description="GoodData Cloud Foreign Data Wrapper For PostgreSQL", - long_description=long_description, - long_description_content_type="text/markdown", - version="1.48.0", - author="GoodData", - author_email="support@gooddata.com", - license="MIT", - license_file="LICENSE.txt", - license_files=("LICENSE.txt",), - install_requires=REQUIRES, - packages=find_packages(exclude=["tests*"]), - python_requires=">=3.9.0", - project_urls={ - "Documentation": "https://gooddata-fdw.readthedocs.io/en/v1.48.0", - "Source": "https://github.com/gooddata/gooddata-python-sdk", - }, - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Topic :: Database", - "Topic :: Scientific/Engineering", - "Topic :: Software Development", - "Typing :: Typed", - ], - keywords=[ - "gooddata", - "fdw", - "postgresql", - "analytics", - "headless", - "business", - "intelligence", - "headless-bi", - "cloud", - "native", - "semantic", - "layer", - "sql", - "metrics", - ], -) diff --git a/gooddata-fdw/test-requirements.txt b/gooddata-fdw/test-requirements.txt deleted file mode 100644 index c64329c7e..000000000 --- a/gooddata-fdw/test-requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -pytest~=8.3.4 -pytest-cov~=6.0.0 -vcrpy~=7.0.0 -# TODO - Bump the version together with bumping the version of openapi generator -urllib3==1.26.9 -pyyaml diff --git a/gooddata-fdw/type-requirements.txt b/gooddata-fdw/type-requirements.txt deleted file mode 100644 index 50da96ad6..000000000 --- a/gooddata-fdw/type-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -mypy~=1.11.2 -pydantic~=2.9.2 diff --git a/gooddata-flexconnect/LICENSE.txt b/gooddata-flexconnect/LICENSE.txt deleted file mode 120000 index f27fbe6fb..000000000 --- a/gooddata-flexconnect/LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -../OSS LICENSES/LICENSE (gooddata-flexconnect).txt \ No newline at end of file diff --git a/gooddata-flexconnect/requirements.txt b/gooddata-flexconnect/requirements.txt deleted file mode 100644 index b2cf846aa..000000000 --- a/gooddata-flexconnect/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ - orjson>=3.9.15,<4.0.0 - pyarrow>=16.1.0 - structlog>=24.0.0,<25.0.0 - - setuptools~=74.1.2 - typing_extensions~=4.12.2 diff --git a/gooddata-flexconnect/setup.py b/gooddata-flexconnect/setup.py deleted file mode 100644 index 5388176a2..000000000 --- a/gooddata-flexconnect/setup.py +++ /dev/null @@ -1,69 +0,0 @@ -# (C) 2024 GoodData Corporation -from pathlib import Path - -from setuptools import find_packages, setup - -this_directory = Path(__file__).parent -long_description = (this_directory / "README.md").read_text(encoding="utf-8") - -REQUIRES = [ - "dynaconf>=3.1.11,<4.0.0", - "gooddata-flight-server~=1.48.0", - "gooddata-sdk~=1.48.0", - "orjson>=3.9.15,<4.0.0", - "pyarrow>=16.1.0", - "structlog>=24.0.0,<25.0.0", -] - -setup( - name="gooddata-flexconnect", - description="Build your own data source for GoodData Cloud and GoodData Cloud Native.", - long_description=long_description, - long_description_content_type="text/markdown", - version="1.48.0", - author="GoodData", - author_email="support@gooddata.com", - license="MIT", - license_file="LICENSE.txt", - license_files=("LICENSE.txt",), - install_requires=REQUIRES, - packages=find_packages(exclude=["tests*"]), - include_package_data=True, - python_requires=">=3.9.0", - project_urls={ - "Documentation": "https://gooddata-flexconnect.readthedocs.io/en/v1.48.0", - "Source": "https://github.com/gooddata/gooddata-python-sdk", - }, - classifiers=[ - "Development Status :: 4 - Beta", - "Environment :: Console", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Topic :: Database", - "Topic :: Scientific/Engineering", - "Topic :: Software Development", - "Typing :: Typed", - ], - keywords=[ - "gooddata", - "flight", - "rpc", - "flight rpc", - "custom functions", - "analytics", - "headless", - "business", - "intelligence", - "headless-bi", - "cloud", - "native", - "semantic", - "layer", - "sql", - "metrics", - ], -) diff --git a/gooddata-flexconnect/test-requirements.txt b/gooddata-flexconnect/test-requirements.txt deleted file mode 100644 index 86bb99d4a..000000000 --- a/gooddata-flexconnect/test-requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -jsonschema~=4.23.0 -pytest~=8.3.4 -pytest-cov~=6.0.0 diff --git a/gooddata-flexconnect/type-requirements.txt b/gooddata-flexconnect/type-requirements.txt deleted file mode 100644 index 50da96ad6..000000000 --- a/gooddata-flexconnect/type-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -mypy~=1.11.2 -pydantic~=2.9.2 diff --git a/gooddata-flight-server/LICENSE.txt b/gooddata-flight-server/LICENSE.txt deleted file mode 120000 index 4d3fa3ff9..000000000 --- a/gooddata-flight-server/LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -../OSS LICENSES/LICENSE (gooddata-flight-server).txt \ No newline at end of file diff --git a/gooddata-flight-server/requirements.txt b/gooddata-flight-server/requirements.txt deleted file mode 100644 index 196aac30a..000000000 --- a/gooddata-flight-server/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -dynaconf>=3.1.11,<4.0.0 -opentelemetry-api>=1.24.0,<=2.0.0 -opentelemetry-sdk>=1.24.0,<=2.0.0 -orjson>=3.8.5,<4.0.0 -prometheus-client~=0.20.0 -pyarrow>=16.1.0 -readerwriterlock~=1.0.9 -structlog>=24.0.0,<25.0.0 diff --git a/gooddata-flight-server/setup.py b/gooddata-flight-server/setup.py deleted file mode 100644 index 4d60ba65a..000000000 --- a/gooddata-flight-server/setup.py +++ /dev/null @@ -1,74 +0,0 @@ -# (C) 2024 GoodData Corporation -from pathlib import Path - -from setuptools import find_packages, setup - -this_directory = Path(__file__).parent -long_description = (this_directory / "README.md").read_text(encoding="utf-8") - -REQUIRES = [ - "dynaconf>=3.1.11,<4.0.0", - "opentelemetry-api>=1.24.0,<=2.0.0", - "opentelemetry-sdk>=1.24.0,<=2.0.0", - "orjson>=3.8.5,<4.0.0", - "prometheus-client~=0.20.0", - "pyarrow>=16.1.0", - "readerwriterlock~=1.0.9", - "structlog>=24.0.0,<25.0.0", -] - -setup( - name="gooddata-flight-server", - description="Flight RPC server to host custom functions", - long_description=long_description, - long_description_content_type="text/markdown", - version="1.48.0", - author="GoodData", - author_email="support@gooddata.com", - license="MIT", - license_file="LICENSE.txt", - license_files=("LICENSE.txt",), - install_requires=REQUIRES, - packages=find_packages(exclude=["tests*"]), - include_package_data=True, - python_requires=">=3.9.0", - project_urls={ - "Documentation": "https://gooddata-flight-server.readthedocs.io/en/v1.48.0", - "Source": "https://github.com/gooddata/gooddata-python-sdk", - }, - scripts=[ - "bin/gooddata-flight-server", - ], - classifiers=[ - "Development Status :: 4 - Beta", - "Environment :: Console", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Topic :: Database", - "Topic :: Scientific/Engineering", - "Topic :: Software Development", - "Typing :: Typed", - ], - keywords=[ - "gooddata", - "flight", - "rpc", - "flight rpc", - "custom functions", - "analytics", - "headless", - "business", - "intelligence", - "headless-bi", - "cloud", - "native", - "semantic", - "layer", - "sql", - "metrics", - ], -) diff --git a/gooddata-flight-server/test-requirements.txt b/gooddata-flight-server/test-requirements.txt deleted file mode 100644 index ce3f0ce4e..000000000 --- a/gooddata-flight-server/test-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -pytest~=8.3.4 -pytest-cov~=6.0.0 diff --git a/gooddata-flight-server/type-requirements.txt b/gooddata-flight-server/type-requirements.txt deleted file mode 100644 index 50da96ad6..000000000 --- a/gooddata-flight-server/type-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -mypy~=1.11.2 -pydantic~=2.9.2 diff --git a/gooddata-pandas/LICENSE.txt b/gooddata-pandas/LICENSE.txt deleted file mode 120000 index 5ccbfaaa1..000000000 --- a/gooddata-pandas/LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -../OSS LICENSES/LICENSE (gooddata-pandas).txt \ No newline at end of file diff --git a/gooddata-pandas/requirements.txt b/gooddata-pandas/requirements.txt deleted file mode 100644 index 73e79f09f..000000000 --- a/gooddata-pandas/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -pandas>=2.0.0,<3.0.0 diff --git a/gooddata-pandas/setup.py b/gooddata-pandas/setup.py deleted file mode 100644 index ddad283aa..000000000 --- a/gooddata-pandas/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -# (C) 2021 GoodData Corporation -from pathlib import Path - -from setuptools import find_packages, setup - -this_directory = Path(__file__).parent -long_description = (this_directory / "README.md").read_text(encoding="utf-8") - -REQUIRES = [ - "gooddata-sdk~=1.48.0", - "pandas>=2.0.0,<3.0.0", -] - -setup( - name="gooddata-pandas", - description="GoodData Cloud to pandas", - long_description=long_description, - long_description_content_type="text/markdown", - version="1.48.0", - author="GoodData", - author_email="support@gooddata.com", - license="MIT", - license_file="LICENSE.txt", - license_files=("LICENSE.txt",), - install_requires=REQUIRES, - packages=find_packages(exclude=["tests*"]), - python_requires=">=3.9.0", - project_urls={ - "Documentation": "https://gooddata-pandas.readthedocs.io/en/v1.48.0", - "Source": "https://github.com/gooddata/gooddata-python-sdk", - }, - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Topic :: Database", - "Topic :: Scientific/Engineering", - "Topic :: Software Development", - "Typing :: Typed", - ], - keywords=[ - "gooddata", - "pandas", - "series", - "data", - "frame", - "data_frame", - "analytics", - "headless", - "business", - "intelligence", - "headless-bi", - "cloud", - "native", - "semantic", - "layer", - "sql", - "metrics", - ], -) diff --git a/gooddata-pandas/test-requirements.txt b/gooddata-pandas/test-requirements.txt deleted file mode 100644 index 3d1fcf495..000000000 --- a/gooddata-pandas/test-requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -pytest~=8.3.4 -pytest-cov~=6.0.0 -vcrpy~=7.0.0 -# TODO - Bump the version together with bumping the version of openapi generator -urllib3==1.26.9 -python-dotenv~=1.0.0 -pyyaml diff --git a/gooddata-pandas/type-requirements.txt b/gooddata-pandas/type-requirements.txt deleted file mode 100644 index 50da96ad6..000000000 --- a/gooddata-pandas/type-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -mypy~=1.11.2 -pydantic~=2.9.2 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboard_extensions/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboard_extensions/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboards/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboards/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/dashboard_plugins/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/dashboard_plugins/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/filter_contexts/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/filter_contexts/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/metrics/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/metrics/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/visualization_objects/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/visualization_objects/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboard_extensions/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboard_extensions/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/dashboard_plugins/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/dashboard_plugins/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/metrics/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/metrics/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/datasets/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/datasets/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/date_instances/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/date_instances/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboard_extensions/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboard_extensions/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboards/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboards/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/dashboard_plugins/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/dashboard_plugins/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/filter_contexts/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/filter_contexts/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/metrics/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/metrics/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/visualization_objects/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/visualization_objects/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/datasets/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/datasets/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/date_instances/.gitkeep b/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/date_instances/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/gooddata-sdk/LICENSE.txt b/gooddata-sdk/LICENSE.txt deleted file mode 120000 index e59afd1ee..000000000 --- a/gooddata-sdk/LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -../OSS LICENSES/LICENSE (gooddata-sdk).txt \ No newline at end of file diff --git a/gooddata-sdk/requirements.txt b/gooddata-sdk/requirements.txt deleted file mode 100644 index 547599f05..000000000 --- a/gooddata-sdk/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -python-dateutil >= 2.5.3 -pyyaml>=6.0 -attrs>=21.4.0,<=24.2.0 -cattrs>=22.1.0,<=24.1.1 -brotli==1.1.0 -requests~=2.32.0 -python-dotenv>=1.0.0,<2.0.0 diff --git a/gooddata-sdk/setup.py b/gooddata-sdk/setup.py deleted file mode 100644 index 4a328e64a..000000000 --- a/gooddata-sdk/setup.py +++ /dev/null @@ -1,72 +0,0 @@ -# (C) 2021 GoodData Corporation -from pathlib import Path - -from setuptools import find_packages, setup - -this_directory = Path(__file__).parent -long_description = (this_directory / "README.md").read_text(encoding="utf-8") - -REQUIRES = [ - "gooddata-api-client~=1.48.0", - "python-dateutil>=2.5.3", - "pyyaml>=6.0", - "attrs>=21.4.0,<=24.2.0", - "cattrs>=22.1.0,<=24.1.1", - "brotli==1.1.0", - "requests~=2.32.0", - "python-dotenv>=1.0.0,<2.0.0", -] - -setup( - name="gooddata-sdk", - description="GoodData Cloud Python SDK", - long_description=long_description, - long_description_content_type="text/markdown", - version="1.48.0", - author="GoodData", - author_email="support@gooddata.com", - license="MIT", - license_file="LICENSE.txt", - license_files=("LICENSE.txt",), - install_requires=REQUIRES, - packages=find_packages(exclude=["tests*"]), - package_data={"gooddata_sdk.cli": ["package.json"]}, - python_requires=">=3.9.0", - scripts=[ - "bin/gdc", - ], - project_urls={ - "Documentation": "https://www.gooddata.com/docs/python-sdk/1.48.0", - "Source": "https://github.com/gooddata/gooddata-python-sdk", - }, - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Topic :: Database", - "Topic :: Scientific/Engineering", - "Topic :: Software Development", - "Typing :: Typed", - ], - keywords=[ - "gooddata", - "sdk", - "api", - "analytics", - "headless", - "business", - "intelligence", - "headless-bi", - "cloud", - "native", - "semantic", - "layer", - "sql", - "metrics", - ], -) diff --git a/gooddata-sdk/test-requirements.txt b/gooddata-sdk/test-requirements.txt deleted file mode 100644 index e3987ba3a..000000000 --- a/gooddata-sdk/test-requirements.txt +++ /dev/null @@ -1,11 +0,0 @@ -pytest~=8.3.4 -pytest-cov~=6.0.0 -pytest-snapshot==0.9.0 -pytest-order~=1.3.0 -vcrpy~=7.0.0 -# TODO - Bump the version together with bumping the version of openapi generator -urllib3==1.26.9 -python-dotenv~=1.0.0 -attrs>=21.4.0,<=24.2.0 -cattrs>=22.1.0,<=24.1.1 -deepdiff~=8.5.0 diff --git a/gooddata-sdk/type-requirements.txt b/gooddata-sdk/type-requirements.txt deleted file mode 100644 index 81f0e48bd..000000000 --- a/gooddata-sdk/type-requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -mypy~=1.15.0 -pydantic~=2.9.2 -types-python-dateutil >= 2.5.3 -types-pyyaml~=6.0.0 -attrs>=21.4.0,<=24.2.0 -cattrs>=22.1.0,<=24.1.1 diff --git a/gooddata-dbt/.env.custom.dev b/packages/gooddata-dbt/.env.custom.dev similarity index 100% rename from gooddata-dbt/.env.custom.dev rename to packages/gooddata-dbt/.env.custom.dev diff --git a/gooddata-dbt/.env.dev b/packages/gooddata-dbt/.env.dev similarity index 100% rename from gooddata-dbt/.env.dev rename to packages/gooddata-dbt/.env.dev diff --git a/gooddata-dbt/.gitignore b/packages/gooddata-dbt/.gitignore similarity index 100% rename from gooddata-dbt/.gitignore rename to packages/gooddata-dbt/.gitignore diff --git a/packages/gooddata-dbt/LICENSE.txt b/packages/gooddata-dbt/LICENSE.txt new file mode 120000 index 000000000..c6bf831c5 --- /dev/null +++ b/packages/gooddata-dbt/LICENSE.txt @@ -0,0 +1 @@ +../../OSS LICENSES/LICENSE (gooddata-dbt).txt \ No newline at end of file diff --git a/gooddata-dbt/Makefile b/packages/gooddata-dbt/Makefile similarity index 50% rename from gooddata-dbt/Makefile rename to packages/gooddata-dbt/Makefile index fa22578b7..5256eb048 100644 --- a/gooddata-dbt/Makefile +++ b/packages/gooddata-dbt/Makefile @@ -1,2 +1,2 @@ # (C) 2023 GoodData Corporation -include ../project_common.mk +include ../../project_common.mk diff --git a/gooddata-dbt/README.md b/packages/gooddata-dbt/README.md similarity index 100% rename from gooddata-dbt/README.md rename to packages/gooddata-dbt/README.md diff --git a/gooddata-dbt/bin/gooddata-dbt b/packages/gooddata-dbt/bin/gooddata-dbt similarity index 100% rename from gooddata-dbt/bin/gooddata-dbt rename to packages/gooddata-dbt/bin/gooddata-dbt diff --git a/gooddata-dbt/gooddata_example.yml b/packages/gooddata-dbt/gooddata_example.yml similarity index 100% rename from gooddata-dbt/gooddata_example.yml rename to packages/gooddata-dbt/gooddata_example.yml diff --git a/gooddata-dbt/mypy.ini b/packages/gooddata-dbt/mypy.ini similarity index 100% rename from gooddata-dbt/mypy.ini rename to packages/gooddata-dbt/mypy.ini diff --git a/packages/gooddata-dbt/pyproject.toml b/packages/gooddata-dbt/pyproject.toml new file mode 100644 index 000000000..0facbf26b --- /dev/null +++ b/packages/gooddata-dbt/pyproject.toml @@ -0,0 +1,53 @@ +# (C) 2025 GoodData Corporation +[project] +name = "gooddata-dbt" +version = "1.45.0" +description = "dbt plugin for GoodData" +readme = "README.md" +license = {text = "MIT"} +authors = [ + {name = "GoodData", email = "support@gooddata.com"} +] +requires-python = ">=3.9.0" +dependencies = [ + "gooddata-sdk~=1.45.0", + "pyyaml>=6.0", + "attrs>=21.4.0,<=24.2.0", + "cattrs>=22.1.0,<=24.1.1", + "requests~=2.32.0", + "tabulate~=0.8.10", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Console", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Database", + "Topic :: Scientific/Engineering", + "Topic :: Software Development", + "Typing :: Typed", +] + +[project.scripts] +gooddata-dbt = "gooddata_dbt.main:main" + +[dependency-groups] +test = [ + "pytest~=8.3.4", + "pytest-cov~=6.0.0", +] +type = [ + "mypy~=1.11.2", + "pydantic~=2.9.2" +] + +[tool.hatch.build.targets.wheel] +packages = ["src/gooddata_dbt"] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/gooddata-dbt/gooddata_dbt/__init__.py b/packages/gooddata-dbt/src/gooddata_dbt/__init__.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/__init__.py rename to packages/gooddata-dbt/src/gooddata_dbt/__init__.py diff --git a/gooddata-dbt/gooddata_dbt/_version.py b/packages/gooddata-dbt/src/gooddata_dbt/_version.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/_version.py rename to packages/gooddata-dbt/src/gooddata_dbt/_version.py diff --git a/gooddata-dbt/gooddata_dbt/args.py b/packages/gooddata-dbt/src/gooddata_dbt/args.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/args.py rename to packages/gooddata-dbt/src/gooddata_dbt/args.py diff --git a/gooddata-dbt/gooddata_dbt/dbt/__init__.py b/packages/gooddata-dbt/src/gooddata_dbt/dbt/__init__.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/dbt/__init__.py rename to packages/gooddata-dbt/src/gooddata_dbt/dbt/__init__.py diff --git a/gooddata-dbt/gooddata_dbt/dbt/base.py b/packages/gooddata-dbt/src/gooddata_dbt/dbt/base.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/dbt/base.py rename to packages/gooddata-dbt/src/gooddata_dbt/dbt/base.py diff --git a/gooddata-dbt/gooddata_dbt/dbt/cloud.py b/packages/gooddata-dbt/src/gooddata_dbt/dbt/cloud.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/dbt/cloud.py rename to packages/gooddata-dbt/src/gooddata_dbt/dbt/cloud.py diff --git a/gooddata-dbt/gooddata_dbt/dbt/environment.py b/packages/gooddata-dbt/src/gooddata_dbt/dbt/environment.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/dbt/environment.py rename to packages/gooddata-dbt/src/gooddata_dbt/dbt/environment.py diff --git a/gooddata-dbt/gooddata_dbt/dbt/metrics.py b/packages/gooddata-dbt/src/gooddata_dbt/dbt/metrics.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/dbt/metrics.py rename to packages/gooddata-dbt/src/gooddata_dbt/dbt/metrics.py diff --git a/gooddata-dbt/gooddata_dbt/dbt/profiles.py b/packages/gooddata-dbt/src/gooddata_dbt/dbt/profiles.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/dbt/profiles.py rename to packages/gooddata-dbt/src/gooddata_dbt/dbt/profiles.py diff --git a/gooddata-dbt/gooddata_dbt/dbt/tables.py b/packages/gooddata-dbt/src/gooddata_dbt/dbt/tables.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/dbt/tables.py rename to packages/gooddata-dbt/src/gooddata_dbt/dbt/tables.py diff --git a/gooddata-dbt/gooddata_dbt/dbt_plugin.py b/packages/gooddata-dbt/src/gooddata_dbt/dbt_plugin.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/dbt_plugin.py rename to packages/gooddata-dbt/src/gooddata_dbt/dbt_plugin.py diff --git a/gooddata-dbt/gooddata_dbt/gooddata/__init__.py b/packages/gooddata-dbt/src/gooddata_dbt/gooddata/__init__.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/gooddata/__init__.py rename to packages/gooddata-dbt/src/gooddata_dbt/gooddata/__init__.py diff --git a/gooddata-dbt/gooddata_dbt/gooddata/api_wrapper.py b/packages/gooddata-dbt/src/gooddata_dbt/gooddata/api_wrapper.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/gooddata/api_wrapper.py rename to packages/gooddata-dbt/src/gooddata_dbt/gooddata/api_wrapper.py diff --git a/gooddata-dbt/gooddata_dbt/gooddata/config.py b/packages/gooddata-dbt/src/gooddata_dbt/gooddata/config.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/gooddata/config.py rename to packages/gooddata-dbt/src/gooddata_dbt/gooddata/config.py diff --git a/gooddata-dbt/gooddata_dbt/logger.py b/packages/gooddata-dbt/src/gooddata_dbt/logger.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/logger.py rename to packages/gooddata-dbt/src/gooddata_dbt/logger.py diff --git a/gooddata-dbt/gooddata_dbt/sdk_wrapper.py b/packages/gooddata-dbt/src/gooddata_dbt/sdk_wrapper.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/sdk_wrapper.py rename to packages/gooddata-dbt/src/gooddata_dbt/sdk_wrapper.py diff --git a/gooddata-dbt/gooddata_dbt/utils.py b/packages/gooddata-dbt/src/gooddata_dbt/utils.py similarity index 100% rename from gooddata-dbt/gooddata_dbt/utils.py rename to packages/gooddata-dbt/src/gooddata_dbt/utils.py diff --git a/gooddata-dbt/tests/conftest.py b/packages/gooddata-dbt/tests/conftest.py similarity index 100% rename from gooddata-dbt/tests/conftest.py rename to packages/gooddata-dbt/tests/conftest.py diff --git a/gooddata-dbt/tests/gooddata_example.yml b/packages/gooddata-dbt/tests/gooddata_example.yml similarity index 100% rename from gooddata-dbt/tests/gooddata_example.yml rename to packages/gooddata-dbt/tests/gooddata_example.yml diff --git a/gooddata-dbt/tests/resources/dbt_profiles/profiles.yml b/packages/gooddata-dbt/tests/resources/dbt_profiles/profiles.yml similarity index 100% rename from gooddata-dbt/tests/resources/dbt_profiles/profiles.yml rename to packages/gooddata-dbt/tests/resources/dbt_profiles/profiles.yml diff --git a/gooddata-dbt/tests/resources/dbt_target/manifest.json b/packages/gooddata-dbt/tests/resources/dbt_target/manifest.json similarity index 100% rename from gooddata-dbt/tests/resources/dbt_target/manifest.json rename to packages/gooddata-dbt/tests/resources/dbt_target/manifest.json diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/aircraft.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/aircraft.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/aircraft.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/aircraft.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/aircraft_models.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/aircraft_models.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/aircraft_models.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/aircraft_models.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/airports.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/airports.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/airports.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/airports.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/ambient_temperature.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/ambient_temperature.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/ambient_temperature.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/ambient_temperature.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/carriers.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/carriers.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/carriers.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/carriers.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/census.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/census.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/census.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/census.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/census_by_country.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/census_by_country.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/census_by_country.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/census_by_country.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/commits.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/commits.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/commits.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/commits.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/customer.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/customer.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/customer.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/customer.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/eshop_customers.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/eshop_customers.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/eshop_customers.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/eshop_customers.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/flights.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/flights.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/flights.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/flights.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/home_rentals.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/home_rentals.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/home_rentals.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/home_rentals.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/house_property_sales_time_series.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/house_property_sales_time_series.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/house_property_sales_time_series.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/house_property_sales_time_series.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/mall_customers.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/mall_customers.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/mall_customers.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/mall_customers.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/monthlyinventory.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/monthlyinventory.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/monthlyinventory.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/monthlyinventory.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/order_lines.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/order_lines.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/order_lines.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/order_lines.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/orders.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/orders.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/orders.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/orders.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/product.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/product.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/product.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/product.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/pull_requests.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/pull_requests.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/pull_requests.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/pull_requests.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/repos.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/repos.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/repos.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/repos.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/returns.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/returns.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/returns.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/returns.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/telco_customer_churn.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/telco_customer_churn.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/telco_customer_churn.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/telco_customer_churn.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/users.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/users.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/users.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/users.yaml diff --git a/gooddata-dbt/tests/resources/gooddata_layouts/pdm/workflow_runs.yaml b/packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/workflow_runs.yaml similarity index 100% rename from gooddata-dbt/tests/resources/gooddata_layouts/pdm/workflow_runs.yaml rename to packages/gooddata-dbt/tests/resources/gooddata_layouts/pdm/workflow_runs.yaml diff --git a/gooddata-dbt/tests/test_profiles.py b/packages/gooddata-dbt/tests/test_profiles.py similarity index 100% rename from gooddata-dbt/tests/test_profiles.py rename to packages/gooddata-dbt/tests/test_profiles.py diff --git a/gooddata-dbt/tests/test_tables.py b/packages/gooddata-dbt/tests/test_tables.py similarity index 100% rename from gooddata-dbt/tests/test_tables.py rename to packages/gooddata-dbt/tests/test_tables.py diff --git a/gooddata-dbt/tox.ini b/packages/gooddata-dbt/tox.ini similarity index 58% rename from gooddata-dbt/tox.ini rename to packages/gooddata-dbt/tox.ini index 81b665bca..a09f69b2e 100644 --- a/gooddata-dbt/tox.ini +++ b/packages/gooddata-dbt/tox.ini @@ -6,21 +6,21 @@ envlist = py3{9,10,11,12,13} package = wheel wheel_build_env = .pkg deps = - -r{toxinidir}/test-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client -e../gooddata-sdk -e../tests-support setenv= PYTHONDONTWRITEBYTECODE=1 commands = - pytest -v --cov=gooddata_dbt --cov-report=xml tests {posargs} + uv pip install --group test + pytest -v --cov=src/gooddata_dbt --cov-report=xml tests {posargs} [testenv:mypy] basepython = python3.13 skip_install = true deps = - -r{toxinidir}/type-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client -e../gooddata-sdk commands = - mypy gooddata_dbt + uv pip install --group type + mypy src/gooddata_dbt diff --git a/gooddata-fdw/.gitignore b/packages/gooddata-fdw/.gitignore similarity index 100% rename from gooddata-fdw/.gitignore rename to packages/gooddata-fdw/.gitignore diff --git a/gooddata-fdw/.readthedocs.yaml b/packages/gooddata-fdw/.readthedocs.yaml similarity index 100% rename from gooddata-fdw/.readthedocs.yaml rename to packages/gooddata-fdw/.readthedocs.yaml diff --git a/gooddata-fdw/Dockerfile b/packages/gooddata-fdw/Dockerfile similarity index 100% rename from gooddata-fdw/Dockerfile rename to packages/gooddata-fdw/Dockerfile diff --git a/packages/gooddata-fdw/LICENSE.txt b/packages/gooddata-fdw/LICENSE.txt new file mode 120000 index 000000000..38ecc8314 --- /dev/null +++ b/packages/gooddata-fdw/LICENSE.txt @@ -0,0 +1 @@ +../../OSS LICENSES/LICENSE (gooddata-fdw).txt \ No newline at end of file diff --git a/gooddata-fdw/MANIFEST.in b/packages/gooddata-fdw/MANIFEST.in similarity index 100% rename from gooddata-fdw/MANIFEST.in rename to packages/gooddata-fdw/MANIFEST.in diff --git a/gooddata-fdw/Makefile b/packages/gooddata-fdw/Makefile similarity index 70% rename from gooddata-fdw/Makefile rename to packages/gooddata-fdw/Makefile index d9d9de3d4..b56a383e6 100644 --- a/gooddata-fdw/Makefile +++ b/packages/gooddata-fdw/Makefile @@ -1,5 +1,5 @@ # (C) 2021 GoodData Corporation -include ../project_common.mk +include ../../project_common.mk .PHONY: docs docs: diff --git a/gooddata-fdw/README.md b/packages/gooddata-fdw/README.md similarity index 100% rename from gooddata-fdw/README.md rename to packages/gooddata-fdw/README.md diff --git a/gooddata-fdw/docs/_static/empty_file b/packages/gooddata-fdw/docs/_static/empty_file similarity index 100% rename from gooddata-fdw/docs/_static/empty_file rename to packages/gooddata-fdw/docs/_static/empty_file diff --git a/gooddata-fdw/docs/_templates/class-template.rst b/packages/gooddata-fdw/docs/_templates/class-template.rst similarity index 100% rename from gooddata-fdw/docs/_templates/class-template.rst rename to packages/gooddata-fdw/docs/_templates/class-template.rst diff --git a/gooddata-fdw/docs/_templates/module-template.rst b/packages/gooddata-fdw/docs/_templates/module-template.rst similarity index 100% rename from gooddata-fdw/docs/_templates/module-template.rst rename to packages/gooddata-fdw/docs/_templates/module-template.rst diff --git a/gooddata-fdw/docs/api.rst b/packages/gooddata-fdw/docs/api.rst similarity index 100% rename from gooddata-fdw/docs/api.rst rename to packages/gooddata-fdw/docs/api.rst diff --git a/gooddata-fdw/docs/conf.py b/packages/gooddata-fdw/docs/conf.py similarity index 100% rename from gooddata-fdw/docs/conf.py rename to packages/gooddata-fdw/docs/conf.py diff --git a/gooddata-fdw/docs/connecting_to_postgresql.rst b/packages/gooddata-fdw/docs/connecting_to_postgresql.rst similarity index 100% rename from gooddata-fdw/docs/connecting_to_postgresql.rst rename to packages/gooddata-fdw/docs/connecting_to_postgresql.rst diff --git a/gooddata-fdw/docs/foreign_tables.rst b/packages/gooddata-fdw/docs/foreign_tables.rst similarity index 100% rename from gooddata-fdw/docs/foreign_tables.rst rename to packages/gooddata-fdw/docs/foreign_tables.rst diff --git a/gooddata-fdw/docs/index.rst b/packages/gooddata-fdw/docs/index.rst similarity index 100% rename from gooddata-fdw/docs/index.rst rename to packages/gooddata-fdw/docs/index.rst diff --git a/gooddata-fdw/docs/installation.rst b/packages/gooddata-fdw/docs/installation.rst similarity index 100% rename from gooddata-fdw/docs/installation.rst rename to packages/gooddata-fdw/docs/installation.rst diff --git a/gooddata-fdw/docs/requirements.txt b/packages/gooddata-fdw/docs/requirements.txt similarity index 100% rename from gooddata-fdw/docs/requirements.txt rename to packages/gooddata-fdw/docs/requirements.txt diff --git a/gooddata-fdw/mypy.ini b/packages/gooddata-fdw/mypy.ini similarity index 100% rename from gooddata-fdw/mypy.ini rename to packages/gooddata-fdw/mypy.ini diff --git a/packages/gooddata-fdw/pyproject.toml b/packages/gooddata-fdw/pyproject.toml new file mode 100644 index 000000000..a53a32de0 --- /dev/null +++ b/packages/gooddata-fdw/pyproject.toml @@ -0,0 +1,70 @@ +# (C) 2025 GoodData Corporation +[project] +name = "gooddata-fdw" +version = "1.45.0" +description = "GoodData Cloud Foreign Data Wrapper For PostgreSQL" +readme = "README.md" +license = {text = "MIT"} +authors = [ + {name = "GoodData", email = "support@gooddata.com"} +] +keywords = [ + "gooddata", + "fdw", + "postgresql", + "analytics", + "headless", + "business", + "intelligence", + "headless-bi", + "cloud", + "native", + "semantic", + "layer", + "sql", + "metrics", +] +requires-python = ">=3.9.0" +dependencies = [ + "gooddata-sdk~=1.45.0", + # "multicorn>=1.4.0", # Uncommented as it was in original setup.py +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Database", + "Topic :: Scientific/Engineering", + "Topic :: Software Development", + "Typing :: Typed", +] + +[project.urls] +Documentation = "https://gooddata-fdw.readthedocs.io/en/v1.45.0" +Source = "https://github.com/gooddata/gooddata-python-sdk" + +[dependency-groups] +test = [ + "pytest~=8.3.4", + "pytest-cov~=6.0.0", + "vcrpy~=7.0.0", + # TODO - Bump the version together with bumping the version of openapi generator + "urllib3==1.26.9", + "pyyaml", +] +type = [ + "mypy~=1.11.2", + "pydantic~=2.9.2" +] + +[tool.hatch.build.targets.wheel] +packages = ["src/gooddata_fdw"] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/gooddata-fdw/rebuild.sh b/packages/gooddata-fdw/rebuild.sh similarity index 100% rename from gooddata-fdw/rebuild.sh rename to packages/gooddata-fdw/rebuild.sh diff --git a/gooddata-fdw/sql/create_extensions.sql b/packages/gooddata-fdw/sql/create_extensions.sql similarity index 100% rename from gooddata-fdw/sql/create_extensions.sql rename to packages/gooddata-fdw/sql/create_extensions.sql diff --git a/gooddata-fdw/sql/import_gooddata.sql b/packages/gooddata-fdw/sql/import_gooddata.sql similarity index 100% rename from gooddata-fdw/sql/import_gooddata.sql rename to packages/gooddata-fdw/sql/import_gooddata.sql diff --git a/gooddata-fdw/gooddata_fdw/__init__.py b/packages/gooddata-fdw/src/gooddata_fdw/__init__.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/__init__.py rename to packages/gooddata-fdw/src/gooddata_fdw/__init__.py diff --git a/gooddata-fdw/gooddata_fdw/_version.py b/packages/gooddata-fdw/src/gooddata_fdw/_version.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/_version.py rename to packages/gooddata-fdw/src/gooddata_fdw/_version.py diff --git a/gooddata-fdw/gooddata_fdw/column_utils.py b/packages/gooddata-fdw/src/gooddata_fdw/column_utils.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/column_utils.py rename to packages/gooddata-fdw/src/gooddata_fdw/column_utils.py diff --git a/gooddata-fdw/gooddata_fdw/column_validation.py b/packages/gooddata-fdw/src/gooddata_fdw/column_validation.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/column_validation.py rename to packages/gooddata-fdw/src/gooddata_fdw/column_validation.py diff --git a/gooddata-fdw/gooddata_fdw/environment.py b/packages/gooddata-fdw/src/gooddata_fdw/environment.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/environment.py rename to packages/gooddata-fdw/src/gooddata_fdw/environment.py diff --git a/gooddata-fdw/gooddata_fdw/executor.py b/packages/gooddata-fdw/src/gooddata_fdw/executor.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/executor.py rename to packages/gooddata-fdw/src/gooddata_fdw/executor.py diff --git a/gooddata-fdw/gooddata_fdw/fdw.py b/packages/gooddata-fdw/src/gooddata_fdw/fdw.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/fdw.py rename to packages/gooddata-fdw/src/gooddata_fdw/fdw.py diff --git a/gooddata-fdw/gooddata_fdw/filter.py b/packages/gooddata-fdw/src/gooddata_fdw/filter.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/filter.py rename to packages/gooddata-fdw/src/gooddata_fdw/filter.py diff --git a/gooddata-fdw/gooddata_fdw/import_workspace.py b/packages/gooddata-fdw/src/gooddata_fdw/import_workspace.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/import_workspace.py rename to packages/gooddata-fdw/src/gooddata_fdw/import_workspace.py diff --git a/gooddata-fdw/gooddata_fdw/naming.py b/packages/gooddata-fdw/src/gooddata_fdw/naming.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/naming.py rename to packages/gooddata-fdw/src/gooddata_fdw/naming.py diff --git a/gooddata-fdw/gooddata_fdw/options.py b/packages/gooddata-fdw/src/gooddata_fdw/options.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/options.py rename to packages/gooddata-fdw/src/gooddata_fdw/options.py diff --git a/gooddata-fdw/gooddata_fdw/pg_logging.py b/packages/gooddata-fdw/src/gooddata_fdw/pg_logging.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/pg_logging.py rename to packages/gooddata-fdw/src/gooddata_fdw/pg_logging.py diff --git a/gooddata-fdw/gooddata_fdw/result_reader.py b/packages/gooddata-fdw/src/gooddata_fdw/result_reader.py similarity index 100% rename from gooddata-fdw/gooddata_fdw/result_reader.py rename to packages/gooddata-fdw/src/gooddata_fdw/result_reader.py diff --git a/gooddata-fdw/tests/__init__.py b/packages/gooddata-fdw/tests/__init__.py similarity index 100% rename from gooddata-fdw/tests/__init__.py rename to packages/gooddata-fdw/tests/__init__.py diff --git a/gooddata-fdw/tests/conftest.py b/packages/gooddata-fdw/tests/conftest.py similarity index 100% rename from gooddata-fdw/tests/conftest.py rename to packages/gooddata-fdw/tests/conftest.py diff --git a/gooddata-fdw/tests/execute/__init__.py b/packages/gooddata-fdw/tests/execute/__init__.py similarity index 100% rename from gooddata-fdw/tests/execute/__init__.py rename to packages/gooddata-fdw/tests/execute/__init__.py diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml similarity index 100% rename from gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml rename to packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml similarity index 100% rename from gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml rename to packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml similarity index 100% rename from gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml rename to packages/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml diff --git a/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml similarity index 100% rename from gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml rename to packages/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml diff --git a/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml b/packages/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml similarity index 100% rename from gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml rename to packages/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml diff --git a/gooddata-fdw/tests/execute/test_execute_compute_table.py b/packages/gooddata-fdw/tests/execute/test_execute_compute_table.py similarity index 100% rename from gooddata-fdw/tests/execute/test_execute_compute_table.py rename to packages/gooddata-fdw/tests/execute/test_execute_compute_table.py diff --git a/gooddata-fdw/tests/execute/test_execute_insight.py b/packages/gooddata-fdw/tests/execute/test_execute_insight.py similarity index 100% rename from gooddata-fdw/tests/execute/test_execute_insight.py rename to packages/gooddata-fdw/tests/execute/test_execute_insight.py diff --git a/gooddata-fdw/tests/gd_test_config.yaml b/packages/gooddata-fdw/tests/gd_test_config.yaml similarity index 100% rename from gooddata-fdw/tests/gd_test_config.yaml rename to packages/gooddata-fdw/tests/gd_test_config.yaml diff --git a/gooddata-fdw/tests/import_foreign_schema/__init__.py b/packages/gooddata-fdw/tests/import_foreign_schema/__init__.py similarity index 100% rename from gooddata-fdw/tests/import_foreign_schema/__init__.py rename to packages/gooddata-fdw/tests/import_foreign_schema/__init__.py diff --git a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml b/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml similarity index 100% rename from gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml rename to packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml diff --git a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml b/packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml similarity index 100% rename from gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml rename to packages/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml diff --git a/gooddata-fdw/tests/import_foreign_schema/test_import_compute.py b/packages/gooddata-fdw/tests/import_foreign_schema/test_import_compute.py similarity index 100% rename from gooddata-fdw/tests/import_foreign_schema/test_import_compute.py rename to packages/gooddata-fdw/tests/import_foreign_schema/test_import_compute.py diff --git a/gooddata-fdw/tests/import_foreign_schema/test_import_insights.py b/packages/gooddata-fdw/tests/import_foreign_schema/test_import_insights.py similarity index 100% rename from gooddata-fdw/tests/import_foreign_schema/test_import_insights.py rename to packages/gooddata-fdw/tests/import_foreign_schema/test_import_insights.py diff --git a/gooddata-fdw/tests/overview.md b/packages/gooddata-fdw/tests/overview.md similarity index 100% rename from gooddata-fdw/tests/overview.md rename to packages/gooddata-fdw/tests/overview.md diff --git a/gooddata-fdw/tests/unit_test/test_column_validation.py b/packages/gooddata-fdw/tests/unit_test/test_column_validation.py similarity index 100% rename from gooddata-fdw/tests/unit_test/test_column_validation.py rename to packages/gooddata-fdw/tests/unit_test/test_column_validation.py diff --git a/gooddata-fdw/tests/unit_test/test_executor.py b/packages/gooddata-fdw/tests/unit_test/test_executor.py similarity index 100% rename from gooddata-fdw/tests/unit_test/test_executor.py rename to packages/gooddata-fdw/tests/unit_test/test_executor.py diff --git a/gooddata-fdw/tests/unit_test/test_filter.py b/packages/gooddata-fdw/tests/unit_test/test_filter.py similarity index 100% rename from gooddata-fdw/tests/unit_test/test_filter.py rename to packages/gooddata-fdw/tests/unit_test/test_filter.py diff --git a/gooddata-fdw/tests/unit_test/test_options.py b/packages/gooddata-fdw/tests/unit_test/test_options.py similarity index 100% rename from gooddata-fdw/tests/unit_test/test_options.py rename to packages/gooddata-fdw/tests/unit_test/test_options.py diff --git a/gooddata-fdw/tests/unit_test/test_result_reader.py b/packages/gooddata-fdw/tests/unit_test/test_result_reader.py similarity index 100% rename from gooddata-fdw/tests/unit_test/test_result_reader.py rename to packages/gooddata-fdw/tests/unit_test/test_result_reader.py diff --git a/gooddata-fdw/tox.ini b/packages/gooddata-fdw/tox.ini similarity index 68% rename from gooddata-fdw/tox.ini rename to packages/gooddata-fdw/tox.ini index b6d1bfc09..cd4fd019f 100644 --- a/gooddata-fdw/tox.ini +++ b/packages/gooddata-fdw/tox.ini @@ -6,25 +6,25 @@ envlist = py3{9,10,11,12,13} package = wheel wheel_build_env = .pkg deps = - -r{toxinidir}/test-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client -e../gooddata-sdk -e../tests-support setenv= PYTHONDONTWRITEBYTECODE=1 commands = - pytest -v --cov=gooddata_fdw --cov-report=xml tests {posargs} + uv pip install --group test + pytest -v --cov=src/gooddata_fdw --cov-report=xml tests {posargs} [testenv:mypy] basepython = python3.13 skip_install = true deps = - -r{toxinidir}/type-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client -e../gooddata-sdk -e../tests-support commands = - mypy gooddata_fdw + uv pip install --group type + mypy src/gooddata_fdw [testenv:docs] basepython = python3.13 diff --git a/gooddata-flexconnect/.gitignore b/packages/gooddata-flexconnect/.gitignore similarity index 100% rename from gooddata-flexconnect/.gitignore rename to packages/gooddata-flexconnect/.gitignore diff --git a/gooddata-flexconnect/.readthedocs.yaml b/packages/gooddata-flexconnect/.readthedocs.yaml similarity index 100% rename from gooddata-flexconnect/.readthedocs.yaml rename to packages/gooddata-flexconnect/.readthedocs.yaml diff --git a/packages/gooddata-flexconnect/LICENSE.txt b/packages/gooddata-flexconnect/LICENSE.txt new file mode 120000 index 000000000..874a09570 --- /dev/null +++ b/packages/gooddata-flexconnect/LICENSE.txt @@ -0,0 +1 @@ +../../OSS LICENSES/LICENSE (gooddata-flexconnect).txt \ No newline at end of file diff --git a/gooddata-flight-server/Makefile b/packages/gooddata-flexconnect/Makefile similarity index 94% rename from gooddata-flight-server/Makefile rename to packages/gooddata-flexconnect/Makefile index 4d49fba58..016845d50 100644 --- a/gooddata-flight-server/Makefile +++ b/packages/gooddata-flexconnect/Makefile @@ -1,5 +1,5 @@ -# (C) 2024 GoodData Corporation -include ../project_common.mk +# (C) 2021 GoodData Corporation +include ../../project_common.mk .PHONY: docs docs: diff --git a/gooddata-flexconnect/README.md b/packages/gooddata-flexconnect/README.md similarity index 100% rename from gooddata-flexconnect/README.md rename to packages/gooddata-flexconnect/README.md diff --git a/gooddata-flexconnect/json_schemas/execution-context/attribute.json b/packages/gooddata-flexconnect/json_schemas/execution-context/attribute.json similarity index 100% rename from gooddata-flexconnect/json_schemas/execution-context/attribute.json rename to packages/gooddata-flexconnect/json_schemas/execution-context/attribute.json diff --git a/gooddata-flexconnect/json_schemas/execution-context/date-granularity.json b/packages/gooddata-flexconnect/json_schemas/execution-context/date-granularity.json similarity index 100% rename from gooddata-flexconnect/json_schemas/execution-context/date-granularity.json rename to packages/gooddata-flexconnect/json_schemas/execution-context/date-granularity.json diff --git a/gooddata-flexconnect/json_schemas/execution-context/execution-context.json b/packages/gooddata-flexconnect/json_schemas/execution-context/execution-context.json similarity index 100% rename from gooddata-flexconnect/json_schemas/execution-context/execution-context.json rename to packages/gooddata-flexconnect/json_schemas/execution-context/execution-context.json diff --git a/gooddata-flexconnect/json_schemas/execution-context/filter.json b/packages/gooddata-flexconnect/json_schemas/execution-context/filter.json similarity index 100% rename from gooddata-flexconnect/json_schemas/execution-context/filter.json rename to packages/gooddata-flexconnect/json_schemas/execution-context/filter.json diff --git a/gooddata-flexconnect/json_schemas/execution-context/label-elements/depends-on-date-filter.json b/packages/gooddata-flexconnect/json_schemas/execution-context/label-elements/depends-on-date-filter.json similarity index 100% rename from gooddata-flexconnect/json_schemas/execution-context/label-elements/depends-on-date-filter.json rename to packages/gooddata-flexconnect/json_schemas/execution-context/label-elements/depends-on-date-filter.json diff --git a/gooddata-flexconnect/json_schemas/execution-context/label-elements/depends-on.json b/packages/gooddata-flexconnect/json_schemas/execution-context/label-elements/depends-on.json similarity index 100% rename from gooddata-flexconnect/json_schemas/execution-context/label-elements/depends-on.json rename to packages/gooddata-flexconnect/json_schemas/execution-context/label-elements/depends-on.json diff --git a/gooddata-flexconnect/json_schemas/execution-context/label-elements/execution-request.json b/packages/gooddata-flexconnect/json_schemas/execution-context/label-elements/execution-request.json similarity index 100% rename from gooddata-flexconnect/json_schemas/execution-context/label-elements/execution-request.json rename to packages/gooddata-flexconnect/json_schemas/execution-context/label-elements/execution-request.json diff --git a/gooddata-flexconnect/mypy.ini b/packages/gooddata-flexconnect/mypy.ini similarity index 100% rename from gooddata-flexconnect/mypy.ini rename to packages/gooddata-flexconnect/mypy.ini diff --git a/packages/gooddata-flexconnect/pyproject.toml b/packages/gooddata-flexconnect/pyproject.toml new file mode 100644 index 000000000..a488eb22f --- /dev/null +++ b/packages/gooddata-flexconnect/pyproject.toml @@ -0,0 +1,73 @@ +# (C) 2025 GoodData Corporation +[project] +name = "gooddata-flexconnect" +version = "1.45.0" +description = "Build your own data source for GoodData Cloud and GoodData Cloud Native." +readme = "README.md" +license = {text = "MIT"} +authors = [ + {name = "GoodData", email = "support@gooddata.com"} +] +keywords = [ + "gooddata", + "flight", + "rpc", + "flight rpc", + "custom functions", + "analytics", + "headless", + "business", + "intelligence", + "headless-bi", + "cloud", + "native", + "semantic", + "layer", + "sql", + "metrics", +] +requires-python = ">=3.9.0" +dependencies = [ + "dynaconf>=3.1.11,<4.0.0", + "gooddata-flight-server~=1.45.0", + "gooddata-sdk~=1.45.0", + "orjson>=3.9.15,<4.0.0", + "pyarrow>=16.1.0", + "structlog>=24.0.0,<25.0.0", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Console", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Database", + "Topic :: Scientific/Engineering", + "Topic :: Software Development", + "Typing :: Typed", +] + +[project.urls] +Documentation = "https://gooddata-flexconnect.readthedocs.io/en/v1.45.0" +Source = "https://github.com/gooddata/gooddata-python-sdk" + +[dependency-groups] +test = [ + "jsonschema~=4.23.0", + "pytest~=8.3.4", + "pytest-cov~=6.0.0", +] +type = [ + "mypy~=1.11.2", + "pydantic~=2.9.2" +] + +[tool.hatch.build.targets.wheel] +packages = ["src/gooddata_flexconnect"] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/gooddata-flexconnect/gooddata_flexconnect/__init__.py b/packages/gooddata-flexconnect/src/gooddata_flexconnect/__init__.py similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/__init__.py rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/__init__.py diff --git a/gooddata-flexconnect/gooddata_flexconnect/function/__init__.py b/packages/gooddata-flexconnect/src/gooddata_flexconnect/function/__init__.py similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/function/__init__.py rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/function/__init__.py diff --git a/gooddata-flexconnect/gooddata_flexconnect/function/data_source_messages.py b/packages/gooddata-flexconnect/src/gooddata_flexconnect/function/data_source_messages.py similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/function/data_source_messages.py rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/function/data_source_messages.py diff --git a/gooddata-flexconnect/gooddata_flexconnect/function/execution_context.py b/packages/gooddata-flexconnect/src/gooddata_flexconnect/function/execution_context.py similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/function/execution_context.py rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/function/execution_context.py diff --git a/gooddata-flexconnect/gooddata_flexconnect/function/flight_methods.py b/packages/gooddata-flexconnect/src/gooddata_flexconnect/function/flight_methods.py similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/function/flight_methods.py rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/function/flight_methods.py diff --git a/gooddata-flexconnect/gooddata_flexconnect/function/function.py b/packages/gooddata-flexconnect/src/gooddata_flexconnect/function/function.py similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/function/function.py rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/function/function.py diff --git a/gooddata-flexconnect/gooddata_flexconnect/function/function_invocation.py b/packages/gooddata-flexconnect/src/gooddata_flexconnect/function/function_invocation.py similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/function/function_invocation.py rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/function/function_invocation.py diff --git a/gooddata-flexconnect/gooddata_flexconnect/function/function_registry.py b/packages/gooddata-flexconnect/src/gooddata_flexconnect/function/function_registry.py similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/function/function_registry.py rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/function/function_registry.py diff --git a/gooddata-flexconnect/gooddata_flexconnect/function/function_task.py b/packages/gooddata-flexconnect/src/gooddata_flexconnect/function/function_task.py similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/function/function_task.py rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/function/function_task.py diff --git a/gooddata-flexconnect/gooddata_flexconnect/py.typed b/packages/gooddata-flexconnect/src/gooddata_flexconnect/py.typed similarity index 100% rename from gooddata-flexconnect/gooddata_flexconnect/py.typed rename to packages/gooddata-flexconnect/src/gooddata_flexconnect/py.typed diff --git a/gooddata-flexconnect/tests/__init__.py b/packages/gooddata-flexconnect/tests/__init__.py similarity index 100% rename from gooddata-flexconnect/tests/__init__.py rename to packages/gooddata-flexconnect/tests/__init__.py diff --git a/gooddata-flexconnect/tests/assert_error_info.py b/packages/gooddata-flexconnect/tests/assert_error_info.py similarity index 100% rename from gooddata-flexconnect/tests/assert_error_info.py rename to packages/gooddata-flexconnect/tests/assert_error_info.py diff --git a/gooddata-flexconnect/tests/function/__init__.py b/packages/gooddata-flexconnect/tests/function/__init__.py similarity index 100% rename from gooddata-flexconnect/tests/function/__init__.py rename to packages/gooddata-flexconnect/tests/function/__init__.py diff --git a/gooddata-flexconnect/tests/function/conftest.py b/packages/gooddata-flexconnect/tests/function/conftest.py similarity index 100% rename from gooddata-flexconnect/tests/function/conftest.py rename to packages/gooddata-flexconnect/tests/function/conftest.py diff --git a/gooddata-flexconnect/tests/function/test_data_source_messages.py b/packages/gooddata-flexconnect/tests/function/test_data_source_messages.py similarity index 100% rename from gooddata-flexconnect/tests/function/test_data_source_messages.py rename to packages/gooddata-flexconnect/tests/function/test_data_source_messages.py diff --git a/gooddata-flexconnect/tests/function/test_flex_fun_execution_context.py b/packages/gooddata-flexconnect/tests/function/test_flex_fun_execution_context.py similarity index 100% rename from gooddata-flexconnect/tests/function/test_flex_fun_execution_context.py rename to packages/gooddata-flexconnect/tests/function/test_flex_fun_execution_context.py diff --git a/gooddata-flexconnect/tests/function/test_registry.py b/packages/gooddata-flexconnect/tests/function/test_registry.py similarity index 100% rename from gooddata-flexconnect/tests/function/test_registry.py rename to packages/gooddata-flexconnect/tests/function/test_registry.py diff --git a/gooddata-flexconnect/tests/function/testing_funs.py b/packages/gooddata-flexconnect/tests/function/testing_funs.py similarity index 100% rename from gooddata-flexconnect/tests/function/testing_funs.py rename to packages/gooddata-flexconnect/tests/function/testing_funs.py diff --git a/gooddata-flexconnect/tests/json_schemas/__init__.py b/packages/gooddata-flexconnect/tests/json_schemas/__init__.py similarity index 100% rename from gooddata-flexconnect/tests/json_schemas/__init__.py rename to packages/gooddata-flexconnect/tests/json_schemas/__init__.py diff --git a/gooddata-flexconnect/tests/json_schemas/conftest.py b/packages/gooddata-flexconnect/tests/json_schemas/conftest.py similarity index 100% rename from gooddata-flexconnect/tests/json_schemas/conftest.py rename to packages/gooddata-flexconnect/tests/json_schemas/conftest.py diff --git a/gooddata-flexconnect/tests/json_schemas/test_attribute_schema.py b/packages/gooddata-flexconnect/tests/json_schemas/test_attribute_schema.py similarity index 100% rename from gooddata-flexconnect/tests/json_schemas/test_attribute_schema.py rename to packages/gooddata-flexconnect/tests/json_schemas/test_attribute_schema.py diff --git a/gooddata-flexconnect/tests/json_schemas/test_depends_on_date_filter_schema.py b/packages/gooddata-flexconnect/tests/json_schemas/test_depends_on_date_filter_schema.py similarity index 100% rename from gooddata-flexconnect/tests/json_schemas/test_depends_on_date_filter_schema.py rename to packages/gooddata-flexconnect/tests/json_schemas/test_depends_on_date_filter_schema.py diff --git a/gooddata-flexconnect/tests/json_schemas/test_depends_on_schema.py b/packages/gooddata-flexconnect/tests/json_schemas/test_depends_on_schema.py similarity index 100% rename from gooddata-flexconnect/tests/json_schemas/test_depends_on_schema.py rename to packages/gooddata-flexconnect/tests/json_schemas/test_depends_on_schema.py diff --git a/gooddata-flexconnect/tests/json_schemas/test_execution_context_schema.py b/packages/gooddata-flexconnect/tests/json_schemas/test_execution_context_schema.py similarity index 100% rename from gooddata-flexconnect/tests/json_schemas/test_execution_context_schema.py rename to packages/gooddata-flexconnect/tests/json_schemas/test_execution_context_schema.py diff --git a/gooddata-flexconnect/tests/json_schemas/test_filter_schema.py b/packages/gooddata-flexconnect/tests/json_schemas/test_filter_schema.py similarity index 100% rename from gooddata-flexconnect/tests/json_schemas/test_filter_schema.py rename to packages/gooddata-flexconnect/tests/json_schemas/test_filter_schema.py diff --git a/gooddata-flexconnect/tests/json_schemas/test_label_elements_execution_request_schema.py b/packages/gooddata-flexconnect/tests/json_schemas/test_label_elements_execution_request_schema.py similarity index 100% rename from gooddata-flexconnect/tests/json_schemas/test_label_elements_execution_request_schema.py rename to packages/gooddata-flexconnect/tests/json_schemas/test_label_elements_execution_request_schema.py diff --git a/gooddata-flexconnect/tests/server/__init__.py b/packages/gooddata-flexconnect/tests/server/__init__.py similarity index 100% rename from gooddata-flexconnect/tests/server/__init__.py rename to packages/gooddata-flexconnect/tests/server/__init__.py diff --git a/gooddata-flexconnect/tests/server/conftest.py b/packages/gooddata-flexconnect/tests/server/conftest.py similarity index 100% rename from gooddata-flexconnect/tests/server/conftest.py rename to packages/gooddata-flexconnect/tests/server/conftest.py diff --git a/gooddata-flexconnect/tests/server/funs/__init__.py b/packages/gooddata-flexconnect/tests/server/funs/__init__.py similarity index 100% rename from gooddata-flexconnect/tests/server/funs/__init__.py rename to packages/gooddata-flexconnect/tests/server/funs/__init__.py diff --git a/gooddata-flexconnect/tests/server/funs/fun1.py b/packages/gooddata-flexconnect/tests/server/funs/fun1.py similarity index 100% rename from gooddata-flexconnect/tests/server/funs/fun1.py rename to packages/gooddata-flexconnect/tests/server/funs/fun1.py diff --git a/gooddata-flexconnect/tests/server/funs/fun2.py b/packages/gooddata-flexconnect/tests/server/funs/fun2.py similarity index 100% rename from gooddata-flexconnect/tests/server/funs/fun2.py rename to packages/gooddata-flexconnect/tests/server/funs/fun2.py diff --git a/gooddata-flexconnect/tests/server/funs/fun3.py b/packages/gooddata-flexconnect/tests/server/funs/fun3.py similarity index 100% rename from gooddata-flexconnect/tests/server/funs/fun3.py rename to packages/gooddata-flexconnect/tests/server/funs/fun3.py diff --git a/gooddata-flexconnect/tests/server/funs/fun4.py b/packages/gooddata-flexconnect/tests/server/funs/fun4.py similarity index 100% rename from gooddata-flexconnect/tests/server/funs/fun4.py rename to packages/gooddata-flexconnect/tests/server/funs/fun4.py diff --git a/gooddata-flexconnect/tests/server/test_flexconnect_server.py b/packages/gooddata-flexconnect/tests/server/test_flexconnect_server.py similarity index 100% rename from gooddata-flexconnect/tests/server/test_flexconnect_server.py rename to packages/gooddata-flexconnect/tests/server/test_flexconnect_server.py diff --git a/gooddata-flexconnect/tests/server/tls/ca-cert.pem b/packages/gooddata-flexconnect/tests/server/tls/ca-cert.pem similarity index 100% rename from gooddata-flexconnect/tests/server/tls/ca-cert.pem rename to packages/gooddata-flexconnect/tests/server/tls/ca-cert.pem diff --git a/gooddata-flexconnect/tests/server/tls/client-cert.pem b/packages/gooddata-flexconnect/tests/server/tls/client-cert.pem similarity index 100% rename from gooddata-flexconnect/tests/server/tls/client-cert.pem rename to packages/gooddata-flexconnect/tests/server/tls/client-cert.pem diff --git a/gooddata-flexconnect/tests/server/tls/client-key.pem b/packages/gooddata-flexconnect/tests/server/tls/client-key.pem similarity index 100% rename from gooddata-flexconnect/tests/server/tls/client-key.pem rename to packages/gooddata-flexconnect/tests/server/tls/client-key.pem diff --git a/gooddata-flexconnect/tests/server/tls/server-cert.pem b/packages/gooddata-flexconnect/tests/server/tls/server-cert.pem similarity index 100% rename from gooddata-flexconnect/tests/server/tls/server-cert.pem rename to packages/gooddata-flexconnect/tests/server/tls/server-cert.pem diff --git a/gooddata-flexconnect/tests/server/tls/server-key.pem b/packages/gooddata-flexconnect/tests/server/tls/server-key.pem similarity index 100% rename from gooddata-flexconnect/tests/server/tls/server-key.pem rename to packages/gooddata-flexconnect/tests/server/tls/server-key.pem diff --git a/gooddata-flexconnect/tox.ini b/packages/gooddata-flexconnect/tox.ini similarity index 69% rename from gooddata-flexconnect/tox.ini rename to packages/gooddata-flexconnect/tox.ini index f01933bc8..a07ec6fe6 100644 --- a/gooddata-flexconnect/tox.ini +++ b/packages/gooddata-flexconnect/tox.ini @@ -6,26 +6,26 @@ envlist = py3{9,10,11,12,13} package = wheel wheel_build_env = .pkg deps = - -r{toxinidir}/test-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client -e../gooddata-sdk -e../gooddata-flight-server -e../tests-support setenv= PYTHONDONTWRITEBYTECODE=1 commands = - pytest -v --cov=gooddata_flexconnect --cov-report=xml tests {posargs} + uv pip install --group test + pytest -v --cov=src/gooddata_flexconnect --cov-report=xml tests {posargs} [testenv:mypy] basepython = python3.13 skip_install = true deps = - -r{toxinidir}/type-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client -e../gooddata-sdk -e../gooddata-flight-server commands = - mypy gooddata_flexconnect + uv pip install --group type + mypy src/gooddata_flexconnect [testenv:docs] basepython = python3.13 diff --git a/gooddata-flight-server/.gitignore b/packages/gooddata-flight-server/.gitignore similarity index 100% rename from gooddata-flight-server/.gitignore rename to packages/gooddata-flight-server/.gitignore diff --git a/gooddata-flight-server/.readthedocs.yaml b/packages/gooddata-flight-server/.readthedocs.yaml similarity index 100% rename from gooddata-flight-server/.readthedocs.yaml rename to packages/gooddata-flight-server/.readthedocs.yaml diff --git a/packages/gooddata-flight-server/LICENSE.txt b/packages/gooddata-flight-server/LICENSE.txt new file mode 120000 index 000000000..0b01ef693 --- /dev/null +++ b/packages/gooddata-flight-server/LICENSE.txt @@ -0,0 +1 @@ +../../OSS LICENSES/LICENSE (gooddata-flight-server).txt \ No newline at end of file diff --git a/gooddata-flight-server/MANIFEST.in b/packages/gooddata-flight-server/MANIFEST.in similarity index 100% rename from gooddata-flight-server/MANIFEST.in rename to packages/gooddata-flight-server/MANIFEST.in diff --git a/gooddata-flexconnect/Makefile b/packages/gooddata-flight-server/Makefile similarity index 94% rename from gooddata-flexconnect/Makefile rename to packages/gooddata-flight-server/Makefile index 4d49fba58..e3069ab0f 100644 --- a/gooddata-flexconnect/Makefile +++ b/packages/gooddata-flight-server/Makefile @@ -1,5 +1,6 @@ +# (C) 2021 GoodData Corporation # (C) 2024 GoodData Corporation -include ../project_common.mk +include ../../project_common.mk .PHONY: docs docs: diff --git a/gooddata-flight-server/README.md b/packages/gooddata-flight-server/README.md similarity index 100% rename from gooddata-flight-server/README.md rename to packages/gooddata-flight-server/README.md diff --git a/gooddata-flight-server/bin/gooddata-flight-server b/packages/gooddata-flight-server/bin/gooddata-flight-server similarity index 100% rename from gooddata-flight-server/bin/gooddata-flight-server rename to packages/gooddata-flight-server/bin/gooddata-flight-server diff --git a/gooddata-flight-server/mypy.ini b/packages/gooddata-flight-server/mypy.ini similarity index 100% rename from gooddata-flight-server/mypy.ini rename to packages/gooddata-flight-server/mypy.ini diff --git a/packages/gooddata-flight-server/pyproject.toml b/packages/gooddata-flight-server/pyproject.toml new file mode 100644 index 000000000..69bdb12f3 --- /dev/null +++ b/packages/gooddata-flight-server/pyproject.toml @@ -0,0 +1,77 @@ +# (C) 2025 GoodData Corporation +[project] +name = "gooddata-flight-server" +version = "1.45.0" +description = "Flight RPC server to host custom functions" +readme = "README.md" +license = {text = "MIT"} +authors = [ + {name = "GoodData", email = "support@gooddata.com"} +] +keywords = [ + "gooddata", + "flight", + "rpc", + "flight rpc", + "custom functions", + "analytics", + "headless", + "business", + "intelligence", + "headless-bi", + "cloud", + "native", + "semantic", + "layer", + "sql", + "metrics", +] +requires-python = ">=3.9.0" +dependencies = [ + "dynaconf>=3.1.11,<4.0.0", + "opentelemetry-api>=1.24.0,<=2.0.0", + "opentelemetry-sdk>=1.24.0,<=2.0.0", + "orjson>=3.8.5,<4.0.0", + "prometheus-client~=0.20.0", + "pyarrow>=16.1.0", + "readerwriterlock~=1.0.9", + "structlog>=24.0.0,<25.0.0", +] +classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Console", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Database", + "Topic :: Scientific/Engineering", + "Topic :: Software Development", + "Typing :: Typed", +] + +[project.urls] +Documentation = "https://gooddata-flight-server.readthedocs.io/en/v1.45.0" +Source = "https://github.com/gooddata/gooddata-python-sdk" + +[project.scripts] +gooddata-flight-server = "gooddata_flight_server.cli:main" + +[dependency-groups] +test = [ + "pytest~=8.3.4", + "pytest-cov~=6.0.0", +] +type = [ + "mypy~=1.11.2", + "pydantic~=2.9.2" +] + +[tool.hatch.build.targets.wheel] +packages = ["src/gooddata_flight_server"] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/gooddata-flight-server/sample-config.toml b/packages/gooddata-flight-server/sample-config.toml similarity index 100% rename from gooddata-flight-server/sample-config.toml rename to packages/gooddata-flight-server/sample-config.toml diff --git a/gooddata-flight-server/gooddata_flight_server/__init__.py b/packages/gooddata-flight-server/src/gooddata_flight_server/__init__.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/__init__.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/__init__.py diff --git a/gooddata-flight-server/gooddata_flight_server/_version.py b/packages/gooddata-flight-server/src/gooddata_flight_server/_version.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/_version.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/_version.py diff --git a/gooddata-flight-server/gooddata_flight_server/cli.py b/packages/gooddata-flight-server/src/gooddata_flight_server/cli.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/cli.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/cli.py diff --git a/gooddata-flight-server/gooddata_flight_server/config/__init__.py b/packages/gooddata-flight-server/src/gooddata_flight_server/config/__init__.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/config/__init__.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/config/__init__.py diff --git a/gooddata-flight-server/gooddata_flight_server/config/config.py b/packages/gooddata-flight-server/src/gooddata_flight_server/config/config.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/config/config.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/config/config.py diff --git a/gooddata-flight-server/gooddata_flight_server/errors/__init__.py b/packages/gooddata-flight-server/src/gooddata_flight_server/errors/__init__.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/errors/__init__.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/errors/__init__.py diff --git a/gooddata-flight-server/gooddata_flight_server/errors/error_code.py b/packages/gooddata-flight-server/src/gooddata_flight_server/errors/error_code.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/errors/error_code.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/errors/error_code.py diff --git a/gooddata-flight-server/gooddata_flight_server/errors/error_info.py b/packages/gooddata-flight-server/src/gooddata_flight_server/errors/error_info.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/errors/error_info.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/errors/error_info.py diff --git a/gooddata-flight-server/gooddata_flight_server/exceptions.py b/packages/gooddata-flight-server/src/gooddata_flight_server/exceptions.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/exceptions.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/exceptions.py diff --git a/gooddata-flight-server/gooddata_flight_server/health/__init__.py b/packages/gooddata-flight-server/src/gooddata_flight_server/health/__init__.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/health/__init__.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/health/__init__.py diff --git a/gooddata-flight-server/gooddata_flight_server/health/health_check_http_server.py b/packages/gooddata-flight-server/src/gooddata_flight_server/health/health_check_http_server.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/health/health_check_http_server.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/health/health_check_http_server.py diff --git a/gooddata-flight-server/gooddata_flight_server/health/server_health_monitor.py b/packages/gooddata-flight-server/src/gooddata_flight_server/health/server_health_monitor.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/health/server_health_monitor.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/health/server_health_monitor.py diff --git a/gooddata-flight-server/gooddata_flight_server/metrics.py b/packages/gooddata-flight-server/src/gooddata_flight_server/metrics.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/metrics.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/metrics.py diff --git a/gooddata-flight-server/gooddata_flight_server/py.typed b/packages/gooddata-flight-server/src/gooddata_flight_server/py.typed similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/py.typed rename to packages/gooddata-flight-server/src/gooddata_flight_server/py.typed diff --git a/gooddata-flight-server/gooddata_flight_server/server/__init__.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/__init__.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/__init__.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/__init__.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/auth/__init__.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/__init__.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/auth/__init__.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/__init__.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/auth/auth_middleware.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/auth_middleware.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/auth/auth_middleware.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/auth_middleware.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/auth/token_verifier.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/token_verifier.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/auth/token_verifier.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/token_verifier.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/auth/token_verifier_factory.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/token_verifier_factory.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/auth/token_verifier_factory.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/token_verifier_factory.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/auth/token_verifier_impl.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/token_verifier_impl.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/auth/token_verifier_impl.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/auth/token_verifier_impl.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/base.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/base.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/base.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/base.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/default.logging.ini b/packages/gooddata-flight-server/src/gooddata_flight_server/server/default.logging.ini similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/default.logging.ini rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/default.logging.ini diff --git a/gooddata-flight-server/gooddata_flight_server/server/flight_rpc/__init__.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/__init__.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/flight_rpc/__init__.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/__init__.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/flight_rpc/flight_middleware.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/flight_middleware.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/flight_rpc/flight_middleware.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/flight_middleware.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/flight_rpc/flight_server.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/flight_server.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/flight_rpc/flight_server.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/flight_server.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/flight_rpc/flight_service.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/flight_service.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/flight_rpc/flight_service.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/flight_service.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/flight_rpc/server_methods.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/server_methods.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/flight_rpc/server_methods.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/flight_rpc/server_methods.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/server_base.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/server_base.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/server_base.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/server_base.py diff --git a/gooddata-flight-server/gooddata_flight_server/server/server_main.py b/packages/gooddata-flight-server/src/gooddata_flight_server/server/server_main.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/server/server_main.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/server/server_main.py diff --git a/gooddata-flight-server/gooddata_flight_server/tasks/__init__.py b/packages/gooddata-flight-server/src/gooddata_flight_server/tasks/__init__.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/tasks/__init__.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/tasks/__init__.py diff --git a/gooddata-flight-server/gooddata_flight_server/tasks/base.py b/packages/gooddata-flight-server/src/gooddata_flight_server/tasks/base.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/tasks/base.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/tasks/base.py diff --git a/gooddata-flight-server/gooddata_flight_server/tasks/metrics.py b/packages/gooddata-flight-server/src/gooddata_flight_server/tasks/metrics.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/tasks/metrics.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/tasks/metrics.py diff --git a/gooddata-flight-server/gooddata_flight_server/tasks/task.py b/packages/gooddata-flight-server/src/gooddata_flight_server/tasks/task.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/tasks/task.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/tasks/task.py diff --git a/gooddata-flight-server/gooddata_flight_server/tasks/task_error.py b/packages/gooddata-flight-server/src/gooddata_flight_server/tasks/task_error.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/tasks/task_error.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/tasks/task_error.py diff --git a/gooddata-flight-server/gooddata_flight_server/tasks/task_executor.py b/packages/gooddata-flight-server/src/gooddata_flight_server/tasks/task_executor.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/tasks/task_executor.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/tasks/task_executor.py diff --git a/gooddata-flight-server/gooddata_flight_server/tasks/task_result.py b/packages/gooddata-flight-server/src/gooddata_flight_server/tasks/task_result.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/tasks/task_result.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/tasks/task_result.py diff --git a/gooddata-flight-server/gooddata_flight_server/tasks/temporal_container.py b/packages/gooddata-flight-server/src/gooddata_flight_server/tasks/temporal_container.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/tasks/temporal_container.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/tasks/temporal_container.py diff --git a/gooddata-flight-server/gooddata_flight_server/tasks/thread_task_executor.py b/packages/gooddata-flight-server/src/gooddata_flight_server/tasks/thread_task_executor.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/tasks/thread_task_executor.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/tasks/thread_task_executor.py diff --git a/gooddata-flight-server/gooddata_flight_server/utils/__init__.py b/packages/gooddata-flight-server/src/gooddata_flight_server/utils/__init__.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/utils/__init__.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/utils/__init__.py diff --git a/gooddata-flight-server/gooddata_flight_server/utils/libc_utils.py b/packages/gooddata-flight-server/src/gooddata_flight_server/utils/libc_utils.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/utils/libc_utils.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/utils/libc_utils.py diff --git a/gooddata-flight-server/gooddata_flight_server/utils/logging.py b/packages/gooddata-flight-server/src/gooddata_flight_server/utils/logging.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/utils/logging.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/utils/logging.py diff --git a/gooddata-flight-server/gooddata_flight_server/utils/methods_discovery.py b/packages/gooddata-flight-server/src/gooddata_flight_server/utils/methods_discovery.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/utils/methods_discovery.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/utils/methods_discovery.py diff --git a/gooddata-flight-server/gooddata_flight_server/utils/otel_tracing.py b/packages/gooddata-flight-server/src/gooddata_flight_server/utils/otel_tracing.py similarity index 100% rename from gooddata-flight-server/gooddata_flight_server/utils/otel_tracing.py rename to packages/gooddata-flight-server/src/gooddata_flight_server/utils/otel_tracing.py diff --git a/gooddata-flight-server/tests/__init__.py b/packages/gooddata-flight-server/tests/__init__.py similarity index 100% rename from gooddata-flight-server/tests/__init__.py rename to packages/gooddata-flight-server/tests/__init__.py diff --git a/gooddata-flight-server/tests/assert_error_info.py b/packages/gooddata-flight-server/tests/assert_error_info.py similarity index 100% rename from gooddata-flight-server/tests/assert_error_info.py rename to packages/gooddata-flight-server/tests/assert_error_info.py diff --git a/gooddata-flight-server/tests/config/__init__.py b/packages/gooddata-flight-server/tests/config/__init__.py similarity index 100% rename from gooddata-flight-server/tests/config/__init__.py rename to packages/gooddata-flight-server/tests/config/__init__.py diff --git a/gooddata-flight-server/tests/config/auth-config.toml b/packages/gooddata-flight-server/tests/config/auth-config.toml similarity index 100% rename from gooddata-flight-server/tests/config/auth-config.toml rename to packages/gooddata-flight-server/tests/config/auth-config.toml diff --git a/gooddata-flight-server/tests/config/empty-config.toml b/packages/gooddata-flight-server/tests/config/empty-config.toml similarity index 100% rename from gooddata-flight-server/tests/config/empty-config.toml rename to packages/gooddata-flight-server/tests/config/empty-config.toml diff --git a/gooddata-flight-server/tests/config/private_key.pem b/packages/gooddata-flight-server/tests/config/private_key.pem similarity index 100% rename from gooddata-flight-server/tests/config/private_key.pem rename to packages/gooddata-flight-server/tests/config/private_key.pem diff --git a/gooddata-flight-server/tests/config/sample-config.toml b/packages/gooddata-flight-server/tests/config/sample-config.toml similarity index 100% rename from gooddata-flight-server/tests/config/sample-config.toml rename to packages/gooddata-flight-server/tests/config/sample-config.toml diff --git a/gooddata-flight-server/tests/config/test_config.py b/packages/gooddata-flight-server/tests/config/test_config.py similarity index 100% rename from gooddata-flight-server/tests/config/test_config.py rename to packages/gooddata-flight-server/tests/config/test_config.py diff --git a/gooddata-flight-server/tests/config/tls-config.toml b/packages/gooddata-flight-server/tests/config/tls-config.toml similarity index 100% rename from gooddata-flight-server/tests/config/tls-config.toml rename to packages/gooddata-flight-server/tests/config/tls-config.toml diff --git a/gooddata-flight-server/tests/errors/__init__.py b/packages/gooddata-flight-server/tests/errors/__init__.py similarity index 100% rename from gooddata-flight-server/tests/errors/__init__.py rename to packages/gooddata-flight-server/tests/errors/__init__.py diff --git a/gooddata-flight-server/tests/errors/error_info.py b/packages/gooddata-flight-server/tests/errors/error_info.py similarity index 100% rename from gooddata-flight-server/tests/errors/error_info.py rename to packages/gooddata-flight-server/tests/errors/error_info.py diff --git a/gooddata-flight-server/tests/server/__init__.py b/packages/gooddata-flight-server/tests/server/__init__.py similarity index 100% rename from gooddata-flight-server/tests/server/__init__.py rename to packages/gooddata-flight-server/tests/server/__init__.py diff --git a/gooddata-flight-server/tests/server/conftest.py b/packages/gooddata-flight-server/tests/server/conftest.py similarity index 100% rename from gooddata-flight-server/tests/server/conftest.py rename to packages/gooddata-flight-server/tests/server/conftest.py diff --git a/gooddata-flight-server/tests/server/test_server.py b/packages/gooddata-flight-server/tests/server/test_server.py similarity index 100% rename from gooddata-flight-server/tests/server/test_server.py rename to packages/gooddata-flight-server/tests/server/test_server.py diff --git a/gooddata-flight-server/tests/server/testing_token_verifier.py b/packages/gooddata-flight-server/tests/server/testing_token_verifier.py similarity index 100% rename from gooddata-flight-server/tests/server/testing_token_verifier.py rename to packages/gooddata-flight-server/tests/server/testing_token_verifier.py diff --git a/gooddata-flight-server/tests/server/tls/ca-cert.pem b/packages/gooddata-flight-server/tests/server/tls/ca-cert.pem similarity index 100% rename from gooddata-flight-server/tests/server/tls/ca-cert.pem rename to packages/gooddata-flight-server/tests/server/tls/ca-cert.pem diff --git a/gooddata-flight-server/tests/server/tls/client-cert.pem b/packages/gooddata-flight-server/tests/server/tls/client-cert.pem similarity index 100% rename from gooddata-flight-server/tests/server/tls/client-cert.pem rename to packages/gooddata-flight-server/tests/server/tls/client-cert.pem diff --git a/gooddata-flight-server/tests/server/tls/client-key.pem b/packages/gooddata-flight-server/tests/server/tls/client-key.pem similarity index 100% rename from gooddata-flight-server/tests/server/tls/client-key.pem rename to packages/gooddata-flight-server/tests/server/tls/client-key.pem diff --git a/gooddata-flight-server/tests/server/tls/server-cert.pem b/packages/gooddata-flight-server/tests/server/tls/server-cert.pem similarity index 100% rename from gooddata-flight-server/tests/server/tls/server-cert.pem rename to packages/gooddata-flight-server/tests/server/tls/server-cert.pem diff --git a/gooddata-flight-server/tests/server/tls/server-key.pem b/packages/gooddata-flight-server/tests/server/tls/server-key.pem similarity index 100% rename from gooddata-flight-server/tests/server/tls/server-key.pem rename to packages/gooddata-flight-server/tests/server/tls/server-key.pem diff --git a/gooddata-flight-server/tests/tasks/__init__.py b/packages/gooddata-flight-server/tests/tasks/__init__.py similarity index 100% rename from gooddata-flight-server/tests/tasks/__init__.py rename to packages/gooddata-flight-server/tests/tasks/__init__.py diff --git a/gooddata-flight-server/tests/tasks/test_task_executor.py b/packages/gooddata-flight-server/tests/tasks/test_task_executor.py similarity index 100% rename from gooddata-flight-server/tests/tasks/test_task_executor.py rename to packages/gooddata-flight-server/tests/tasks/test_task_executor.py diff --git a/gooddata-flight-server/tests/tasks/test_temporal_container.py b/packages/gooddata-flight-server/tests/tasks/test_temporal_container.py similarity index 100% rename from gooddata-flight-server/tests/tasks/test_temporal_container.py rename to packages/gooddata-flight-server/tests/tasks/test_temporal_container.py diff --git a/gooddata-flight-server/tests/utils/invalid_methods_module/__init__.py b/packages/gooddata-flight-server/tests/utils/invalid_methods_module/__init__.py similarity index 100% rename from gooddata-flight-server/tests/utils/invalid_methods_module/__init__.py rename to packages/gooddata-flight-server/tests/utils/invalid_methods_module/__init__.py diff --git a/gooddata-flight-server/tests/utils/invalid_methods_module/mock_methods.py b/packages/gooddata-flight-server/tests/utils/invalid_methods_module/mock_methods.py similarity index 100% rename from gooddata-flight-server/tests/utils/invalid_methods_module/mock_methods.py rename to packages/gooddata-flight-server/tests/utils/invalid_methods_module/mock_methods.py diff --git a/gooddata-flight-server/tests/utils/multiple_methods_module/__init__.py b/packages/gooddata-flight-server/tests/utils/multiple_methods_module/__init__.py similarity index 100% rename from gooddata-flight-server/tests/utils/multiple_methods_module/__init__.py rename to packages/gooddata-flight-server/tests/utils/multiple_methods_module/__init__.py diff --git a/gooddata-flight-server/tests/utils/multiple_methods_module/mock_methods.py b/packages/gooddata-flight-server/tests/utils/multiple_methods_module/mock_methods.py similarity index 100% rename from gooddata-flight-server/tests/utils/multiple_methods_module/mock_methods.py rename to packages/gooddata-flight-server/tests/utils/multiple_methods_module/mock_methods.py diff --git a/gooddata-flight-server/tests/utils/no_methods_module/__init__.py b/packages/gooddata-flight-server/tests/utils/no_methods_module/__init__.py similarity index 100% rename from gooddata-flight-server/tests/utils/no_methods_module/__init__.py rename to packages/gooddata-flight-server/tests/utils/no_methods_module/__init__.py diff --git a/gooddata-flight-server/tests/utils/no_methods_module/mock_methods.py b/packages/gooddata-flight-server/tests/utils/no_methods_module/mock_methods.py similarity index 100% rename from gooddata-flight-server/tests/utils/no_methods_module/mock_methods.py rename to packages/gooddata-flight-server/tests/utils/no_methods_module/mock_methods.py diff --git a/gooddata-flight-server/tests/utils/test_methods_discovery.py b/packages/gooddata-flight-server/tests/utils/test_methods_discovery.py similarity index 100% rename from gooddata-flight-server/tests/utils/test_methods_discovery.py rename to packages/gooddata-flight-server/tests/utils/test_methods_discovery.py diff --git a/gooddata-flight-server/tests/utils/valid_methods_module/__init__.py b/packages/gooddata-flight-server/tests/utils/valid_methods_module/__init__.py similarity index 100% rename from gooddata-flight-server/tests/utils/valid_methods_module/__init__.py rename to packages/gooddata-flight-server/tests/utils/valid_methods_module/__init__.py diff --git a/gooddata-flight-server/tests/utils/valid_methods_module/mock_methods.py b/packages/gooddata-flight-server/tests/utils/valid_methods_module/mock_methods.py similarity index 100% rename from gooddata-flight-server/tests/utils/valid_methods_module/mock_methods.py rename to packages/gooddata-flight-server/tests/utils/valid_methods_module/mock_methods.py diff --git a/gooddata-flight-server/tox.ini b/packages/gooddata-flight-server/tox.ini similarity index 68% rename from gooddata-flight-server/tox.ini rename to packages/gooddata-flight-server/tox.ini index 3a70994a4..b7e5965e5 100644 --- a/gooddata-flight-server/tox.ini +++ b/packages/gooddata-flight-server/tox.ini @@ -6,20 +6,19 @@ envlist = py3{9,10,11,12,13} package = wheel wheel_build_env = .pkg deps = - -r{toxinidir}/test-requirements.txt -e../tests-support setenv= PYTHONDONTWRITEBYTECODE=1 commands = - pytest -v --cov=gooddata_flight_server --cov-report=xml tests {posargs} + uv pip install --group test + pytest -v --cov=src/gooddata_flight_server --cov-report=xml tests {posargs} [testenv:mypy] basepython = python3.13 skip_install = true -deps = - -r{toxinidir}/type-requirements.txt commands = - mypy gooddata_flight_server + uv pip install --group type + mypy src/gooddata_flight_server [testenv:docs] basepython = python3.13 diff --git a/gooddata-pandas/.gitignore b/packages/gooddata-pandas/.gitignore similarity index 100% rename from gooddata-pandas/.gitignore rename to packages/gooddata-pandas/.gitignore diff --git a/gooddata-pandas/.readthedocs.yaml b/packages/gooddata-pandas/.readthedocs.yaml similarity index 100% rename from gooddata-pandas/.readthedocs.yaml rename to packages/gooddata-pandas/.readthedocs.yaml diff --git a/packages/gooddata-pandas/LICENSE.txt b/packages/gooddata-pandas/LICENSE.txt new file mode 120000 index 000000000..b7316e89f --- /dev/null +++ b/packages/gooddata-pandas/LICENSE.txt @@ -0,0 +1 @@ +../../OSS LICENSES/LICENSE (gooddata-pandas).txt \ No newline at end of file diff --git a/gooddata-pandas/MANIFEST.in b/packages/gooddata-pandas/MANIFEST.in similarity index 100% rename from gooddata-pandas/MANIFEST.in rename to packages/gooddata-pandas/MANIFEST.in diff --git a/gooddata-pandas/Makefile b/packages/gooddata-pandas/Makefile similarity index 70% rename from gooddata-pandas/Makefile rename to packages/gooddata-pandas/Makefile index d9d9de3d4..b56a383e6 100644 --- a/gooddata-pandas/Makefile +++ b/packages/gooddata-pandas/Makefile @@ -1,5 +1,5 @@ # (C) 2021 GoodData Corporation -include ../project_common.mk +include ../../project_common.mk .PHONY: docs docs: diff --git a/gooddata-pandas/README.md b/packages/gooddata-pandas/README.md similarity index 100% rename from gooddata-pandas/README.md rename to packages/gooddata-pandas/README.md diff --git a/gooddata-pandas/docs/_static/empty_file b/packages/gooddata-pandas/docs/_static/empty_file similarity index 100% rename from gooddata-pandas/docs/_static/empty_file rename to packages/gooddata-pandas/docs/_static/empty_file diff --git a/gooddata-pandas/docs/_templates/class-template.rst b/packages/gooddata-pandas/docs/_templates/class-template.rst similarity index 100% rename from gooddata-pandas/docs/_templates/class-template.rst rename to packages/gooddata-pandas/docs/_templates/class-template.rst diff --git a/gooddata-pandas/docs/_templates/module-template.rst b/packages/gooddata-pandas/docs/_templates/module-template.rst similarity index 100% rename from gooddata-pandas/docs/_templates/module-template.rst rename to packages/gooddata-pandas/docs/_templates/module-template.rst diff --git a/gooddata-pandas/docs/api.rst b/packages/gooddata-pandas/docs/api.rst similarity index 100% rename from gooddata-pandas/docs/api.rst rename to packages/gooddata-pandas/docs/api.rst diff --git a/gooddata-pandas/docs/conf.py b/packages/gooddata-pandas/docs/conf.py similarity index 100% rename from gooddata-pandas/docs/conf.py rename to packages/gooddata-pandas/docs/conf.py diff --git a/gooddata-pandas/docs/examples.rst b/packages/gooddata-pandas/docs/examples.rst similarity index 100% rename from gooddata-pandas/docs/examples.rst rename to packages/gooddata-pandas/docs/examples.rst diff --git a/gooddata-pandas/docs/index.rst b/packages/gooddata-pandas/docs/index.rst similarity index 100% rename from gooddata-pandas/docs/index.rst rename to packages/gooddata-pandas/docs/index.rst diff --git a/gooddata-pandas/docs/installation.rst b/packages/gooddata-pandas/docs/installation.rst similarity index 100% rename from gooddata-pandas/docs/installation.rst rename to packages/gooddata-pandas/docs/installation.rst diff --git a/gooddata-pandas/docs/requirements.txt b/packages/gooddata-pandas/docs/requirements.txt similarity index 100% rename from gooddata-pandas/docs/requirements.txt rename to packages/gooddata-pandas/docs/requirements.txt diff --git a/gooddata-pandas/mypy.ini b/packages/gooddata-pandas/mypy.ini similarity index 100% rename from gooddata-pandas/mypy.ini rename to packages/gooddata-pandas/mypy.ini diff --git a/packages/gooddata-pandas/pyproject.toml b/packages/gooddata-pandas/pyproject.toml new file mode 100644 index 000000000..0df96db84 --- /dev/null +++ b/packages/gooddata-pandas/pyproject.toml @@ -0,0 +1,79 @@ +# (C) 2025 GoodData Corporation +[project] +name = "gooddata-pandas" +version = "1.45.0" +description = "GoodData Cloud to pandas" +readme = "README.md" +license = {text = "MIT"} +authors = [ + {name = "GoodData", email = "support@gooddata.com"} +] +keywords = [ + "gooddata", + "pandas", + "series", + "data", + "frame", + "data_frame", + "analytics", + "headless", + "business", + "intelligence", + "headless-bi", + "cloud", + "native", + "semantic", + "layer", + "sql", + "metrics", +] +requires-python = ">=3.9.0" +dependencies = [ + "gooddata-sdk~=1.45.0", + "pandas>=2.0.0,<3.0.0", +] + +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Database", + "Topic :: Scientific/Engineering", + "Topic :: Software Development", + "Typing :: Typed", +] + +[tool.uv.sources] +gooddata-sdk = { workspace = true } + +[project.urls] +Documentation = "https://gooddata-pandas.readthedocs.io/en/v1.45.0" +Source = "https://github.com/gooddata/gooddata-python-sdk" + +[dependency-groups] +test = [ + "pytest~=8.3.4", + "pytest-cov~=6.0.0", + "pytest-snapshot==0.9.0", + "pytest-order~=1.3.0", + "vcrpy~=7.0.0", + "urllib3==1.26.9", + "python-dotenv~=1.0.0", + "pyyaml" +] +type = [ + "mypy~=1.11.2", + "pydantic~=2.9.2" +] + +[tool.hatch.build.targets.wheel] +packages = ["src/gooddata_pandas"] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/gooddata-pandas/gooddata_pandas/__init__.py b/packages/gooddata-pandas/src/gooddata_pandas/__init__.py similarity index 100% rename from gooddata-pandas/gooddata_pandas/__init__.py rename to packages/gooddata-pandas/src/gooddata_pandas/__init__.py diff --git a/gooddata-pandas/gooddata_pandas/_version.py b/packages/gooddata-pandas/src/gooddata_pandas/_version.py similarity index 100% rename from gooddata-pandas/gooddata_pandas/_version.py rename to packages/gooddata-pandas/src/gooddata_pandas/_version.py diff --git a/gooddata-pandas/gooddata_pandas/data_access.py b/packages/gooddata-pandas/src/gooddata_pandas/data_access.py similarity index 100% rename from gooddata-pandas/gooddata_pandas/data_access.py rename to packages/gooddata-pandas/src/gooddata_pandas/data_access.py diff --git a/gooddata-pandas/gooddata_pandas/dataframe.py b/packages/gooddata-pandas/src/gooddata_pandas/dataframe.py similarity index 100% rename from gooddata-pandas/gooddata_pandas/dataframe.py rename to packages/gooddata-pandas/src/gooddata_pandas/dataframe.py diff --git a/gooddata-pandas/gooddata_pandas/good_pandas.py b/packages/gooddata-pandas/src/gooddata_pandas/good_pandas.py similarity index 100% rename from gooddata-pandas/gooddata_pandas/good_pandas.py rename to packages/gooddata-pandas/src/gooddata_pandas/good_pandas.py diff --git a/gooddata-pandas/gooddata_pandas/py.typed b/packages/gooddata-pandas/src/gooddata_pandas/py.typed similarity index 100% rename from gooddata-pandas/gooddata_pandas/py.typed rename to packages/gooddata-pandas/src/gooddata_pandas/py.typed diff --git a/gooddata-pandas/gooddata_pandas/result_convertor.py b/packages/gooddata-pandas/src/gooddata_pandas/result_convertor.py similarity index 100% rename from gooddata-pandas/gooddata_pandas/result_convertor.py rename to packages/gooddata-pandas/src/gooddata_pandas/result_convertor.py diff --git a/gooddata-pandas/gooddata_pandas/series.py b/packages/gooddata-pandas/src/gooddata_pandas/series.py similarity index 100% rename from gooddata-pandas/gooddata_pandas/series.py rename to packages/gooddata-pandas/src/gooddata_pandas/series.py diff --git a/gooddata-pandas/gooddata_pandas/utils.py b/packages/gooddata-pandas/src/gooddata_pandas/utils.py similarity index 100% rename from gooddata-pandas/gooddata_pandas/utils.py rename to packages/gooddata-pandas/src/gooddata_pandas/utils.py diff --git a/gooddata-pandas/tests/__init__.py b/packages/gooddata-pandas/tests/__init__.py similarity index 100% rename from gooddata-pandas/tests/__init__.py rename to packages/gooddata-pandas/tests/__init__.py diff --git a/gooddata-pandas/tests/conftest.py b/packages/gooddata-pandas/tests/conftest.py similarity index 100% rename from gooddata-pandas/tests/conftest.py rename to packages/gooddata-pandas/tests/conftest.py diff --git a/gooddata-pandas/tests/dataframe/__init__.py b/packages/gooddata-pandas/tests/dataframe/__init__.py similarity index 100% rename from gooddata-pandas/tests/dataframe/__init__.py rename to packages/gooddata-pandas/tests/dataframe/__init__.py diff --git a/gooddata-pandas/tests/dataframe/conftest.py b/packages/gooddata-pandas/tests/dataframe/conftest.py similarity index 100% rename from gooddata-pandas/tests/dataframe/conftest.py rename to packages/gooddata-pandas/tests/dataframe/conftest.py diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_created_visualization.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_created_visualization.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_created_visualization.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_created_visualization.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_bytes_limits_failure.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_dimensions_limits_failure.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_date.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_date.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_date.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_date.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_no_index.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_no_index.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_no_index.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_visualization_no_index.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/filtered_empty_df.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/filtered_empty_df.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/filtered_empty_df.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/filtered_empty_df.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml b/packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml rename to packages/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/analytical_dashboards/b2f2d436-9831-4fe0-81df-8c59fd33242b.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/analytical_dashboards/b2f2d436-9831-4fe0-81df-8c59fd33242b.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/analytical_dashboards/b2f2d436-9831-4fe0-81df-8c59fd33242b.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/analytical_dashboards/b2f2d436-9831-4fe0-81df-8c59fd33242b.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/filter_contexts/4717b786-2c2e-4596-adb5-4f8b0ab0e19a.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/filter_contexts/4717b786-2c2e-4596-adb5-4f8b0ab0e19a.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/filter_contexts/4717b786-2c2e-4596-adb5-4f8b0ab0e19a.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/filter_contexts/4717b786-2c2e-4596-adb5-4f8b0ab0e19a.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/filter_contexts/9f2b1f37-befa-450e-a6cc-dc576845c412.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/filter_contexts/9f2b1f37-befa-450e-a6cc-dc576845c412.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/filter_contexts/9f2b1f37-befa-450e-a6cc-dc576845c412.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/filter_contexts/9f2b1f37-befa-450e-a6cc-dc576845c412.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_active_customers.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_active_customers.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_active_customers.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_active_customers.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_orders.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_orders.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_orders.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_orders.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_top_customers.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_top_customers.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_top_customers.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_top_customers.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_valid_orders.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_valid_orders.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_valid_orders.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/amount_of_valid_orders.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/campaign_spend.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/campaign_spend.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/campaign_spend.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/campaign_spend.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/order_amount.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/order_amount.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/order_amount.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/order_amount.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_products.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_products.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_products.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_from_top_10_products.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_in_category.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_in_category.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_in_category.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_in_category.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_per_product.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_per_product.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_per_product.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/percent_revenue_per_product.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-clothing.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-clothing.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-clothing.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-clothing.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-electronic.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-electronic.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-electronic.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-electronic.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-home.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-home.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-home.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-home.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-outdoor.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-outdoor.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-outdoor.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue-outdoor.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_per_customer.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_per_customer.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_per_customer.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_per_customer.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_per_dollar_spent.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_per_dollar_spent.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_per_dollar_spent.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_per_dollar_spent.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_top_10.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_top_10.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_top_10.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_top_10.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_top_10_percent.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_top_10_percent.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_top_10_percent.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/revenue_top_10_percent.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/total_revenue-no_filters.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/total_revenue-no_filters.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/total_revenue-no_filters.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/total_revenue-no_filters.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/total_revenue.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/total_revenue.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/total_revenue.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/metrics/total_revenue.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/campaign_spend.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/campaign_spend.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/campaign_spend.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/campaign_spend.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/customers_trend.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/customers_trend.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/customers_trend.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/customers_trend.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_breakdown.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_breakdown.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_breakdown.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_breakdown.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_categories_pie_chart.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_categories_pie_chart.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_categories_pie_chart.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_categories_pie_chart.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_saleability.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_saleability.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_saleability.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/product_saleability.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_by_category_trend.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_by_category_trend.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_by_category_trend.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_by_category_trend.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_by_product.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_by_product.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_by_product.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_by_product.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_trend.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_trend.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_trend.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/revenue_trend.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/top_10_customers.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/top_10_customers.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/top_10_customers.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/top_10_customers.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/top_10_products.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/top_10_products.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/top_10_products.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/analytics_model/visualization_objects/top_10_products.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/campaign_channels.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/campaign_channels.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/campaign_channels.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/campaign_channels.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/campaigns.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/campaigns.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/campaigns.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/campaigns.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/customers.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/customers.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/customers.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/customers.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/order_lines.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/order_lines.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/order_lines.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/order_lines.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/products.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/products.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/products.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/ldm/datasets/products.yaml diff --git a/gooddata-pandas/tests/dataframe/load/ai/ldm/date_instances/date.yaml b/packages/gooddata-pandas/tests/dataframe/load/ai/ldm/date_instances/date.yaml similarity index 100% rename from gooddata-pandas/tests/dataframe/load/ai/ldm/date_instances/date.yaml rename to packages/gooddata-pandas/tests/dataframe/load/ai/ldm/date_instances/date.yaml diff --git a/gooddata-pandas/tests/dataframe/test_dataframe_for_created_visualization.py b/packages/gooddata-pandas/tests/dataframe/test_dataframe_for_created_visualization.py similarity index 100% rename from gooddata-pandas/tests/dataframe/test_dataframe_for_created_visualization.py rename to packages/gooddata-pandas/tests/dataframe/test_dataframe_for_created_visualization.py diff --git a/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py b/packages/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py similarity index 100% rename from gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py rename to packages/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py diff --git a/gooddata-pandas/tests/dataframe/test_dataframe_for_insight.py b/packages/gooddata-pandas/tests/dataframe/test_dataframe_for_insight.py similarity index 100% rename from gooddata-pandas/tests/dataframe/test_dataframe_for_insight.py rename to packages/gooddata-pandas/tests/dataframe/test_dataframe_for_insight.py diff --git a/gooddata-pandas/tests/dataframe/test_dataframe_for_items.py b/packages/gooddata-pandas/tests/dataframe/test_dataframe_for_items.py similarity index 100% rename from gooddata-pandas/tests/dataframe/test_dataframe_for_items.py rename to packages/gooddata-pandas/tests/dataframe/test_dataframe_for_items.py diff --git a/gooddata-pandas/tests/dataframe/test_indexed_dataframe.py b/packages/gooddata-pandas/tests/dataframe/test_indexed_dataframe.py similarity index 100% rename from gooddata-pandas/tests/dataframe/test_indexed_dataframe.py rename to packages/gooddata-pandas/tests/dataframe/test_indexed_dataframe.py diff --git a/gooddata-pandas/tests/dataframe/test_not_indexed_dataframe.py b/packages/gooddata-pandas/tests/dataframe/test_not_indexed_dataframe.py similarity index 100% rename from gooddata-pandas/tests/dataframe/test_not_indexed_dataframe.py rename to packages/gooddata-pandas/tests/dataframe/test_not_indexed_dataframe.py diff --git a/gooddata-pandas/tests/gd_test_config.yaml b/packages/gooddata-pandas/tests/gd_test_config.yaml similarity index 100% rename from gooddata-pandas/tests/gd_test_config.yaml rename to packages/gooddata-pandas/tests/gd_test_config.yaml diff --git a/gooddata-pandas/tests/good_pandas/__init__.py b/packages/gooddata-pandas/tests/good_pandas/__init__.py similarity index 100% rename from gooddata-pandas/tests/good_pandas/__init__.py rename to packages/gooddata-pandas/tests/good_pandas/__init__.py diff --git a/gooddata-pandas/tests/good_pandas/profiles/profiles.yaml b/packages/gooddata-pandas/tests/good_pandas/profiles/profiles.yaml similarity index 100% rename from gooddata-pandas/tests/good_pandas/profiles/profiles.yaml rename to packages/gooddata-pandas/tests/good_pandas/profiles/profiles.yaml diff --git a/gooddata-pandas/tests/good_pandas/test_good_pandas.py b/packages/gooddata-pandas/tests/good_pandas/test_good_pandas.py similarity index 100% rename from gooddata-pandas/tests/good_pandas/test_good_pandas.py rename to packages/gooddata-pandas/tests/good_pandas/test_good_pandas.py diff --git a/gooddata-pandas/tests/overview.md b/packages/gooddata-pandas/tests/overview.md similarity index 100% rename from gooddata-pandas/tests/overview.md rename to packages/gooddata-pandas/tests/overview.md diff --git a/gooddata-pandas/tests/series/__init__.py b/packages/gooddata-pandas/tests/series/__init__.py similarity index 100% rename from gooddata-pandas/tests/series/__init__.py rename to packages/gooddata-pandas/tests/series/__init__.py diff --git a/gooddata-pandas/tests/series/conftest.py b/packages/gooddata-pandas/tests/series/conftest.py similarity index 100% rename from gooddata-pandas/tests/series/conftest.py rename to packages/gooddata-pandas/tests/series/conftest.py diff --git a/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml rename to packages/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml diff --git a/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml rename to packages/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml rename to packages/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml rename to packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml rename to packages/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml rename to packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml b/packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml rename to packages/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml rename to packages/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml rename to packages/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml b/packages/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml similarity index 100% rename from gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml rename to packages/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml diff --git a/gooddata-pandas/tests/series/test_indexed_series.py b/packages/gooddata-pandas/tests/series/test_indexed_series.py similarity index 100% rename from gooddata-pandas/tests/series/test_indexed_series.py rename to packages/gooddata-pandas/tests/series/test_indexed_series.py diff --git a/gooddata-pandas/tests/series/test_not_indexed_series.py b/packages/gooddata-pandas/tests/series/test_not_indexed_series.py similarity index 100% rename from gooddata-pandas/tests/series/test_not_indexed_series.py rename to packages/gooddata-pandas/tests/series/test_not_indexed_series.py diff --git a/gooddata-pandas/tests/utils/__init__.py b/packages/gooddata-pandas/tests/utils/__init__.py similarity index 100% rename from gooddata-pandas/tests/utils/__init__.py rename to packages/gooddata-pandas/tests/utils/__init__.py diff --git a/gooddata-pandas/tests/utils/fixtures/test_get_catalog_attributes_for_extract.yaml b/packages/gooddata-pandas/tests/utils/fixtures/test_get_catalog_attributes_for_extract.yaml similarity index 100% rename from gooddata-pandas/tests/utils/fixtures/test_get_catalog_attributes_for_extract.yaml rename to packages/gooddata-pandas/tests/utils/fixtures/test_get_catalog_attributes_for_extract.yaml diff --git a/gooddata-pandas/tests/utils/test_utils.py b/packages/gooddata-pandas/tests/utils/test_utils.py similarity index 100% rename from gooddata-pandas/tests/utils/test_utils.py rename to packages/gooddata-pandas/tests/utils/test_utils.py diff --git a/gooddata-pandas/tox.ini b/packages/gooddata-pandas/tox.ini similarity index 67% rename from gooddata-pandas/tox.ini rename to packages/gooddata-pandas/tox.ini index b8d52942d..3e5245c4f 100644 --- a/gooddata-pandas/tox.ini +++ b/packages/gooddata-pandas/tox.ini @@ -6,24 +6,24 @@ envlist = py3{9,10,11,12,13} package = wheel wheel_build_env = .pkg deps = - -r{toxinidir}/test-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client -e../gooddata-sdk -e../tests-support setenv= PYTHONDONTWRITEBYTECODE=1 commands = - pytest -v --cov=gooddata_pandas --cov-report=xml tests {posargs} + uv pip install --group test + pytest -v --cov=src/gooddata_pandas --cov-report=xml tests {posargs} [testenv:mypy] basepython = python3.13 skip_install = true deps = - -r{toxinidir}/type-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client -e../gooddata-sdk commands = - mypy gooddata_pandas + uv pip install --group type + mypy src/gooddata_pandas [testenv:docs] basepython = python3.13 diff --git a/gooddata-pipelines/.gitignore b/packages/gooddata-pipelines/.gitignore similarity index 100% rename from gooddata-pipelines/.gitignore rename to packages/gooddata-pipelines/.gitignore diff --git a/gooddata-pipelines/LICENSE.txt b/packages/gooddata-pipelines/LICENSE.txt similarity index 100% rename from gooddata-pipelines/LICENSE.txt rename to packages/gooddata-pipelines/LICENSE.txt diff --git a/gooddata-pipelines/Makefile b/packages/gooddata-pipelines/Makefile similarity index 100% rename from gooddata-pipelines/Makefile rename to packages/gooddata-pipelines/Makefile diff --git a/gooddata-pipelines/README.md b/packages/gooddata-pipelines/README.md similarity index 100% rename from gooddata-pipelines/README.md rename to packages/gooddata-pipelines/README.md diff --git a/gooddata-pipelines/TODO.md b/packages/gooddata-pipelines/TODO.md similarity index 100% rename from gooddata-pipelines/TODO.md rename to packages/gooddata-pipelines/TODO.md diff --git a/gooddata-pipelines/poetry.lock b/packages/gooddata-pipelines/poetry.lock similarity index 100% rename from gooddata-pipelines/poetry.lock rename to packages/gooddata-pipelines/poetry.lock diff --git a/gooddata-pipelines/pyproject.toml b/packages/gooddata-pipelines/pyproject.toml similarity index 85% rename from gooddata-pipelines/pyproject.toml rename to packages/gooddata-pipelines/pyproject.toml index 704288326..64d684b9a 100644 --- a/gooddata-pipelines/pyproject.toml +++ b/packages/gooddata-pipelines/pyproject.toml @@ -8,9 +8,9 @@ license = { text = "MIT" } readme = "README.md" requires-python = ">=3.10" dependencies = [ - "pydantic (>=2.11.3,<3.0.0)", + "pydantic (>=2.9.2,<3.0.0)", "requests (>=2.32.3,<3.0.0)", - "types-requests (>=2.32.0,<3.0.0)", + "types-requests (>1.0.0,<3.0.0)", "gooddata-sdk~=1.48.0", "boto3 (>=1.39.3,<2.0.0)", "boto3-stubs (>=1.39.3,<2.0.0)", @@ -31,8 +31,8 @@ line-length = 80 dev = [ "pytest (>=8.3.5,<9.0.0)", "pytest-mock (>=3.14.0,<4.0.0)", - "ruff (>=0.11.2,<0.12.0)", - "mypy (>=1.16.0,<2.0.0)", + "ruff (>=0.9.5,<0.12.0)", + "mypy (>=1.11.2,<2.0.0)", "moto (>=5.1.6,<6.0.0)", ] diff --git a/gooddata-pipelines/gooddata_pipelines/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/_version.py b/packages/gooddata-pipelines/src/gooddata_pipelines/_version.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/_version.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/_version.py diff --git a/gooddata-pipelines/gooddata_pipelines/api/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/api/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/api/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/api/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/api/exceptions.py b/packages/gooddata-pipelines/src/gooddata_pipelines/api/exceptions.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/api/exceptions.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/api/exceptions.py diff --git a/gooddata-pipelines/gooddata_pipelines/api/gooddata_api.py b/packages/gooddata-pipelines/src/gooddata_pipelines/api/gooddata_api.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/api/gooddata_api.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/api/gooddata_api.py diff --git a/gooddata-pipelines/gooddata_pipelines/api/gooddata_api_wrapper.py b/packages/gooddata-pipelines/src/gooddata_pipelines/api/gooddata_api_wrapper.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/api/gooddata_api_wrapper.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/api/gooddata_api_wrapper.py diff --git a/gooddata-pipelines/gooddata_pipelines/api/gooddata_sdk.py b/packages/gooddata-pipelines/src/gooddata_pipelines/api/gooddata_sdk.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/api/gooddata_sdk.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/api/gooddata_sdk.py diff --git a/gooddata-pipelines/gooddata_pipelines/api/utils.py b/packages/gooddata-pipelines/src/gooddata_pipelines/api/utils.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/api/utils.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/api/utils.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/backup_input_processor.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/backup_input_processor.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/backup_input_processor.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/backup_input_processor.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/backup_manager.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/backup_manager.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/backup_manager.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/backup_manager.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/constants.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/constants.py similarity index 96% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/constants.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/constants.py index 27a9ce29b..59c47061a 100644 --- a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/constants.py +++ b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/constants.py @@ -1,3 +1,4 @@ +# (C) 2025 GoodData Corporation import datetime from dataclasses import dataclass diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/csv_reader.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/csv_reader.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/csv_reader.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/csv_reader.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/models/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/models/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/models/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/models/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/models/input_type.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/models/input_type.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/models/input_type.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/models/input_type.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/models/storage.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/models/storage.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/models/storage.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/models/storage.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/models/workspace_response.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/models/workspace_response.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/models/workspace_response.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/models/workspace_response.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/storage/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/storage/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/storage/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/storage/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/storage/base_storage.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/storage/base_storage.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/storage/base_storage.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/storage/base_storage.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/storage/local_storage.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/storage/local_storage.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/storage/local_storage.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/storage/local_storage.py diff --git a/gooddata-pipelines/gooddata_pipelines/backup_and_restore/storage/s3_storage.py b/packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/storage/s3_storage.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/backup_and_restore/storage/s3_storage.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/backup_and_restore/storage/s3_storage.py diff --git a/gooddata-pipelines/gooddata_pipelines/logger/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/logger/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/logger/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/logger/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/logger/logger.py b/packages/gooddata-pipelines/src/gooddata_pipelines/logger/logger.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/logger/logger.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/logger/logger.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/assets/wdf_setting.json b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/assets/wdf_setting.json similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/assets/wdf_setting.json rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/assets/wdf_setting.json diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/user_data_filters/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/user_data_filters/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/user_data_filters/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/user_data_filters/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/user_data_filters/models/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/user_data_filters/models/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/user_data_filters/models/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/user_data_filters/models/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/user_data_filters/models/udf_models.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/user_data_filters/models/udf_models.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/user_data_filters/models/udf_models.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/user_data_filters/models/udf_models.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/user_data_filters/user_data_filters.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/user_data_filters/user_data_filters.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/user_data_filters/user_data_filters.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/user_data_filters/user_data_filters.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/models/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/models/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/models/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/models/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/models/permissions.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/models/permissions.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/models/permissions.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/models/permissions.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/models/user_groups.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/models/user_groups.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/models/user_groups.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/models/user_groups.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/models/users.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/models/users.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/models/users.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/models/users.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/permissions.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/permissions.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/permissions.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/permissions.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/user_groups.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/user_groups.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/user_groups.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/user_groups.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/users.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/users.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/users/users.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/users/users.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/models.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/models.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/models.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/models.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/workspace.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/workspace.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/workspace.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/workspace.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_filters.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_filters.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_filters.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_filters.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_parser.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_parser.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_parser.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_parser.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_validator.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_validator.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_validator.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_validator.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/provisioning.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/provisioning.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/provisioning.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/provisioning.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/utils/__init__.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/utils/__init__.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/utils/__init__.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/utils/__init__.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/utils/context_objects.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/utils/context_objects.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/utils/context_objects.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/utils/context_objects.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/utils/exceptions.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/utils/exceptions.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/utils/exceptions.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/utils/exceptions.py diff --git a/gooddata-pipelines/gooddata_pipelines/provisioning/utils/utils.py b/packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/utils/utils.py similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/provisioning/utils/utils.py rename to packages/gooddata-pipelines/src/gooddata_pipelines/provisioning/utils/utils.py diff --git a/gooddata-pipelines/gooddata_pipelines/py.typed b/packages/gooddata-pipelines/src/gooddata_pipelines/py.typed similarity index 100% rename from gooddata-pipelines/gooddata_pipelines/py.typed rename to packages/gooddata-pipelines/src/gooddata_pipelines/py.typed diff --git a/gooddata-pipelines/tests/__init__.py b/packages/gooddata-pipelines/tests/__init__.py similarity index 100% rename from gooddata-pipelines/tests/__init__.py rename to packages/gooddata-pipelines/tests/__init__.py diff --git a/gooddata-pipelines/tests/backup_and_restore/__init__.py b/packages/gooddata-pipelines/tests/backup_and_restore/__init__.py similarity index 100% rename from gooddata-pipelines/tests/backup_and_restore/__init__.py rename to packages/gooddata-pipelines/tests/backup_and_restore/__init__.py diff --git a/gooddata-pipelines/tests/backup_and_restore/test_backup.py b/packages/gooddata-pipelines/tests/backup_and_restore/test_backup.py similarity index 100% rename from gooddata-pipelines/tests/backup_and_restore/test_backup.py rename to packages/gooddata-pipelines/tests/backup_and_restore/test_backup.py diff --git a/gooddata-pipelines/tests/backup_and_restore/test_backup_input_processor.py b/packages/gooddata-pipelines/tests/backup_and_restore/test_backup_input_processor.py similarity index 100% rename from gooddata-pipelines/tests/backup_and_restore/test_backup_input_processor.py rename to packages/gooddata-pipelines/tests/backup_and_restore/test_backup_input_processor.py diff --git a/gooddata-pipelines/tests/conftest.py b/packages/gooddata-pipelines/tests/conftest.py similarity index 100% rename from gooddata-pipelines/tests/conftest.py rename to packages/gooddata-pipelines/tests/conftest.py diff --git a/gooddata-pipelines/tests/data/__init__.py b/packages/gooddata-pipelines/tests/data/__init__.py similarity index 100% rename from gooddata-pipelines/tests/data/__init__.py rename to packages/gooddata-pipelines/tests/data/__init__.py diff --git a/gooddata-pipelines/tests/data/backup/__init__.py b/packages/gooddata-pipelines/tests/data/backup/__init__.py similarity index 100% rename from gooddata-pipelines/tests/data/backup/__init__.py rename to packages/gooddata-pipelines/tests/data/backup/__init__.py diff --git a/gooddata-pipelines/tests/data/backup/test_conf.yaml b/packages/gooddata-pipelines/tests/data/backup/test_conf.yaml similarity index 100% rename from gooddata-pipelines/tests/data/backup/test_conf.yaml rename to packages/gooddata-pipelines/tests/data/backup/test_conf.yaml diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/user_data_filters/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboard_extensions/.gitkeep similarity index 100% rename from gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/user_data_filters/.gitkeep rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboard_extensions/.gitkeep diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/filter_contexts/id.yaml b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboards/.gitkeep similarity index 100% rename from gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/filter_contexts/id.yaml rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboards/.gitkeep diff --git a/gooddata-pipelines/tests/panther/__init__.py b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/dashboard_plugins/.gitkeep similarity index 100% rename from gooddata-pipelines/tests/panther/__init__.py rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/dashboard_plugins/.gitkeep diff --git a/gooddata-pipelines/tests/provisioning/__init__.py b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/filter_contexts/.gitkeep similarity index 100% rename from gooddata-pipelines/tests/provisioning/__init__.py rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/filter_contexts/.gitkeep diff --git a/gooddata-pipelines/tests/provisioning/entities/__init__.py b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/metrics/.gitkeep similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/__init__.py rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/metrics/.gitkeep diff --git a/gooddata-pipelines/tests/provisioning/entities/users/__init__.py b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/visualization_objects/.gitkeep similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/users/__init__.py rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/visualization_objects/.gitkeep diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/datasets/test.yaml b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/datasets/test.yaml similarity index 100% rename from gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/datasets/test.yaml rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/datasets/test.yaml diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/date_instances/testinstance.yaml b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/date_instances/testinstance.yaml similarity index 100% rename from gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/date_instances/testinstance.yaml rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/date_instances/testinstance.yaml diff --git a/gooddata-pipelines/tests/provisioning/entities/workspaces/__init__.py b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboard_extensions/.gitkeep similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/workspaces/__init__.py rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboard_extensions/.gitkeep diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboards/id.yaml b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboards/id.yaml similarity index 100% rename from gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboards/id.yaml rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboards/id.yaml diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/common/__init__.py b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/dashboard_plugins/.gitkeep similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/common/__init__.py rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/dashboard_plugins/.gitkeep diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/filter_contexts/id.yaml b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/filter_contexts/id.yaml new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/filter_contexts/id.yaml @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/metrics/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/metrics/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/metrics/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/visualization_objects/test.yaml b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/visualization_objects/test.yaml similarity index 100% rename from gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/visualization_objects/test.yaml rename to packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/visualization_objects/test.yaml diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/datasets/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/datasets/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/datasets/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/date_instances/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/date_instances/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/date_instances/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboard_extensions/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboard_extensions/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboard_extensions/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboards/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboards/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboards/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/dashboard_plugins/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/dashboard_plugins/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/dashboard_plugins/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/filter_contexts/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/filter_contexts/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/filter_contexts/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/metrics/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/metrics/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/metrics/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/visualization_objects/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/visualization_objects/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/visualization_objects/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/datasets/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/datasets/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/datasets/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/date_instances/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/date_instances/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/date_instances/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/user_data_filters/.gitkeep b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/user_data_filters/.gitkeep new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/user_data_filters/.gitkeep @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/gooddata-pipelines/tests/data/backup/test_local_conf.yaml b/packages/gooddata-pipelines/tests/data/backup/test_local_conf.yaml similarity index 100% rename from gooddata-pipelines/tests/data/backup/test_local_conf.yaml rename to packages/gooddata-pipelines/tests/data/backup/test_local_conf.yaml diff --git a/gooddata-pipelines/tests/data/mock_responses.py b/packages/gooddata-pipelines/tests/data/mock_responses.py similarity index 100% rename from gooddata-pipelines/tests/data/mock_responses.py rename to packages/gooddata-pipelines/tests/data/mock_responses.py diff --git a/packages/gooddata-pipelines/tests/panther/__init__.py b/packages/gooddata-pipelines/tests/panther/__init__.py new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/panther/__init__.py @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/gooddata-pipelines/tests/panther/test_api_wrapper.py b/packages/gooddata-pipelines/tests/panther/test_api_wrapper.py similarity index 100% rename from gooddata-pipelines/tests/panther/test_api_wrapper.py rename to packages/gooddata-pipelines/tests/panther/test_api_wrapper.py diff --git a/gooddata-pipelines/tests/panther/test_sdk_wrapper.py b/packages/gooddata-pipelines/tests/panther/test_sdk_wrapper.py similarity index 100% rename from gooddata-pipelines/tests/panther/test_sdk_wrapper.py rename to packages/gooddata-pipelines/tests/panther/test_sdk_wrapper.py diff --git a/packages/gooddata-pipelines/tests/provisioning/__init__.py b/packages/gooddata-pipelines/tests/provisioning/__init__.py new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/provisioning/__init__.py @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/provisioning/entities/__init__.py b/packages/gooddata-pipelines/tests/provisioning/entities/__init__.py new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/provisioning/entities/__init__.py @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/packages/gooddata-pipelines/tests/provisioning/entities/users/__init__.py b/packages/gooddata-pipelines/tests/provisioning/entities/users/__init__.py new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/provisioning/entities/users/__init__.py @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/gooddata-pipelines/tests/provisioning/entities/users/test_permissions.py b/packages/gooddata-pipelines/tests/provisioning/entities/users/test_permissions.py similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/users/test_permissions.py rename to packages/gooddata-pipelines/tests/provisioning/entities/users/test_permissions.py diff --git a/gooddata-pipelines/tests/provisioning/entities/users/test_user_groups.py b/packages/gooddata-pipelines/tests/provisioning/entities/users/test_user_groups.py similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/users/test_user_groups.py rename to packages/gooddata-pipelines/tests/provisioning/entities/users/test_user_groups.py diff --git a/gooddata-pipelines/tests/provisioning/entities/users/test_users.py b/packages/gooddata-pipelines/tests/provisioning/entities/users/test_users.py similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/users/test_users.py rename to packages/gooddata-pipelines/tests/provisioning/entities/users/test_users.py diff --git a/packages/gooddata-pipelines/tests/provisioning/entities/workspaces/__init__.py b/packages/gooddata-pipelines/tests/provisioning/entities/workspaces/__init__.py new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-pipelines/tests/provisioning/entities/workspaces/__init__.py @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/gooddata-pipelines/tests/provisioning/entities/workspaces/test_provisioning.py b/packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_provisioning.py similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/workspaces/test_provisioning.py rename to packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_provisioning.py diff --git a/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace.py b/packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace.py similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace.py rename to packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace.py diff --git a/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_filters.py b/packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_filters.py similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_filters.py rename to packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_filters.py diff --git a/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_parser.py b/packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_parser.py similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_parser.py rename to packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_parser.py diff --git a/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_validator.py b/packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_validator.py similarity index 100% rename from gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_validator.py rename to packages/gooddata-pipelines/tests/provisioning/entities/workspaces/test_workspace_data_validator.py diff --git a/gooddata-pipelines/tox.ini b/packages/gooddata-pipelines/tox.ini similarity index 100% rename from gooddata-pipelines/tox.ini rename to packages/gooddata-pipelines/tox.ini diff --git a/gooddata-sdk/.gitignore b/packages/gooddata-sdk/.gitignore similarity index 100% rename from gooddata-sdk/.gitignore rename to packages/gooddata-sdk/.gitignore diff --git a/packages/gooddata-sdk/LICENSE.txt b/packages/gooddata-sdk/LICENSE.txt new file mode 120000 index 000000000..6c98ea389 --- /dev/null +++ b/packages/gooddata-sdk/LICENSE.txt @@ -0,0 +1 @@ +../../OSS LICENSES/LICENSE (gooddata-sdk).txt \ No newline at end of file diff --git a/gooddata-sdk/MANIFEST.in b/packages/gooddata-sdk/MANIFEST.in similarity index 100% rename from gooddata-sdk/MANIFEST.in rename to packages/gooddata-sdk/MANIFEST.in diff --git a/gooddata-sdk/Makefile b/packages/gooddata-sdk/Makefile similarity index 50% rename from gooddata-sdk/Makefile rename to packages/gooddata-sdk/Makefile index d72722c8e..c2d878b48 100644 --- a/gooddata-sdk/Makefile +++ b/packages/gooddata-sdk/Makefile @@ -1,2 +1,2 @@ # (C) 2021 GoodData Corporation -include ../project_common.mk +include ../../project_common.mk diff --git a/gooddata-sdk/README.md b/packages/gooddata-sdk/README.md similarity index 100% rename from gooddata-sdk/README.md rename to packages/gooddata-sdk/README.md diff --git a/gooddata-sdk/bin/gdc b/packages/gooddata-sdk/bin/gdc similarity index 100% rename from gooddata-sdk/bin/gdc rename to packages/gooddata-sdk/bin/gdc diff --git a/gooddata-sdk/mypy.ini b/packages/gooddata-sdk/mypy.ini similarity index 100% rename from gooddata-sdk/mypy.ini rename to packages/gooddata-sdk/mypy.ini diff --git a/packages/gooddata-sdk/pyproject.toml b/packages/gooddata-sdk/pyproject.toml new file mode 100644 index 000000000..9f2ae927f --- /dev/null +++ b/packages/gooddata-sdk/pyproject.toml @@ -0,0 +1,88 @@ +# (C) 2025 GoodData Corporation +[project] +name = "gooddata-sdk" +version = "1.45.0" +description = "GoodData Cloud Python SDK" +readme = "README.md" +license = {text = "MIT"} +authors = [ + {name = "GoodData", email = "support@gooddata.com"} +] +keywords = [ + "gooddata", + "sdk", + "api", + "analytics", + "headless", + "business", + "intelligence", + "headless-bi", + "cloud", + "native", + "semantic", + "layer", + "sql", + "metrics", +] +requires-python = ">=3.9.0" +dependencies = [ + "gooddata-api-client~=1.45.0", + "python-dateutil>=2.5.3", + "pyyaml>=6.0", + "attrs>=21.4.0,<=24.2.0", + "cattrs>=22.1.0,<=24.1.1", + "brotli==1.1.0", + "requests~=2.32.0", + "python-dotenv>=1.0.0,<2.0.0", +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Database", + "Topic :: Scientific/Engineering", + "Topic :: Software Development", + "Typing :: Typed", +] + +[project.urls] +Documentation = "https://www.gooddata.com/docs/python-sdk/1.45.0" +Source = "https://github.com/gooddata/gooddata-python-sdk" + +[project.scripts] +gdc = "gooddata_sdk.cli.main:main" + +[dependency-groups] +test = [ + "pytest~=8.3.4", + "pytest-cov~=6.0.0", + "pytest-snapshot==0.9.0", + "pytest-order~=1.3.0", + "vcrpy~=7.0.0", + "urllib3==1.26.9", + "python-dotenv~=1.0.0", + "deepdiff~=8.5.0" +] +type = [ + "mypy~=1.11.2", + "pydantic~=2.9.2", + "types-python-dateutil >= 2.5.3", + "types-pyyaml~=6.0.0", + "attrs>=21.4.0,<=24.2.0", + "cattrs>=22.1.0,<=24.1.1", +] + +[tool.hatch.build.targets.wheel] +packages = ["src/gooddata_sdk"] +include = [ + "gooddata_sdk/cli/package.json", +] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/gooddata-sdk/gooddata_sdk/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/_version.py b/packages/gooddata-sdk/src/gooddata_sdk/_version.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/_version.py rename to packages/gooddata-sdk/src/gooddata_sdk/_version.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/base.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/base.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/base.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/base.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/catalog_service_base.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/catalog_service_base.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/catalog_service_base.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/catalog_service_base.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/requests/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/requests/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/requests/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/requests/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/requests/ldm_request.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/requests/ldm_request.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/requests/ldm_request.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/requests/ldm_request.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/requests/scan_model_request.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/requests/scan_model_request.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/requests/scan_model_request.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/requests/scan_model_request.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/requests/scan_sql_request.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/requests/scan_sql_request.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/requests/scan_sql_request.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/requests/scan_sql_request.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/responses/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/responses/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/responses/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/responses/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/responses/scan_sql_response.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/responses/scan_sql_response.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/responses/scan_sql_response.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/responses/scan_sql_response.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/sql_column.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/sql_column.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/action_model/sql_column.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/action_model/sql_column.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/data_source.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/data_source.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/data_source.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/data_source.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/physical_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/physical_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/physical_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/physical_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/physical_model/column.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/physical_model/column.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/physical_model/column.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/physical_model/column.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/physical_model/pdm.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/physical_model/pdm.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/physical_model/pdm.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/physical_model/pdm.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/physical_model/table.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/physical_model/table.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/declarative_model/physical_model/table.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/declarative_model/physical_model/table.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/entity_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/entity_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/entity_model/content_objects/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/content_objects/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/entity_model/content_objects/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/content_objects/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/entity_model/data_source.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/entity_model/data_source.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/entity_model/data_source.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/service.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/service.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/service.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/service.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/validation/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/validation/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/validation/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/validation/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/data_source/validation/data_source.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/validation/data_source.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/data_source/validation/data_source.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/data_source/validation/data_source.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/depends_on.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/depends_on.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/depends_on.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/depends_on.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/entity.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/entity.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/entity.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/entity.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/export/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/export/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/export/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/export/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/export/request.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/export/request.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/export/request.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/export/request.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/export/service.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/export/service.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/export/service.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/export/service.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/filter_by.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/filter_by.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/filter_by.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/filter_by.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/identifier.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/identifier.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/identifier.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/identifier.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/__init__.py diff --git a/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/__init__.py new file mode 100644 index 000000000..37d863d60 --- /dev/null +++ b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/__init__.py @@ -0,0 +1 @@ +# (C) 2025 GoodData Corporation diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/common/dashboard_slides_template.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/dashboard_slides_template.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/common/dashboard_slides_template.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/dashboard_slides_template.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/common/running_section.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/running_section.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/common/running_section.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/running_section.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/common/slide_template.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/slide_template.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/common/slide_template.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/slide_template.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/common/widget_slides_template.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/widget_slides_template.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/common/widget_slides_template.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/common/widget_slides_template.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/directive.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/directive.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/directive.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/directive.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/export_template.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/export_template.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/export_template.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/export_template.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/identity_provider.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/identity_provider.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/identity_provider.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/identity_provider.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/jwk.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/jwk.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/jwk.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/jwk.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/llm_endpoint.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/llm_endpoint.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/llm_endpoint.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/llm_endpoint.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/organization.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/organization.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/organization.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/organization.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/setting.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/setting.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/entity_model/setting.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/setting.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/layout/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/layout/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/layout/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/layout/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/layout/export_template.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/layout/export_template.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/layout/export_template.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/layout/export_template.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/layout/identity_provider.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/layout/identity_provider.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/layout/identity_provider.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/layout/identity_provider.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/layout/notification_channel.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/layout/notification_channel.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/layout/notification_channel.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/layout/notification_channel.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/organization/service.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/service.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/organization/service.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/service.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/parameter.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/parameter.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/parameter.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/parameter.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/permission/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/dashboard_assignees.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/dashboard_assignees.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/dashboard_assignees.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/dashboard_assignees.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/permission.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/permission.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/permission/declarative_model/permission.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/declarative_model/permission.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/permission/service.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/service.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/permission/service.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/permission/service.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/rule.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/rule.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/rule.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/rule.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/setting.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/setting.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/setting.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/setting.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/types.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/types.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/types.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/types.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/declarative_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/declarative_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/declarative_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/declarative_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/declarative_model/user.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/declarative_model/user.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/declarative_model/user.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/declarative_model/user.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/declarative_model/user_and_user_groups.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/declarative_model/user_and_user_groups.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/declarative_model/user_and_user_groups.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/declarative_model/user_and_user_groups.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/declarative_model/user_group.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/declarative_model/user_group.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/declarative_model/user_group.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/declarative_model/user_group.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/entity_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/entity_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/entity_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/entity_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/entity_model/api_token.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/entity_model/api_token.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/entity_model/api_token.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/entity_model/api_token.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/entity_model/user.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/entity_model/user.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/entity_model/user.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/entity_model/user.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/entity_model/user_group.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/entity_model/user_group.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/entity_model/user_group.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/entity_model/user_group.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/management_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/management_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/management_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/management_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/management_model/management.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/management_model/management.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/management_model/management.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/management_model/management.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/user/service.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/user/service.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/user/service.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/user/service.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/validate_by_item.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/validate_by_item.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/validate_by_item.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/validate_by_item.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/content_service.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/content_service.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/content_service.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/content_service.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/base.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/base.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/base.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/base.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/export_definition.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/export_definition.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/export_definition.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/export_definition.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/automation.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/automation.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/automation.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/automation.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/data_filter_references.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/data_filter_references.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/data_filter_references.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/data_filter_references.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/dataset.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/dataset.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/dataset.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/dataset.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/dataset_extension.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/dataset_extension.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/dataset_extension.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/dataset_extension.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/date_dataset.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/date_dataset.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/date_dataset.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/date_dataset.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/ldm.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/ldm.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/ldm.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/ldm.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/workspace.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/workspace.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/declarative_model/workspace/workspace.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/declarative_model/workspace/workspace.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/content_objects/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/content_objects/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/content_objects/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/content_objects/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/content_objects/dataset.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/content_objects/dataset.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/content_objects/dataset.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/content_objects/dataset.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/content_objects/metric.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/content_objects/metric.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/content_objects/metric.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/content_objects/metric.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/content_objects/workspace_setting.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/content_objects/workspace_setting.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/content_objects/workspace_setting.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/content_objects/workspace_setting.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/filter_view.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/filter_view.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/filter_view.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/filter_view.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/graph_objects/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/graph_objects/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/graph_objects/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/graph_objects/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/graph_objects/graph.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/graph_objects/graph.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/graph_objects/graph.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/graph_objects/graph.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/workspace.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/workspace.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/entity_model/workspace.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/workspace.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/model_container.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/model_container.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/model_container.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/model_container.py diff --git a/gooddata-sdk/gooddata_sdk/catalog/workspace/service.py b/packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/service.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/catalog/workspace/service.py rename to packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/service.py diff --git a/gooddata-sdk/gooddata_sdk/cli/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/cli/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/cli/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/cli/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/cli/clone.py b/packages/gooddata-sdk/src/gooddata_sdk/cli/clone.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/cli/clone.py rename to packages/gooddata-sdk/src/gooddata_sdk/cli/clone.py diff --git a/gooddata-sdk/gooddata_sdk/cli/constants.py b/packages/gooddata-sdk/src/gooddata_sdk/cli/constants.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/cli/constants.py rename to packages/gooddata-sdk/src/gooddata_sdk/cli/constants.py diff --git a/gooddata-sdk/gooddata_sdk/cli/deploy.py b/packages/gooddata-sdk/src/gooddata_sdk/cli/deploy.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/cli/deploy.py rename to packages/gooddata-sdk/src/gooddata_sdk/cli/deploy.py diff --git a/gooddata-sdk/gooddata_sdk/cli/gdc_core.py b/packages/gooddata-sdk/src/gooddata_sdk/cli/gdc_core.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/cli/gdc_core.py rename to packages/gooddata-sdk/src/gooddata_sdk/cli/gdc_core.py diff --git a/gooddata-sdk/gooddata_sdk/cli/package.json b/packages/gooddata-sdk/src/gooddata_sdk/cli/package.json similarity index 100% rename from gooddata-sdk/gooddata_sdk/cli/package.json rename to packages/gooddata-sdk/src/gooddata_sdk/cli/package.json diff --git a/gooddata-sdk/gooddata_sdk/cli/utils.py b/packages/gooddata-sdk/src/gooddata_sdk/cli/utils.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/cli/utils.py rename to packages/gooddata-sdk/src/gooddata_sdk/cli/utils.py diff --git a/gooddata-sdk/gooddata_sdk/client.py b/packages/gooddata-sdk/src/gooddata_sdk/client.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/client.py rename to packages/gooddata-sdk/src/gooddata_sdk/client.py diff --git a/gooddata-sdk/gooddata_sdk/compute/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/compute/compute_to_sdk_converter.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/compute_to_sdk_converter.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/compute_to_sdk_converter.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/compute_to_sdk_converter.py diff --git a/gooddata-sdk/gooddata_sdk/compute/model/__init__.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/model/__init__.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/model/__init__.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/model/__init__.py diff --git a/gooddata-sdk/gooddata_sdk/compute/model/attribute.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/model/attribute.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/model/attribute.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/model/attribute.py diff --git a/gooddata-sdk/gooddata_sdk/compute/model/base.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/model/base.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/model/base.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/model/base.py diff --git a/gooddata-sdk/gooddata_sdk/compute/model/execution.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/model/execution.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/model/execution.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/model/execution.py diff --git a/gooddata-sdk/gooddata_sdk/compute/model/filter.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/model/filter.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/model/filter.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/model/filter.py diff --git a/gooddata-sdk/gooddata_sdk/compute/model/metric.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/model/metric.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/model/metric.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/model/metric.py diff --git a/gooddata-sdk/gooddata_sdk/compute/service.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/service.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/service.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/service.py diff --git a/gooddata-sdk/gooddata_sdk/compute/visualization_to_sdk_converter.py b/packages/gooddata-sdk/src/gooddata_sdk/compute/visualization_to_sdk_converter.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/compute/visualization_to_sdk_converter.py rename to packages/gooddata-sdk/src/gooddata_sdk/compute/visualization_to_sdk_converter.py diff --git a/gooddata-sdk/gooddata_sdk/config.py b/packages/gooddata-sdk/src/gooddata_sdk/config.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/config.py rename to packages/gooddata-sdk/src/gooddata_sdk/config.py diff --git a/gooddata-sdk/gooddata_sdk/py.typed b/packages/gooddata-sdk/src/gooddata_sdk/py.typed similarity index 100% rename from gooddata-sdk/gooddata_sdk/py.typed rename to packages/gooddata-sdk/src/gooddata_sdk/py.typed diff --git a/gooddata-sdk/gooddata_sdk/sdk.py b/packages/gooddata-sdk/src/gooddata_sdk/sdk.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/sdk.py rename to packages/gooddata-sdk/src/gooddata_sdk/sdk.py diff --git a/gooddata-sdk/gooddata_sdk/support.py b/packages/gooddata-sdk/src/gooddata_sdk/support.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/support.py rename to packages/gooddata-sdk/src/gooddata_sdk/support.py diff --git a/gooddata-sdk/gooddata_sdk/table.py b/packages/gooddata-sdk/src/gooddata_sdk/table.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/table.py rename to packages/gooddata-sdk/src/gooddata_sdk/table.py diff --git a/gooddata-sdk/gooddata_sdk/type_converter.py b/packages/gooddata-sdk/src/gooddata_sdk/type_converter.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/type_converter.py rename to packages/gooddata-sdk/src/gooddata_sdk/type_converter.py diff --git a/gooddata-sdk/gooddata_sdk/utils.py b/packages/gooddata-sdk/src/gooddata_sdk/utils.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/utils.py rename to packages/gooddata-sdk/src/gooddata_sdk/utils.py diff --git a/gooddata-sdk/gooddata_sdk/visualization.py b/packages/gooddata-sdk/src/gooddata_sdk/visualization.py similarity index 100% rename from gooddata-sdk/gooddata_sdk/visualization.py rename to packages/gooddata-sdk/src/gooddata_sdk/visualization.py diff --git a/gooddata-sdk/tests/__init__.py b/packages/gooddata-sdk/tests/__init__.py similarity index 100% rename from gooddata-sdk/tests/__init__.py rename to packages/gooddata-sdk/tests/__init__.py diff --git a/gooddata-sdk/tests/catalog/__init__.py b/packages/gooddata-sdk/tests/catalog/__init__.py similarity index 100% rename from gooddata-sdk/tests/catalog/__init__.py rename to packages/gooddata-sdk/tests/catalog/__init__.py diff --git a/gooddata-sdk/tests/catalog/config/test_translate.yaml b/packages/gooddata-sdk/tests/catalog/config/test_translate.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/config/test_translate.yaml rename to packages/gooddata-sdk/tests/catalog/config/test_translate.yaml diff --git a/gooddata-sdk/tests/catalog/expected/declarative_analytics_model.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_analytics_model.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_analytics_model.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_analytics_model.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_analytics_model_child.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_analytics_model_child.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_analytics_model_child.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_analytics_model_child.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_data_sources.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_data_sources.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_data_sources.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_data_sources.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_data_sources_databricks_client_secret.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_data_sources_databricks_client_secret.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_data_sources_databricks_client_secret.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_data_sources_databricks_client_secret.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_data_sources_databricks_token.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_data_sources_databricks_token.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_data_sources_databricks_token.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_data_sources_databricks_token.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_ldm.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_ldm.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_ldm.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_ldm.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_ldm_with_sql_dataset.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_ldm_with_sql_dataset.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_ldm_with_sql_dataset.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_ldm_with_sql_dataset.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_organization_permissions.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_organization_permissions.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_organization_permissions.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_organization_permissions.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_pdm_ldm_request.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_pdm_ldm_request.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_pdm_ldm_request.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_pdm_ldm_request.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_user_data_filters.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_user_data_filters.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_user_data_filters.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_user_data_filters.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_user_groups.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_user_groups.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_user_groups.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_user_groups.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_workspace.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_workspace.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_workspace.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_workspace.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_workspace_data_filters.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_workspace_data_filters.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_workspace_data_filters.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_workspace_data_filters.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_workspace_permissions.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_workspace_permissions.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_workspace_permissions.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_workspace_permissions.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_workspaces.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_workspaces.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_workspaces.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_workspaces.json diff --git a/gooddata-sdk/tests/catalog/expected/declarative_workspaces_snake_case.json b/packages/gooddata-sdk/tests/catalog/expected/declarative_workspaces_snake_case.json similarity index 100% rename from gooddata-sdk/tests/catalog/expected/declarative_workspaces_snake_case.json rename to packages/gooddata-sdk/tests/catalog/expected/declarative_workspaces_snake_case.json diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_cache_strategy.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model_sql_datasets.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model_sql_datasets.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model_sql_datasets.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model_sql_datasets.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model_sql_datasets.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model_sql_datasets.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model_sql_datasets.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_pdm_and_generate_logical_model_sql_datasets.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_schemata.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_schemata.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_schemata.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_schemata.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_scan_sql_without_preview.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_scan_sql_without_preview.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/scan_scan_sql_without_preview.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_scan_sql_without_preview.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql_with_nulls_in_preview.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql_with_nulls_in_preview.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql_with_nulls_in_preview.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/scan_sql_with_nulls_in_preview.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/create_csp_directive.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_csp_directive.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/create_csp_directive.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/create_csp_directive.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/create_jwk.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/create_llm_endpoint.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_llm_endpoint.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/create_llm_endpoint.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/create_llm_endpoint.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/create_organization_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/create_organization_setting.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/create_organization_setting.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/create_organization_setting.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_csp_directive.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_jwk.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/delete_llm_endpoint.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_llm_endpoint.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/delete_llm_endpoint.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_llm_endpoint.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/delete_organization_setting.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/get_llm_endpoint.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/get_llm_endpoint.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/get_llm_endpoint.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/get_llm_endpoint.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/layout_notification_channels.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/layout_notification_channels.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/layout_notification_channels.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/layout_notification_channels.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/list_csp_directives.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_csp_directives.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/list_csp_directives.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/list_csp_directives.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/list_jwk.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/list_llm_endpoints.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_llm_endpoints.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/list_llm_endpoints.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/list_llm_endpoints.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/list_organization_settings.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/list_organization_settings.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/list_organization_settings.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/list_organization_settings.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/update_allowed_origins.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_csp_directive.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_csp_directive.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/update_csp_directive.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/update_csp_directive.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/update_jwk.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_llm_endpoint.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_llm_endpoint.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/update_llm_endpoint.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/update_llm_endpoint.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_organization_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/organization/update_organization_setting.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/organization/update_organization_setting.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/organization/update_organization_setting.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_available_assignees.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/permissions/list_dashboard_permissions.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/manage_dashboard_permissions_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_dashboard_permissions_declarative_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/permissions/manage_dashboard_permissions_declarative_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_dashboard_permissions_declarative_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/manage_organization_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_organization_permissions.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/permissions/manage_organization_permissions.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/permissions/manage_organization_permissions.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_organization_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_organization_permissions.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_organization_permissions.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_organization_permissions.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_api_tokens.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_assign_permissions_bulk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_assign_permissions_bulk.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_assign_permissions_bulk.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_assign_permissions_bulk.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_group_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_group_permissions.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_get_user_group_permissions.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_group_permissions.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_permissions.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_get_user_permissions.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_get_user_permissions.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_group_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_group_permissions.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_group_permissions.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_group_permissions.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_permissions.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_permissions.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_permissions.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_manage_user_permissions.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_revoke_permissions_bulk.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_revoke_permissions_bulk.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_revoke_permissions_bulk.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_revoke_permissions_bulk.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_group.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_add_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_remove_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/test_user_replace_user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/analytics_store_load.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_aggregated_facts.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_aggregated_facts.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_aggregated_facts.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_aggregated_facts.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model_child.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_ldm_and_modify_tables_columns_case.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_ldm_and_modify_tables_columns_case.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_ldm_and_modify_tables_columns_case.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_ldm_and_modify_tables_columns_case.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/explicit_workspace_data_filter.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/export_definition_analytics_layout.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/export_definition_analytics_layout.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/export_definition_analytics_layout.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/export_definition_analytics_layout.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/label_elements.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/ldm_store_load.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/ldm_store_load.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspace_content/ldm_store_load.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspace_content/ldm_store_load.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/add_metadata_locale.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/clean_metadata_locale.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/clean_metadata_locale.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/clean_metadata_locale.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/clean_metadata_locale.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/create_workspace_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/create_workspace_setting.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/create_workspace_setting.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/create_workspace_setting.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/delete_workspace_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/delete_workspace_setting.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/delete_workspace_setting.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/delete_workspace_setting.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_clone_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_user_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_user_data_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_user_data_filters.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_user_data_filters.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_user_data_filters.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_user_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_user_data_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_user_data_filters.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_user_data_filters.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_user_data_filters.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_translate_workspace.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/get_metadata_localization.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_automations.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_automations.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/layout_automations.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_automations.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_filter_views.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_filter_views.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/layout_filter_views.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/layout_filter_views.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/list_workspace_settings.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/list_workspace_settings.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/list_workspace_settings.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/list_workspace_settings.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/set_metadata_localization.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/set_metadata_localization.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/set_metadata_localization.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/set_metadata_localization.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/update_workspace_setting.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/update_workspace_setting.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/update_workspace_setting.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/update_workspace_setting.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_for_user_group.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_for_user_group.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_for_user_group.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_for_user_group.yaml diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml b/packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml rename to packages/gooddata-sdk/tests/catalog/fixtures/workspaces/user_data_filters_life_cycle.yaml diff --git a/gooddata-sdk/tests/catalog/load/data_source_credentials/data_sources_credentials.yaml b/packages/gooddata-sdk/tests/catalog/load/data_source_credentials/data_sources_credentials.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/data_source_credentials/data_sources_credentials.yaml rename to packages/gooddata-sdk/tests/catalog/load/data_source_credentials/data_sources_credentials.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-bigquery-ds/demo-bigquery-ds.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-bigquery-ds/demo-bigquery-ds.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-bigquery-ds/demo-bigquery-ds.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-bigquery-ds/demo-bigquery-ds.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds-databricks-client-secret/demo-test-ds-databricks-client-secret.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds-databricks-client-secret/demo-test-ds-databricks-client-secret.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds-databricks-client-secret/demo-test-ds-databricks-client-secret.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds-databricks-client-secret/demo-test-ds-databricks-client-secret.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds-databricks-token/demo-test-ds-databricks-token.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds-databricks-token/demo-test-ds-databricks-token.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds-databricks-token/demo-test-ds-databricks-token.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds-databricks-token/demo-test-ds-databricks-token.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/demo-test-ds.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/demo-test-ds.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/demo-test-ds.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/demo-test-ds.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/campaign_channels.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/campaign_channels.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/campaign_channels.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/campaign_channels.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/campaigns.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/campaigns.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/campaigns.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/campaigns.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/customers.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/order_lines.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/order_lines.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/order_lines.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/order_lines.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/products.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/products.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-test-ds/pdm/products.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/demo-vertica-ds.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/demo-vertica-ds.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/demo-vertica-ds.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/demo-vertica-ds.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/campaign_channels.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/campaign_channels.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/campaign_channels.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/campaign_channels.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/campaigns.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/campaigns.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/campaigns.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/campaigns.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/customers.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/order_lines.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/order_lines.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/order_lines.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/order_lines.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/products.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/products.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/data_sources/demo-vertica-ds/pdm/products.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/user_groups/user_groups.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/user_groups/user_groups.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/user_groups/user_groups.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/user_groups/user_groups.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/users/users.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/users/users.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/users/users.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/users/users.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/campaign.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/campaign.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/campaign.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/campaign.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/dashboard_plugin.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/dashboard_plugin.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/dashboard_plugin.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/dashboard_plugin.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/product_and_category.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/product_and_category.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/product_and_category.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/analytical_dashboards/product_and_category.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/dashboard_plugins/dashboard_plugin_1.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/dashboard_plugins/dashboard_plugin_1.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/dashboard_plugins/dashboard_plugin_1.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/dashboard_plugins/dashboard_plugin_1.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/dashboard_plugins/dashboard_plugin_2.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/dashboard_plugins/dashboard_plugin_2.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/dashboard_plugins/dashboard_plugin_2.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/dashboard_plugins/dashboard_plugin_2.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/filter_contexts/campaign_name_filter.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/filter_contexts/campaign_name_filter.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/filter_contexts/campaign_name_filter.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/filter_contexts/campaign_name_filter.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/filter_contexts/region_filter.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/filter_contexts/region_filter.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/filter_contexts/region_filter.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/filter_contexts/region_filter.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_active_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_active_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_active_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_active_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_orders.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_orders.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_orders.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_orders.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_top_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_top_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_top_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_top_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_valid_orders.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_valid_orders.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_valid_orders.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/amount_of_valid_orders.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/campaign_spend.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/campaign_spend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/campaign_spend.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/campaign_spend.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/order_amount.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/order_amount.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/order_amount.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/order_amount.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_products.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_products.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_from_top_10_products.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_in_category.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_in_category.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_in_category.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_in_category.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_per_product.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_per_product.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_per_product.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/percent_revenue_per_product.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-clothing.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-clothing.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-clothing.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-clothing.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-electronic.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-electronic.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-electronic.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-electronic.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-home.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-home.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-home.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-home.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-outdoor.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-outdoor.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-outdoor.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue-outdoor.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_per_customer.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_per_customer.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_per_customer.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_per_customer.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_per_dollar_spent.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_per_dollar_spent.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_per_dollar_spent.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_per_dollar_spent.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_top_10.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_top_10.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_top_10.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_top_10.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_top_10_percent.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_top_10_percent.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_top_10_percent.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/revenue_top_10_percent.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/total_revenue-no_filters.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/total_revenue-no_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/total_revenue-no_filters.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/total_revenue-no_filters.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/total_revenue.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/total_revenue.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/total_revenue.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/metrics/total_revenue.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/campaign_spend.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/campaign_spend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/campaign_spend.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/campaign_spend.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/customers_trend.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/customers_trend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/customers_trend.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/customers_trend.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_breakdown.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_breakdown.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_breakdown.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_breakdown.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_categories_pie_chart.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_categories_pie_chart.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_categories_pie_chart.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_categories_pie_chart.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_saleability.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_saleability.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_saleability.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/product_saleability.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_by_category_trend.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_by_category_trend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_by_category_trend.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_by_category_trend.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_by_product.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_by_product.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_by_product.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_by_product.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_trend.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_trend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_trend.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/revenue_trend.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/top_10_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/top_10_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/top_10_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/top_10_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/top_10_products.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/top_10_products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/top_10_products.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/analytics_model/visualization_objects/top_10_products.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/demo.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/demo.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/demo.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/demo.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/campaign_channels.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/campaign_channels.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/campaign_channels.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/campaign_channels.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/campaigns.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/campaigns.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/campaigns.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/campaigns.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/customers.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/order_lines.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/order_lines.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/order_lines.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/order_lines.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/products.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/products.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/datasets/products.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/date_instances/date.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/date_instances/date.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/date_instances/date.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo/ldm/date_instances/date.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/analytics_model/analytical_dashboard_extensions/campaign.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/analytics_model/analytical_dashboard_extensions/campaign.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/analytics_model/analytical_dashboard_extensions/campaign.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/analytics_model/analytical_dashboard_extensions/campaign.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/demo_west.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/demo_west.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/demo_west.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/demo_west.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/ldm/dataset_extensions/order_lines.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/ldm/dataset_extensions/order_lines.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/ldm/dataset_extensions/order_lines.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west/ldm/dataset_extensions/order_lines.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west_california/demo_west_california.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west_california/demo_west_california.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west_california/demo_west_california.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces/demo_west_california/demo_west_california.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces_data_filters/wdf__region.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces_data_filters/wdf__region.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces_data_filters/wdf__region.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces_data_filters/wdf__region.yaml diff --git a/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces_data_filters/wdf__state.yaml b/packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces_data_filters/wdf__state.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces_data_filters/wdf__state.yaml rename to packages/gooddata-sdk/tests/catalog/load/gooddata_layouts/default/workspaces_data_filters/wdf__state.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/campaign.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/campaign.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/campaign.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/campaign.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/dashboard_plugin.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/dashboard_plugin.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/dashboard_plugin.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/dashboard_plugin.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/product_and_category.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/product_and_category.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/product_and_category.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/analytical_dashboards/product_and_category.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/dashboard_plugins/dashboard_plugin_1.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/dashboard_plugins/dashboard_plugin_1.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/dashboard_plugins/dashboard_plugin_1.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/dashboard_plugins/dashboard_plugin_1.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/dashboard_plugins/dashboard_plugin_2.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/dashboard_plugins/dashboard_plugin_2.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/dashboard_plugins/dashboard_plugin_2.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/dashboard_plugins/dashboard_plugin_2.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/filter_contexts/campaign_name_filter.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/filter_contexts/campaign_name_filter.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/filter_contexts/campaign_name_filter.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/filter_contexts/campaign_name_filter.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/filter_contexts/region_filter.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/filter_contexts/region_filter.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/filter_contexts/region_filter.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/filter_contexts/region_filter.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_active_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_active_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_active_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_active_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_orders.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_orders.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_orders.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_orders.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_top_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_top_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_top_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_top_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_valid_orders.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_valid_orders.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_valid_orders.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/amount_of_valid_orders.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/campaign_spend.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/campaign_spend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/campaign_spend.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/campaign_spend.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/order_amount.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/order_amount.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/order_amount.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/order_amount.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_products.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_products.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_from_top_10_products.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_in_category.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_in_category.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_in_category.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_in_category.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_per_product.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_per_product.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_per_product.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/percent_revenue_per_product.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-clothing.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-clothing.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-clothing.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-clothing.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-electronic.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-electronic.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-electronic.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-electronic.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-home.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-home.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-home.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-home.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-outdoor.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-outdoor.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-outdoor.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue-outdoor.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_per_customer.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_per_customer.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_per_customer.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_per_customer.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_per_dollar_spent.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_per_dollar_spent.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_per_dollar_spent.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_per_dollar_spent.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_top_10.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_top_10.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_top_10.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_top_10.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_top_10_percent.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_top_10_percent.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_top_10_percent.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/revenue_top_10_percent.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/total_revenue-no_filters.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/total_revenue-no_filters.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/total_revenue-no_filters.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/total_revenue-no_filters.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/total_revenue.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/total_revenue.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/total_revenue.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/metrics/total_revenue.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/campaign_spend.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/campaign_spend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/campaign_spend.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/campaign_spend.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/customers_trend.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/customers_trend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/customers_trend.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/customers_trend.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_breakdown.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_breakdown.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_breakdown.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_breakdown.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_categories_pie_chart.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_categories_pie_chart.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_categories_pie_chart.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_categories_pie_chart.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_saleability.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_saleability.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_saleability.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/product_saleability.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_by_category_trend.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_by_category_trend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_by_category_trend.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_by_category_trend.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_by_product.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_by_product.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_by_product.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_by_product.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_trend.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_trend.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_trend.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/revenue_trend.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/top_10_customers.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/top_10_customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/top_10_customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/top_10_customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/top_10_products.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/top_10_products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/top_10_products.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/analytics_model/visualization_objects/top_10_products.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/demo_testing.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/demo_testing.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/demo_testing.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/demo_testing.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/campaign_channels.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/campaign_channels.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/campaign_channels.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/campaign_channels.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/campaigns.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/campaigns.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/campaigns.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/campaigns.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/customers.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/customers.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/customers.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/customers.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/order_lines.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/order_lines.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/order_lines.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/order_lines.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/products.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/products.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/products.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/datasets/products.yaml diff --git a/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/date_instances/date.yaml b/packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/date_instances/date.yaml similarity index 100% rename from gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/date_instances/date.yaml rename to packages/gooddata-sdk/tests/catalog/load/workspace_content/gooddata_layouts/default/workspaces/demo_testing/ldm/date_instances/date.yaml diff --git a/gooddata-sdk/tests/catalog/test_catalog_data_source.py b/packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py similarity index 100% rename from gooddata-sdk/tests/catalog/test_catalog_data_source.py rename to packages/gooddata-sdk/tests/catalog/test_catalog_data_source.py diff --git a/gooddata-sdk/tests/catalog/test_catalog_organization.py b/packages/gooddata-sdk/tests/catalog/test_catalog_organization.py similarity index 100% rename from gooddata-sdk/tests/catalog/test_catalog_organization.py rename to packages/gooddata-sdk/tests/catalog/test_catalog_organization.py diff --git a/gooddata-sdk/tests/catalog/test_catalog_permission.py b/packages/gooddata-sdk/tests/catalog/test_catalog_permission.py similarity index 100% rename from gooddata-sdk/tests/catalog/test_catalog_permission.py rename to packages/gooddata-sdk/tests/catalog/test_catalog_permission.py diff --git a/gooddata-sdk/tests/catalog/test_catalog_user_service.py b/packages/gooddata-sdk/tests/catalog/test_catalog_user_service.py similarity index 100% rename from gooddata-sdk/tests/catalog/test_catalog_user_service.py rename to packages/gooddata-sdk/tests/catalog/test_catalog_user_service.py diff --git a/gooddata-sdk/tests/catalog/test_catalog_workspace.py b/packages/gooddata-sdk/tests/catalog/test_catalog_workspace.py similarity index 100% rename from gooddata-sdk/tests/catalog/test_catalog_workspace.py rename to packages/gooddata-sdk/tests/catalog/test_catalog_workspace.py diff --git a/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py b/packages/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py similarity index 100% rename from gooddata-sdk/tests/catalog/test_catalog_workspace_content.py rename to packages/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py diff --git a/gooddata-sdk/tests/catalog/utils.py b/packages/gooddata-sdk/tests/catalog/utils.py similarity index 100% rename from gooddata-sdk/tests/catalog/utils.py rename to packages/gooddata-sdk/tests/catalog/utils.py diff --git a/gooddata-sdk/tests/compute/__init__.py b/packages/gooddata-sdk/tests/compute/__init__.py similarity index 100% rename from gooddata-sdk/tests/compute/__init__.py rename to packages/gooddata-sdk/tests/compute/__init__.py diff --git a/gooddata-sdk/tests/compute/fixtures/ai_chat.yaml b/packages/gooddata-sdk/tests/compute/fixtures/ai_chat.yaml similarity index 100% rename from gooddata-sdk/tests/compute/fixtures/ai_chat.yaml rename to packages/gooddata-sdk/tests/compute/fixtures/ai_chat.yaml diff --git a/gooddata-sdk/tests/compute/fixtures/ai_chat_stream.yaml b/packages/gooddata-sdk/tests/compute/fixtures/ai_chat_stream.yaml similarity index 100% rename from gooddata-sdk/tests/compute/fixtures/ai_chat_stream.yaml rename to packages/gooddata-sdk/tests/compute/fixtures/ai_chat_stream.yaml diff --git a/gooddata-sdk/tests/compute/fixtures/ai_search.yaml b/packages/gooddata-sdk/tests/compute/fixtures/ai_search.yaml similarity index 100% rename from gooddata-sdk/tests/compute/fixtures/ai_search.yaml rename to packages/gooddata-sdk/tests/compute/fixtures/ai_search.yaml diff --git a/gooddata-sdk/tests/compute/fixtures/ai_search_full_params.yaml b/packages/gooddata-sdk/tests/compute/fixtures/ai_search_full_params.yaml similarity index 100% rename from gooddata-sdk/tests/compute/fixtures/ai_search_full_params.yaml rename to packages/gooddata-sdk/tests/compute/fixtures/ai_search_full_params.yaml diff --git a/gooddata-sdk/tests/compute/fixtures/build_exec_def_from_chat_result.yaml b/packages/gooddata-sdk/tests/compute/fixtures/build_exec_def_from_chat_result.yaml similarity index 100% rename from gooddata-sdk/tests/compute/fixtures/build_exec_def_from_chat_result.yaml rename to packages/gooddata-sdk/tests/compute/fixtures/build_exec_def_from_chat_result.yaml diff --git a/gooddata-sdk/tests/compute/fixtures/get_ai_chat_history.yaml b/packages/gooddata-sdk/tests/compute/fixtures/get_ai_chat_history.yaml similarity index 100% rename from gooddata-sdk/tests/compute/fixtures/get_ai_chat_history.yaml rename to packages/gooddata-sdk/tests/compute/fixtures/get_ai_chat_history.yaml diff --git a/gooddata-sdk/tests/compute/fixtures/reset_ai_chat_history.yaml b/packages/gooddata-sdk/tests/compute/fixtures/reset_ai_chat_history.yaml similarity index 100% rename from gooddata-sdk/tests/compute/fixtures/reset_ai_chat_history.yaml rename to packages/gooddata-sdk/tests/compute/fixtures/reset_ai_chat_history.yaml diff --git a/gooddata-sdk/tests/compute/fixtures/set_ai_chat_history_feedback.yaml b/packages/gooddata-sdk/tests/compute/fixtures/set_ai_chat_history_feedback.yaml similarity index 100% rename from gooddata-sdk/tests/compute/fixtures/set_ai_chat_history_feedback.yaml rename to packages/gooddata-sdk/tests/compute/fixtures/set_ai_chat_history_feedback.yaml diff --git a/gooddata-sdk/tests/compute/fixtures/set_ai_chat_history_saved_visualization.yaml b/packages/gooddata-sdk/tests/compute/fixtures/set_ai_chat_history_saved_visualization.yaml similarity index 100% rename from gooddata-sdk/tests/compute/fixtures/set_ai_chat_history_saved_visualization.yaml rename to packages/gooddata-sdk/tests/compute/fixtures/set_ai_chat_history_saved_visualization.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/analytical_dashboards/b2f2d436-9831-4fe0-81df-8c59fd33242b.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/analytical_dashboards/b2f2d436-9831-4fe0-81df-8c59fd33242b.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/analytical_dashboards/b2f2d436-9831-4fe0-81df-8c59fd33242b.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/analytical_dashboards/b2f2d436-9831-4fe0-81df-8c59fd33242b.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/filter_contexts/4717b786-2c2e-4596-adb5-4f8b0ab0e19a.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/filter_contexts/4717b786-2c2e-4596-adb5-4f8b0ab0e19a.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/filter_contexts/4717b786-2c2e-4596-adb5-4f8b0ab0e19a.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/filter_contexts/4717b786-2c2e-4596-adb5-4f8b0ab0e19a.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/filter_contexts/9f2b1f37-befa-450e-a6cc-dc576845c412.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/filter_contexts/9f2b1f37-befa-450e-a6cc-dc576845c412.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/filter_contexts/9f2b1f37-befa-450e-a6cc-dc576845c412.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/filter_contexts/9f2b1f37-befa-450e-a6cc-dc576845c412.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_active_customers.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_active_customers.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_active_customers.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_active_customers.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_orders.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_orders.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_orders.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_orders.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_top_customers.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_top_customers.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_top_customers.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_top_customers.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_valid_orders.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_valid_orders.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_valid_orders.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/amount_of_valid_orders.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/campaign_spend.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/campaign_spend.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/campaign_spend.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/campaign_spend.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/order_amount.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/order_amount.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/order_amount.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/order_amount.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_customers.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_customers.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_percent_products.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_products.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_products.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_products.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_from_top_10_products.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_in_category.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_in_category.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_in_category.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_in_category.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_per_product.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_per_product.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_per_product.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/percent_revenue_per_product.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-clothing.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-clothing.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-clothing.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-clothing.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-electronic.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-electronic.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-electronic.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-electronic.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-home.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-home.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-home.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-home.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-outdoor.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-outdoor.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-outdoor.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue-outdoor.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_per_customer.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_per_customer.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_per_customer.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_per_customer.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_per_dollar_spent.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_per_dollar_spent.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_per_dollar_spent.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_per_dollar_spent.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_top_10.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_top_10.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_top_10.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_top_10.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_top_10_percent.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_top_10_percent.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_top_10_percent.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/revenue_top_10_percent.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/total_revenue-no_filters.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/total_revenue-no_filters.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/total_revenue-no_filters.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/total_revenue-no_filters.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/total_revenue.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/total_revenue.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/total_revenue.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/metrics/total_revenue.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/campaign_spend.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/campaign_spend.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/campaign_spend.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/campaign_spend.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/customers_trend.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/customers_trend.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/customers_trend.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/customers_trend.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/percent_revenue_per_product_by_customer_and_category.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/percentage_of_customers_by_region.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_breakdown.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_breakdown.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_breakdown.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_breakdown.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_categories_pie_chart.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_categories_pie_chart.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_categories_pie_chart.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_categories_pie_chart.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_revenue_comparison-over_previous_period.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_saleability.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_saleability.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_saleability.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/product_saleability.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_and_quantity_by_product_and_category.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_by_category_trend.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_by_category_trend.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_by_category_trend.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_by_category_trend.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_by_product.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_by_product.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_by_product.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_by_product.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_per_usd_vs_spend_by_campaign.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_trend.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_trend.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_trend.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/revenue_trend.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/top_10_customers.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/top_10_customers.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/top_10_customers.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/top_10_customers.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/top_10_products.yaml b/packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/top_10_products.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/top_10_products.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/analytics_model/visualization_objects/top_10_products.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/ldm/datasets/campaign_channels.yaml b/packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/campaign_channels.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/ldm/datasets/campaign_channels.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/campaign_channels.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/ldm/datasets/campaigns.yaml b/packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/campaigns.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/ldm/datasets/campaigns.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/campaigns.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/ldm/datasets/customers.yaml b/packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/customers.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/ldm/datasets/customers.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/customers.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/ldm/datasets/order_lines.yaml b/packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/order_lines.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/ldm/datasets/order_lines.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/order_lines.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/ldm/datasets/products.yaml b/packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/products.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/ldm/datasets/products.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/ldm/datasets/products.yaml diff --git a/gooddata-sdk/tests/compute/load/ai/ldm/date_instances/date.yaml b/packages/gooddata-sdk/tests/compute/load/ai/ldm/date_instances/date.yaml similarity index 100% rename from gooddata-sdk/tests/compute/load/ai/ldm/date_instances/date.yaml rename to packages/gooddata-sdk/tests/compute/load/ai/ldm/date_instances/date.yaml diff --git a/gooddata-sdk/tests/compute/test_compute_service.py b/packages/gooddata-sdk/tests/compute/test_compute_service.py similarity index 100% rename from gooddata-sdk/tests/compute/test_compute_service.py rename to packages/gooddata-sdk/tests/compute/test_compute_service.py diff --git a/gooddata-sdk/tests/compute/test_compute_to_sdk_converter.py b/packages/gooddata-sdk/tests/compute/test_compute_to_sdk_converter.py similarity index 100% rename from gooddata-sdk/tests/compute/test_compute_to_sdk_converter.py rename to packages/gooddata-sdk/tests/compute/test_compute_to_sdk_converter.py diff --git a/gooddata-sdk/tests/compute_model/__init__.py b/packages/gooddata-sdk/tests/compute_model/__init__.py similarity index 100% rename from gooddata-sdk/tests/compute_model/__init__.py rename to packages/gooddata-sdk/tests/compute_model/__init__.py diff --git a/gooddata-sdk/tests/compute_model/afm/attribute_and_filter_.snapshot.json b/packages/gooddata-sdk/tests/compute_model/afm/attribute_and_filter_.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/afm/attribute_and_filter_.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/afm/attribute_and_filter_.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/afm/attribute_and_metric_and_filter_.snapshot.json b/packages/gooddata-sdk/tests/compute_model/afm/attribute_and_metric_and_filter_.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/afm/attribute_and_metric_and_filter_.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/afm/attribute_and_metric_and_filter_.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/afm/attribute_only.snapshot.json b/packages/gooddata-sdk/tests/compute_model/afm/attribute_only.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/afm/attribute_only.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/afm/attribute_only.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/afm/attribute_showAllValues_False.snapshot.json b/packages/gooddata-sdk/tests/compute_model/afm/attribute_showAllValues_False.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/afm/attribute_showAllValues_False.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/afm/attribute_showAllValues_False.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/afm/attribute_showAllValues_True.snapshot.json b/packages/gooddata-sdk/tests/compute_model/afm/attribute_showAllValues_True.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/afm/attribute_showAllValues_True.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/afm/attribute_showAllValues_True.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/afm/metric_and_filter_.snapshot.json b/packages/gooddata-sdk/tests/compute_model/afm/metric_and_filter_.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/afm/metric_and_filter_.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/afm/metric_and_filter_.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/afm/metric_only_.snapshot.json b/packages/gooddata-sdk/tests/compute_model/afm/metric_only_.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/afm/metric_only_.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/afm/metric_only_.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/afm/multiple_attributes_and_metrics_and_filters.snapshot.json b/packages/gooddata-sdk/tests/compute_model/afm/multiple_attributes_and_metrics_and_filters.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/afm/multiple_attributes_and_metrics_and_filters.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/afm/multiple_attributes_and_metrics_and_filters.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/arithmetic_metric/with_operands_using_local_id.snapshot.json b/packages/gooddata-sdk/tests/compute_model/arithmetic_metric/with_operands_using_local_id.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/arithmetic_metric/with_operands_using_local_id.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/arithmetic_metric/with_operands_using_local_id.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/arithmetic_metric/with_operands_using_metrics_by_value.snapshot.json b/packages/gooddata-sdk/tests/compute_model/arithmetic_metric/with_operands_using_metrics_by_value.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/arithmetic_metric/with_operands_using_metrics_by_value.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/arithmetic_metric/with_operands_using_metrics_by_value.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/attribute_filters/empty_negative_attribute_filter.snapshot.json b/packages/gooddata-sdk/tests/compute_model/attribute_filters/empty_negative_attribute_filter.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/attribute_filters/empty_negative_attribute_filter.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/attribute_filters/empty_negative_attribute_filter.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/attribute_filters/empty_positive_attribute_filter.snapshot.json b/packages/gooddata-sdk/tests/compute_model/attribute_filters/empty_positive_attribute_filter.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/attribute_filters/empty_positive_attribute_filter.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/attribute_filters/empty_positive_attribute_filter.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/attribute_filters/negative_filter_using_local_id.snapshot.json b/packages/gooddata-sdk/tests/compute_model/attribute_filters/negative_filter_using_local_id.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/attribute_filters/negative_filter_using_local_id.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/attribute_filters/negative_filter_using_local_id.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/attribute_filters/negative_filter_using_object_id.snapshot.json b/packages/gooddata-sdk/tests/compute_model/attribute_filters/negative_filter_using_object_id.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/attribute_filters/negative_filter_using_object_id.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/attribute_filters/negative_filter_using_object_id.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/attribute_filters/positive_filter_using_local_id.snapshot.json b/packages/gooddata-sdk/tests/compute_model/attribute_filters/positive_filter_using_local_id.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/attribute_filters/positive_filter_using_local_id.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/attribute_filters/positive_filter_using_local_id.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/attribute_filters/positive_filter_using_object_id.snapshot.json b/packages/gooddata-sdk/tests/compute_model/attribute_filters/positive_filter_using_object_id.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/attribute_filters/positive_filter_using_object_id.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/attribute_filters/positive_filter_using_object_id.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/date_filters/absolute_date_filter.snapshot.json b/packages/gooddata-sdk/tests/compute_model/date_filters/absolute_date_filter.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/date_filters/absolute_date_filter.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/date_filters/absolute_date_filter.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/date_filters/relative_date_filter.snapshot.json b/packages/gooddata-sdk/tests/compute_model/date_filters/relative_date_filter.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/date_filters/relative_date_filter.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/date_filters/relative_date_filter.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_using_local_id.snapshot.json b/packages/gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_using_local_id.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_using_local_id.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_using_local_id.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_using_object_id.snapshot.json b/packages/gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_using_object_id.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_using_object_id.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_using_object_id.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_with_treat_nulls_as.snapshot.json b/packages/gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_with_treat_nulls_as.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_with_treat_nulls_as.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/metric_value_filter/comparison_filter_with_treat_nulls_as.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/metric_value_filter/range_filter.snapshot.json b/packages/gooddata-sdk/tests/compute_model/metric_value_filter/range_filter.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/metric_value_filter/range_filter.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/metric_value_filter/range_filter.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/metric_value_filter/range_filter_with_treat_nulls_as.snapshot.json b/packages/gooddata-sdk/tests/compute_model/metric_value_filter/range_filter_with_treat_nulls_as.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/metric_value_filter/range_filter_with_treat_nulls_as.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/metric_value_filter/range_filter_with_treat_nulls_as.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_date_dataset_by_str.snapshot.json b/packages/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_date_dataset_by_str.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/pop_dataset_metric/with_date_dataset_by_str.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_date_dataset_by_str.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_master_metric_by_local_id.snapshot.json b/packages/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_master_metric_by_local_id.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/pop_dataset_metric/with_master_metric_by_local_id.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_master_metric_by_local_id.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_master_metric_passed_by_value.snapshot.json b/packages/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_master_metric_passed_by_value.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/pop_dataset_metric/with_master_metric_passed_by_value.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_master_metric_passed_by_value.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_multiple_date_datasets.snapshot.json b/packages/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_multiple_date_datasets.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/pop_dataset_metric/with_multiple_date_datasets.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/pop_dataset_metric/with_multiple_date_datasets.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/pop_date_metric/with_date_attribute_passed_by_value.snapshot.json b/packages/gooddata-sdk/tests/compute_model/pop_date_metric/with_date_attribute_passed_by_value.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/pop_date_metric/with_date_attribute_passed_by_value.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/pop_date_metric/with_date_attribute_passed_by_value.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/pop_date_metric/with_master_metric_by_local_id.snapshot.json b/packages/gooddata-sdk/tests/compute_model/pop_date_metric/with_master_metric_by_local_id.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/pop_date_metric/with_master_metric_by_local_id.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/pop_date_metric/with_master_metric_by_local_id.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/pop_date_metric/with_master_metric_passed_by_value.snapshot.json b/packages/gooddata-sdk/tests/compute_model/pop_date_metric/with_master_metric_passed_by_value.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/pop_date_metric/with_master_metric_passed_by_value.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/pop_date_metric/with_master_metric_passed_by_value.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/pop_date_metric/with_multiple_pop_date_attributes.snapshot.json b/packages/gooddata-sdk/tests/compute_model/pop_date_metric/with_multiple_pop_date_attributes.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/pop_date_metric/with_multiple_pop_date_attributes.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/pop_date_metric/with_multiple_pop_date_attributes.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/ranking_filter/bottom_ranking_filter.snapshot.json b/packages/gooddata-sdk/tests/compute_model/ranking_filter/bottom_ranking_filter.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/ranking_filter/bottom_ranking_filter.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/ranking_filter/bottom_ranking_filter.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_just_local_ids.snapshot.json b/packages/gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_just_local_ids.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_just_local_ids.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_just_local_ids.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_mix_of_ids_for_dimensionality.snapshot.json b/packages/gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_mix_of_ids_for_dimensionality.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_mix_of_ids_for_dimensionality.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_mix_of_ids_for_dimensionality.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_mix_of_ids_for_measures.snapshot.json b/packages/gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_mix_of_ids_for_measures.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_mix_of_ids_for_measures.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/ranking_filter/ranking_filter_using_mix_of_ids_for_measures.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_MAQL_metric.snapshot.json b/packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_MAQL_metric.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_MAQL_metric.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_MAQL_metric.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_MAQL_metric_and_compute_ratio.snapshot.json b/packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_MAQL_metric_and_compute_ratio.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_MAQL_metric_and_compute_ratio.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_MAQL_metric_and_compute_ratio.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_and_custom_agg.snapshot.json b/packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_and_custom_agg.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_and_custom_agg.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_and_custom_agg.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_and_default_agg.snapshot.json b/packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_and_default_agg.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_and_default_agg.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_and_default_agg.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_compute_ratio.snapshot.json b/packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_compute_ratio.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_compute_ratio.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_using_fact_compute_ratio.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_with_filters.snapshot.json b/packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_with_filters.snapshot.json similarity index 100% rename from gooddata-sdk/tests/compute_model/simple_metric/simple_metric_with_filters.snapshot.json rename to packages/gooddata-sdk/tests/compute_model/simple_metric/simple_metric_with_filters.snapshot.json diff --git a/gooddata-sdk/tests/compute_model/test_arithmetic_metric.py b/packages/gooddata-sdk/tests/compute_model/test_arithmetic_metric.py similarity index 100% rename from gooddata-sdk/tests/compute_model/test_arithmetic_metric.py rename to packages/gooddata-sdk/tests/compute_model/test_arithmetic_metric.py diff --git a/gooddata-sdk/tests/compute_model/test_attribute_filters.py b/packages/gooddata-sdk/tests/compute_model/test_attribute_filters.py similarity index 100% rename from gooddata-sdk/tests/compute_model/test_attribute_filters.py rename to packages/gooddata-sdk/tests/compute_model/test_attribute_filters.py diff --git a/gooddata-sdk/tests/compute_model/test_compute_model.py b/packages/gooddata-sdk/tests/compute_model/test_compute_model.py similarity index 100% rename from gooddata-sdk/tests/compute_model/test_compute_model.py rename to packages/gooddata-sdk/tests/compute_model/test_compute_model.py diff --git a/gooddata-sdk/tests/compute_model/test_date_filters.py b/packages/gooddata-sdk/tests/compute_model/test_date_filters.py similarity index 100% rename from gooddata-sdk/tests/compute_model/test_date_filters.py rename to packages/gooddata-sdk/tests/compute_model/test_date_filters.py diff --git a/gooddata-sdk/tests/compute_model/test_metric_value_filter.py b/packages/gooddata-sdk/tests/compute_model/test_metric_value_filter.py similarity index 100% rename from gooddata-sdk/tests/compute_model/test_metric_value_filter.py rename to packages/gooddata-sdk/tests/compute_model/test_metric_value_filter.py diff --git a/gooddata-sdk/tests/compute_model/test_pop_dataset_metric.py b/packages/gooddata-sdk/tests/compute_model/test_pop_dataset_metric.py similarity index 100% rename from gooddata-sdk/tests/compute_model/test_pop_dataset_metric.py rename to packages/gooddata-sdk/tests/compute_model/test_pop_dataset_metric.py diff --git a/gooddata-sdk/tests/compute_model/test_pop_date_metric.py b/packages/gooddata-sdk/tests/compute_model/test_pop_date_metric.py similarity index 100% rename from gooddata-sdk/tests/compute_model/test_pop_date_metric.py rename to packages/gooddata-sdk/tests/compute_model/test_pop_date_metric.py diff --git a/gooddata-sdk/tests/compute_model/test_ranking_filter.py b/packages/gooddata-sdk/tests/compute_model/test_ranking_filter.py similarity index 100% rename from gooddata-sdk/tests/compute_model/test_ranking_filter.py rename to packages/gooddata-sdk/tests/compute_model/test_ranking_filter.py diff --git a/gooddata-sdk/tests/compute_model/test_simple_metric.py b/packages/gooddata-sdk/tests/compute_model/test_simple_metric.py similarity index 100% rename from gooddata-sdk/tests/compute_model/test_simple_metric.py rename to packages/gooddata-sdk/tests/compute_model/test_simple_metric.py diff --git a/gooddata-sdk/tests/conftest.py b/packages/gooddata-sdk/tests/conftest.py similarity index 100% rename from gooddata-sdk/tests/conftest.py rename to packages/gooddata-sdk/tests/conftest.py diff --git a/gooddata-sdk/tests/export/__init__.py b/packages/gooddata-sdk/tests/export/__init__.py similarity index 100% rename from gooddata-sdk/tests/export/__init__.py rename to packages/gooddata-sdk/tests/export/__init__.py diff --git a/gooddata-sdk/tests/export/exports/.gitkeep b/packages/gooddata-sdk/tests/export/exports/.gitkeep similarity index 100% rename from gooddata-sdk/tests/export/exports/.gitkeep rename to packages/gooddata-sdk/tests/export/exports/.gitkeep diff --git a/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml b/packages/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml similarity index 100% rename from gooddata-sdk/tests/export/fixtures/test_export_csv.yaml rename to packages/gooddata-sdk/tests/export/fixtures/test_export_csv.yaml diff --git a/gooddata-sdk/tests/export/fixtures/test_export_csv_by_visualization_id.yaml b/packages/gooddata-sdk/tests/export/fixtures/test_export_csv_by_visualization_id.yaml similarity index 100% rename from gooddata-sdk/tests/export/fixtures/test_export_csv_by_visualization_id.yaml rename to packages/gooddata-sdk/tests/export/fixtures/test_export_csv_by_visualization_id.yaml diff --git a/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml b/packages/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml similarity index 100% rename from gooddata-sdk/tests/export/fixtures/test_export_excel.yaml rename to packages/gooddata-sdk/tests/export/fixtures/test_export_excel.yaml diff --git a/gooddata-sdk/tests/export/fixtures/test_export_excel_by_visualization_id.yaml b/packages/gooddata-sdk/tests/export/fixtures/test_export_excel_by_visualization_id.yaml similarity index 100% rename from gooddata-sdk/tests/export/fixtures/test_export_excel_by_visualization_id.yaml rename to packages/gooddata-sdk/tests/export/fixtures/test_export_excel_by_visualization_id.yaml diff --git a/gooddata-sdk/tests/export/test_export_service.py b/packages/gooddata-sdk/tests/export/test_export_service.py similarity index 100% rename from gooddata-sdk/tests/export/test_export_service.py rename to packages/gooddata-sdk/tests/export/test_export_service.py diff --git a/gooddata-sdk/tests/gd_test_config.yaml b/packages/gooddata-sdk/tests/gd_test_config.yaml similarity index 100% rename from gooddata-sdk/tests/gd_test_config.yaml rename to packages/gooddata-sdk/tests/gd_test_config.yaml diff --git a/gooddata-sdk/tests/overview.md b/packages/gooddata-sdk/tests/overview.md similarity index 100% rename from gooddata-sdk/tests/overview.md rename to packages/gooddata-sdk/tests/overview.md diff --git a/gooddata-sdk/tests/sdk/__init__.py b/packages/gooddata-sdk/tests/sdk/__init__.py similarity index 100% rename from gooddata-sdk/tests/sdk/__init__.py rename to packages/gooddata-sdk/tests/sdk/__init__.py diff --git a/gooddata-sdk/tests/sdk/profiles/corrupted.yaml b/packages/gooddata-sdk/tests/sdk/profiles/corrupted.yaml similarity index 100% rename from gooddata-sdk/tests/sdk/profiles/corrupted.yaml rename to packages/gooddata-sdk/tests/sdk/profiles/corrupted.yaml diff --git a/gooddata-sdk/tests/sdk/profiles/gooddata.yaml b/packages/gooddata-sdk/tests/sdk/profiles/gooddata.yaml similarity index 100% rename from gooddata-sdk/tests/sdk/profiles/gooddata.yaml rename to packages/gooddata-sdk/tests/sdk/profiles/gooddata.yaml diff --git a/gooddata-sdk/tests/sdk/profiles/profiles.yaml b/packages/gooddata-sdk/tests/sdk/profiles/profiles.yaml similarity index 100% rename from gooddata-sdk/tests/sdk/profiles/profiles.yaml rename to packages/gooddata-sdk/tests/sdk/profiles/profiles.yaml diff --git a/gooddata-sdk/tests/sdk/test_sdk.py b/packages/gooddata-sdk/tests/sdk/test_sdk.py similarity index 100% rename from gooddata-sdk/tests/sdk/test_sdk.py rename to packages/gooddata-sdk/tests/sdk/test_sdk.py diff --git a/gooddata-sdk/tests/support/__init__.py b/packages/gooddata-sdk/tests/support/__init__.py similarity index 100% rename from gooddata-sdk/tests/support/__init__.py rename to packages/gooddata-sdk/tests/support/__init__.py diff --git a/gooddata-sdk/tests/support/fixtures/is_available.yaml b/packages/gooddata-sdk/tests/support/fixtures/is_available.yaml similarity index 100% rename from gooddata-sdk/tests/support/fixtures/is_available.yaml rename to packages/gooddata-sdk/tests/support/fixtures/is_available.yaml diff --git a/gooddata-sdk/tests/support/fixtures/is_available_no_access.yaml b/packages/gooddata-sdk/tests/support/fixtures/is_available_no_access.yaml similarity index 100% rename from gooddata-sdk/tests/support/fixtures/is_available_no_access.yaml rename to packages/gooddata-sdk/tests/support/fixtures/is_available_no_access.yaml diff --git a/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml b/packages/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml similarity index 100% rename from gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml rename to packages/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml diff --git a/gooddata-sdk/tests/support/test_support.py b/packages/gooddata-sdk/tests/support/test_support.py similarity index 100% rename from gooddata-sdk/tests/support/test_support.py rename to packages/gooddata-sdk/tests/support/test_support.py diff --git a/gooddata-sdk/tests/table/__init__.py b/packages/gooddata-sdk/tests/table/__init__.py similarity index 100% rename from gooddata-sdk/tests/table/__init__.py rename to packages/gooddata-sdk/tests/table/__init__.py diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml similarity index 100% rename from gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml rename to packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml similarity index 100% rename from gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml rename to packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml similarity index 100% rename from gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml rename to packages/gooddata-sdk/tests/table/fixtures/table_with_attribute_show_all_values.yaml diff --git a/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml similarity index 100% rename from gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml rename to packages/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml diff --git a/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml b/packages/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml similarity index 100% rename from gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml rename to packages/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/1rt.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/1rt.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/1rt.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/1rt.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/1rt_1cattr.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/1rt_1cattr.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/1rt_1cattr.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/1rt_1cattr.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2ct_2crt_2cattrs.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2ct_2crt_2cattrs.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2ct_2crt_2cattrs.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2ct_2crt_2cattrs.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2rt.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2rt.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1cattr.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1cattr.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1cattr.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1cattr.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1ct_1rrt_1cattr.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1ct_1rrt_1cattr.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1ct_1rrt_1cattr.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1ct_1rrt_1cattr.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1rrt.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1rrt.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1rrt.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1rrt.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1rrt_1cattr.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1rrt_1cattr.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1rrt_1cattr.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_1rrt_1cattr.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_1cattr.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_1cattr.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_1cattr.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_1cattr.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_2cattr.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_2cattr.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_2cattr.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_2cattr.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_2crt_2cattr.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_2crt_2cattr.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_2crt_2cattr.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2ct_1rrt_2crt_2cattr.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2rrt.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2rrt.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2rrt.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/2rt_2rrt.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/fancy.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/fancy.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_transposed.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_transposed.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/fancy_transposed.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_transposed.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort_2.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort_2.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort_2.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort_2.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort_transposed.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort_transposed.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort_transposed.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/fancy_with_sort_transposed.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/no_totals.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/no_totals.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/no_totals.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/no_totals.json diff --git a/gooddata-sdk/tests/table/fixtures/vis_objs/no_totals_1cattr.json b/packages/gooddata-sdk/tests/table/fixtures/vis_objs/no_totals_1cattr.json similarity index 100% rename from gooddata-sdk/tests/table/fixtures/vis_objs/no_totals_1cattr.json rename to packages/gooddata-sdk/tests/table/fixtures/vis_objs/no_totals_1cattr.json diff --git a/gooddata-sdk/tests/table/snapshots/1rt.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/1rt.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/1rt.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/1rt.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/1rt_1cattr.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/1rt_1cattr.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/1rt_1cattr.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/1rt_1cattr.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2ct_2crt_2cattrs.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2ct_2crt_2cattrs.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2ct_2crt_2cattrs.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2ct_2crt_2cattrs.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2rt.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2rt.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2rt.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2rt.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2rt_1cattr.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2rt_1cattr.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2rt_1cattr.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2rt_1cattr.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2rt_1ct_1rrt_1cattr.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2rt_1ct_1rrt_1cattr.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2rt_1ct_1rrt_1cattr.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2rt_1ct_1rrt_1cattr.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2rt_1rrt.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2rt_1rrt.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2rt_1rrt.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2rt_1rrt.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2rt_1rrt_1cattr.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2rt_1rrt_1cattr.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2rt_1rrt_1cattr.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2rt_1rrt_1cattr.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_1cattr.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_1cattr.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_1cattr.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_1cattr.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_2cattr.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_2cattr.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_2cattr.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_2cattr.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_2crt_2cattr.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_2crt_2cattr.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_2crt_2cattr.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2rt_2ct_1rrt_2crt_2cattr.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/2rt_2rrt.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/2rt_2rrt.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/2rt_2rrt.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/2rt_2rrt.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/fancy.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/fancy.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/fancy.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/fancy.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/fancy_transposed.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/fancy_transposed.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/fancy_transposed.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/fancy_transposed.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/fancy_with_sort.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/fancy_with_sort.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/fancy_with_sort.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/fancy_with_sort.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/fancy_with_sort_2.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/fancy_with_sort_2.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/fancy_with_sort_2.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/fancy_with_sort_2.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/fancy_with_sort_transposed.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/fancy_with_sort_transposed.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/fancy_with_sort_transposed.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/fancy_with_sort_transposed.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/no_totals.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/no_totals.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/no_totals.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/no_totals.snapshot.json diff --git a/gooddata-sdk/tests/table/snapshots/no_totals_1cattr.snapshot.json b/packages/gooddata-sdk/tests/table/snapshots/no_totals_1cattr.snapshot.json similarity index 100% rename from gooddata-sdk/tests/table/snapshots/no_totals_1cattr.snapshot.json rename to packages/gooddata-sdk/tests/table/snapshots/no_totals_1cattr.snapshot.json diff --git a/gooddata-sdk/tests/table/test_table.py b/packages/gooddata-sdk/tests/table/test_table.py similarity index 100% rename from gooddata-sdk/tests/table/test_table.py rename to packages/gooddata-sdk/tests/table/test_table.py diff --git a/gooddata-sdk/tests/test_client.py b/packages/gooddata-sdk/tests/test_client.py similarity index 100% rename from gooddata-sdk/tests/test_client.py rename to packages/gooddata-sdk/tests/test_client.py diff --git a/gooddata-sdk/tests/test_type_converter.py b/packages/gooddata-sdk/tests/test_type_converter.py similarity index 100% rename from gooddata-sdk/tests/test_type_converter.py rename to packages/gooddata-sdk/tests/test_type_converter.py diff --git a/gooddata-sdk/tests/utils/__init__.py b/packages/gooddata-sdk/tests/utils/__init__.py similarity index 100% rename from gooddata-sdk/tests/utils/__init__.py rename to packages/gooddata-sdk/tests/utils/__init__.py diff --git a/gooddata-sdk/tests/utils/test_dictionary.json b/packages/gooddata-sdk/tests/utils/test_dictionary.json similarity index 100% rename from gooddata-sdk/tests/utils/test_dictionary.json rename to packages/gooddata-sdk/tests/utils/test_dictionary.json diff --git a/gooddata-sdk/tests/utils/test_utils.py b/packages/gooddata-sdk/tests/utils/test_utils.py similarity index 100% rename from gooddata-sdk/tests/utils/test_utils.py rename to packages/gooddata-sdk/tests/utils/test_utils.py diff --git a/gooddata-sdk/tests/visualization/__init__.py b/packages/gooddata-sdk/tests/visualization/__init__.py similarity index 100% rename from gooddata-sdk/tests/visualization/__init__.py rename to packages/gooddata-sdk/tests/visualization/__init__.py diff --git a/gooddata-sdk/tests/visualization/fixtures.py b/packages/gooddata-sdk/tests/visualization/fixtures.py similarity index 100% rename from gooddata-sdk/tests/visualization/fixtures.py rename to packages/gooddata-sdk/tests/visualization/fixtures.py diff --git a/gooddata-sdk/tests/visualization/resources/one_metric_date_attribute_show_all_values.json b/packages/gooddata-sdk/tests/visualization/resources/one_metric_date_attribute_show_all_values.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/one_metric_date_attribute_show_all_values.json rename to packages/gooddata-sdk/tests/visualization/resources/one_metric_date_attribute_show_all_values.json diff --git a/gooddata-sdk/tests/visualization/resources/one_metric_two_attributes.json b/packages/gooddata-sdk/tests/visualization/resources/one_metric_two_attributes.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/one_metric_two_attributes.json rename to packages/gooddata-sdk/tests/visualization/resources/one_metric_two_attributes.json diff --git a/gooddata-sdk/tests/visualization/resources/single_attribute.json b/packages/gooddata-sdk/tests/visualization/resources/single_attribute.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/single_attribute.json rename to packages/gooddata-sdk/tests/visualization/resources/single_attribute.json diff --git a/gooddata-sdk/tests/visualization/resources/two_metrics_multiple_attribute_buckets.json b/packages/gooddata-sdk/tests/visualization/resources/two_metrics_multiple_attribute_buckets.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/two_metrics_multiple_attribute_buckets.json rename to packages/gooddata-sdk/tests/visualization/resources/two_metrics_multiple_attribute_buckets.json diff --git a/gooddata-sdk/tests/visualization/resources/with_arithmetic_metric.json b/packages/gooddata-sdk/tests/visualization/resources/with_arithmetic_metric.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/with_arithmetic_metric.json rename to packages/gooddata-sdk/tests/visualization/resources/with_arithmetic_metric.json diff --git a/gooddata-sdk/tests/visualization/resources/with_attribute_filters.json b/packages/gooddata-sdk/tests/visualization/resources/with_attribute_filters.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/with_attribute_filters.json rename to packages/gooddata-sdk/tests/visualization/resources/with_attribute_filters.json diff --git a/gooddata-sdk/tests/visualization/resources/with_date_filters.json b/packages/gooddata-sdk/tests/visualization/resources/with_date_filters.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/with_date_filters.json rename to packages/gooddata-sdk/tests/visualization/resources/with_date_filters.json diff --git a/gooddata-sdk/tests/visualization/resources/with_funky_attribute_filters.json b/packages/gooddata-sdk/tests/visualization/resources/with_funky_attribute_filters.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/with_funky_attribute_filters.json rename to packages/gooddata-sdk/tests/visualization/resources/with_funky_attribute_filters.json diff --git a/gooddata-sdk/tests/visualization/resources/with_metric_value_filter.json b/packages/gooddata-sdk/tests/visualization/resources/with_metric_value_filter.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/with_metric_value_filter.json rename to packages/gooddata-sdk/tests/visualization/resources/with_metric_value_filter.json diff --git a/gooddata-sdk/tests/visualization/resources/with_pop_metric.json b/packages/gooddata-sdk/tests/visualization/resources/with_pop_metric.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/with_pop_metric.json rename to packages/gooddata-sdk/tests/visualization/resources/with_pop_metric.json diff --git a/gooddata-sdk/tests/visualization/resources/with_previous_period_metric.json b/packages/gooddata-sdk/tests/visualization/resources/with_previous_period_metric.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/with_previous_period_metric.json rename to packages/gooddata-sdk/tests/visualization/resources/with_previous_period_metric.json diff --git a/gooddata-sdk/tests/visualization/resources/with_ranking_filter.json b/packages/gooddata-sdk/tests/visualization/resources/with_ranking_filter.json similarity index 100% rename from gooddata-sdk/tests/visualization/resources/with_ranking_filter.json rename to packages/gooddata-sdk/tests/visualization/resources/with_ranking_filter.json diff --git a/gooddata-sdk/tests/visualization/snapshots/one_metric_date_attribute_show_all_values.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/one_metric_date_attribute_show_all_values.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/one_metric_date_attribute_show_all_values.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/one_metric_date_attribute_show_all_values.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/one_metric_two_attributes.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/one_metric_two_attributes.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/one_metric_two_attributes.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/one_metric_two_attributes.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/single_attribute.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/single_attribute.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/single_attribute.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/single_attribute.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/two_metrics_multiple_attribute_buckets.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/two_metrics_multiple_attribute_buckets.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/two_metrics_multiple_attribute_buckets.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/two_metrics_multiple_attribute_buckets.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/with_arithmetic_metric.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/with_arithmetic_metric.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/with_arithmetic_metric.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/with_arithmetic_metric.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/with_attribute_filters.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/with_attribute_filters.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/with_attribute_filters.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/with_attribute_filters.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/with_date_filters.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/with_date_filters.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/with_date_filters.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/with_date_filters.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/with_funky_attribute_filters.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/with_funky_attribute_filters.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/with_funky_attribute_filters.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/with_funky_attribute_filters.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/with_metric_value_filter.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/with_metric_value_filter.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/with_metric_value_filter.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/with_metric_value_filter.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/with_pop_metric.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/with_pop_metric.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/with_pop_metric.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/with_pop_metric.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/with_previous_period_metric.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/with_previous_period_metric.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/with_previous_period_metric.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/with_previous_period_metric.snapshot.json diff --git a/gooddata-sdk/tests/visualization/snapshots/with_ranking_filter.snapshot.json b/packages/gooddata-sdk/tests/visualization/snapshots/with_ranking_filter.snapshot.json similarity index 100% rename from gooddata-sdk/tests/visualization/snapshots/with_ranking_filter.snapshot.json rename to packages/gooddata-sdk/tests/visualization/snapshots/with_ranking_filter.snapshot.json diff --git a/gooddata-sdk/tests/visualization/test_visualization.py b/packages/gooddata-sdk/tests/visualization/test_visualization.py similarity index 100% rename from gooddata-sdk/tests/visualization/test_visualization.py rename to packages/gooddata-sdk/tests/visualization/test_visualization.py diff --git a/gooddata-sdk/tox.ini b/packages/gooddata-sdk/tox.ini similarity index 67% rename from gooddata-sdk/tox.ini rename to packages/gooddata-sdk/tox.ini index 9446c02a2..93be8fd37 100644 --- a/gooddata-sdk/tox.ini +++ b/packages/gooddata-sdk/tox.ini @@ -6,22 +6,22 @@ envlist = py3{9,10,11,12,13} package = wheel wheel_build_env = .pkg deps = - -r{toxinidir}/test-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client -e../tests-support setenv= PYTHONDONTWRITEBYTECODE=1 commands = - pytest -v --cov=gooddata_sdk --cov-report=xml tests {posargs} + uv pip install --group test + pytest -v --cov=src/gooddata_sdk --cov-report=xml tests {posargs} [testenv:mypy] basepython = python3.13 skip_install = true deps = - -r{toxinidir}/type-requirements.txt - -e../gooddata-api-client + -e../../gooddata-api-client commands = - mypy gooddata_sdk + uv pip install --group type + mypy src/gooddata_sdk [testenv:docs] basepython = python3.13 diff --git a/tests-support/.gitignore b/packages/tests-support/.gitignore similarity index 100% rename from tests-support/.gitignore rename to packages/tests-support/.gitignore diff --git a/tests-support/Dockerfile b/packages/tests-support/Dockerfile similarity index 100% rename from tests-support/Dockerfile rename to packages/tests-support/Dockerfile diff --git a/tests-support/Makefile b/packages/tests-support/Makefile similarity index 50% rename from tests-support/Makefile rename to packages/tests-support/Makefile index 1c5559d18..84a48179b 100644 --- a/tests-support/Makefile +++ b/packages/tests-support/Makefile @@ -1,2 +1,2 @@ # (C) 2022 GoodData Corporation -include ../project_common.mk +include ../../project_common.mk diff --git a/tests-support/fixtures/demo_data_sources.json b/packages/tests-support/fixtures/demo_data_sources.json similarity index 100% rename from tests-support/fixtures/demo_data_sources.json rename to packages/tests-support/fixtures/demo_data_sources.json diff --git a/tests-support/fixtures/demo_declarative_hierarchy.json b/packages/tests-support/fixtures/demo_declarative_hierarchy.json similarity index 100% rename from tests-support/fixtures/demo_declarative_hierarchy.json rename to packages/tests-support/fixtures/demo_declarative_hierarchy.json diff --git a/tests-support/fixtures/user.json b/packages/tests-support/fixtures/user.json similarity index 100% rename from tests-support/fixtures/user.json rename to packages/tests-support/fixtures/user.json diff --git a/tests-support/fixtures/user_auth.json b/packages/tests-support/fixtures/user_auth.json similarity index 100% rename from tests-support/fixtures/user_auth.json rename to packages/tests-support/fixtures/user_auth.json diff --git a/tests-support/fixtures/user_groups.json b/packages/tests-support/fixtures/user_groups.json similarity index 100% rename from tests-support/fixtures/user_groups.json rename to packages/tests-support/fixtures/user_groups.json diff --git a/tests-support/fixtures/workspace_permissions.json b/packages/tests-support/fixtures/workspace_permissions.json similarity index 100% rename from tests-support/fixtures/workspace_permissions.json rename to packages/tests-support/fixtures/workspace_permissions.json diff --git a/packages/tests-support/pyproject.toml b/packages/tests-support/pyproject.toml new file mode 100644 index 000000000..165869bf3 --- /dev/null +++ b/packages/tests-support/pyproject.toml @@ -0,0 +1,17 @@ +# (C) 2025 GoodData Corporation +[project] +name = "tests-support" +description = "Tests support for GoodData Python SDK" +requires-python = ">=3.9.0" +version = "1.0.0" +dependencies = [ + "pyyaml>=6.0", + "requests", +] + +[tool.hatch.build.targets.wheel] +packages = ["src/tests_support"] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/tests-support/tests_support/__init__.py b/packages/tests-support/src/tests_support/__init__.py similarity index 100% rename from tests-support/tests_support/__init__.py rename to packages/tests-support/src/tests_support/__init__.py diff --git a/gooddata-fdw/requirements.txt b/packages/tests-support/src/tests_support/compare_utils.py similarity index 100% rename from gooddata-fdw/requirements.txt rename to packages/tests-support/src/tests_support/compare_utils.py diff --git a/tests-support/tests_support/file_utils.py b/packages/tests-support/src/tests_support/file_utils.py similarity index 100% rename from tests-support/tests_support/file_utils.py rename to packages/tests-support/src/tests_support/file_utils.py diff --git a/tests-support/tests_support/vcrpy_utils.py b/packages/tests-support/src/tests_support/vcrpy_utils.py similarity index 100% rename from tests-support/tests_support/vcrpy_utils.py rename to packages/tests-support/src/tests_support/vcrpy_utils.py diff --git a/tests-support/upload_demo_layout.py b/packages/tests-support/upload_demo_layout.py similarity index 100% rename from tests-support/upload_demo_layout.py rename to packages/tests-support/upload_demo_layout.py diff --git a/project_common.mk b/project_common.mk index c862e104c..20a2ea688 100644 --- a/project_common.mk +++ b/project_common.mk @@ -25,16 +25,16 @@ all: .PHONY: format format: - (cd ..; .venv/bin/ruff format --check $(CURR_DIR_BASE_NAME)) + (cd ...; .venv/bin/ruff format --check $(CURR_DIR_BASE_NAME)) .PHONY: format-diff format-diff: - (cd ..; .venv/bin/ruff format --diff $(CURR_DIR_BASE_NAME)) + (cd ...; .venv/bin/ruff format --diff $(CURR_DIR_BASE_NAME)) .PHONY: format-fix format-fix: - (cd ..; .venv/bin/ruff format $(CURR_DIR_BASE_NAME)) - (cd ..; .venv/bin/ruff check --fix $(CURR_DIR_BASE_NAME)) + (cd ...; .venv/bin/ruff format $(CURR_DIR_BASE_NAME)) + (cd ...; .venv/bin/ruff check --fix $(CURR_DIR_BASE_NAME)) .PHONY: mypy mypy: @@ -42,7 +42,7 @@ mypy: .PHONY: test test: - tox $(TOX_FLAGS) $(LOCAL_TEST_ENVS) $(LOCAL_ADD_ARGS) + tox -v $(TOX_FLAGS) $(LOCAL_TEST_ENVS) $(LOCAL_ADD_ARGS) .PHONY: test-ci test-ci: diff --git a/pyproject.toml b/pyproject.toml index ecd9f9c6a..dfee8f00e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,4 +1,54 @@ # (C) 2021 GoodData Corporation +[project] +name = "gooddata-python-sdk-workspace" +version = "1.45.0" +description = "GoodData Python SDK Workspace" +requires-python = ">=3.9" +dependencies = [ + "gooddata-sdk", + "gooddata-pandas", + "gooddata-dbt", + "gooddata-fdw", + "gooddata-flight-server", + "gooddata-flexconnect", + "gooddata-api-client", + "tests-support", +] + +[tool.uv.sources] +gooddata-sdk = { workspace = true } +gooddata-pandas = { workspace = true } +gooddata-dbt = { workspace = true } +gooddata-fdw = { workspace = true } +gooddata-flight-server = { workspace = true } +gooddata-flexconnect = { workspace = true } +tests-support = { workspace = true } +gooddata-api-client = { path = "gooddata-api-client", editable = true } + +[tool.uv.workspace] +# note gooddata-api-client is not a workspace package, it is a dependency of other packages +members = ["packages/*"] + +[dependency-groups] +dev = [ + "pre-commit~=4.0.1", + "gitlint~=0.19.1", +] +lint = [ + "ruff==0.9.5", +] +type = [ + "mypy~=1.11.2" +] +release = [ + "tbump~=6.11.0", + "tomlkit>=0.11" +] +tox = [ + "tox~=4.26.0", + "tox-uv~=1.26.1" +] + [tool.ruff] exclude = [ ".git", @@ -35,13 +85,13 @@ lint.ignore = [ target-version = "py39" [tool.ruff.lint.per-file-ignores] -"gooddata-pandas/gooddata_pandas/__init__.py" = ["F401"] -"gooddata-sdk/gooddata_sdk/*/__init__.py" = ["F401"] -"gooddata-sdk/gooddata_sdk/__init__.py" = ["F401"] -"gooddata-dbt/gooddata_dbt/__init__.py" = ["F401"] -"gooddata-fdw/gooddata_fdw/__init__.py" = ["F401"] -"gooddata-flight-server/gooddata_flight_server/__init__.py" = ["F401"] -"gooddata-flexconnect/gooddata_flexconnect/__init__.py" = ["F401"] +"packages/gooddata-pandas/src/gooddata_pandas/__init__.py" = ["F401"] +"packages/gooddata-sdk/src/gooddata_sdk/*/__init__.py" = ["F401"] +"packages/gooddata-sdk/src/gooddata_sdk/__init__.py" = ["F401"] +"packages/gooddata-dbt/src/gooddata_dbt/__init__.py" = ["F401"] +"packages/gooddata-fdw/src/gooddata_fdw/__init__.py" = ["F401"] +"packages/gooddata-flight-server/src/gooddata_flight_server/__init__.py" = ["F401"] +"packages/gooddata-flexconnect/src/gooddata_flexconnect/__init__.py" = ["F401"] [tool.ruff.format] exclude = ['(gooddata-api-client|.*\.snapshot\..*)'] diff --git a/release-requirements.txt b/release-requirements.txt deleted file mode 100644 index 69be5240d..000000000 --- a/release-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -tbump~=6.11.0 -tomlkit>=0.11 diff --git a/tests-support/requirements.txt b/tests-support/requirements.txt deleted file mode 100644 index f2293605c..000000000 --- a/tests-support/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -requests diff --git a/tests-support/setup.py b/tests-support/setup.py deleted file mode 100644 index 0a4ab76c8..000000000 --- a/tests-support/setup.py +++ /dev/null @@ -1,15 +0,0 @@ -# (C) 2022 GoodData Corporation - -from setuptools import find_packages, setup - -REQUIRES = [ - "pyyaml>=6.0", -] - -setup( - name="tests-support", - description="Tests support for GoodData Python SDK", - install_requires=REQUIRES, - packages=find_packages(exclude=["tests"]), - python_requires=">=3.9.0", -) diff --git a/tests-support/tests_support/compare_utils.py b/tests-support/tests_support/compare_utils.py deleted file mode 100644 index 7201c2e6f..000000000 --- a/tests-support/tests_support/compare_utils.py +++ /dev/null @@ -1,12 +0,0 @@ -# (C) 2023 GoodData Corporation -from __future__ import annotations - -from deepdiff import DeepDiff - - -def deep_eq(expected: any, actual: any) -> bool: - if expected != actual: - print(DeepDiff(expected, actual)) - return False - - return True diff --git a/tox-requirements.txt b/tox-requirements.txt deleted file mode 100644 index 39e4c8bd3..000000000 --- a/tox-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -tox~=4.24.1 -tox-uv~=1.23.0 diff --git a/uv.lock b/uv.lock new file mode 100644 index 000000000..c217f0e65 --- /dev/null +++ b/uv.lock @@ -0,0 +1,2728 @@ +# (C) 2025 GoodData Corporation +version = 1 +revision = 3 +requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.13' and platform_python_implementation == 'PyPy'", + "python_full_version >= '3.13' and platform_python_implementation != 'PyPy'", + "python_full_version == '3.12.*' and platform_python_implementation != 'PyPy'", + "python_full_version == '3.11.*' and platform_python_implementation != 'PyPy'", + "python_full_version < '3.11' and platform_python_implementation != 'PyPy'", + "python_full_version == '3.12.*' and platform_python_implementation == 'PyPy'", + "python_full_version == '3.11.*' and platform_python_implementation == 'PyPy'", + "python_full_version < '3.11' and platform_python_implementation == 'PyPy'", +] + +[manifest] +members = [ + "gooddata-dbt", + "gooddata-fdw", + "gooddata-flexconnect", + "gooddata-flight-server", + "gooddata-pandas", + "gooddata-pipelines", + "gooddata-python-sdk-workspace", + "gooddata-sdk", + "tests-support", +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "arrow" +version = "1.2.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7f/c0/c601ea7811f422700ef809f167683899cdfddec5aa3f83597edf97349962/arrow-1.2.3.tar.gz", hash = "sha256:3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1", size = 127552, upload-time = "2022-09-03T19:35:32.65Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/67/4bca5a595e2f89bff271724ddb1098e6c9e16f7f3d018d120255e3c30313/arrow-1.2.3-py3-none-any.whl", hash = "sha256:5a49ab92e3b7b71d96cd6bfcc4df14efefc9dfa96ea19045815914a6ab6b1fe2", size = 66391, upload-time = "2022-09-03T19:35:29.66Z" }, +] + +[[package]] +name = "attrs" +version = "24.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/0f/aafca9af9315aee06a89ffde799a10a582fe8de76c563ee80bbcdc08b3fb/attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346", size = 792678, upload-time = "2024-08-06T14:37:38.364Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2", size = 63001, upload-time = "2024-08-06T14:37:36.958Z" }, +] + +[[package]] +name = "boto3" +version = "1.40.13" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e3/f2/3f7e2b2d866cdce0fceca7aa19baba939291200b7087defc6063b183d7cc/boto3-1.40.13.tar.gz", hash = "sha256:7ff74221328868c5f7dcd7a9b959e7b882c1ab1b04cc9df868ea70de7d8bd004", size = 111961, upload-time = "2025-08-19T20:41:00.341Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/63/43a2eaad011b0025ce12a2ffa6d1fea9a34d06b7d33bf32c54cc1eb2df65/boto3-1.40.13-py3-none-any.whl", hash = "sha256:b43110b6ad30e683fab769b4c5659b6b0606afa535627de831f7181306009d5e", size = 140075, upload-time = "2025-08-19T20:40:59.014Z" }, +] + +[[package]] +name = "boto3-stubs" +version = "1.40.13" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore-stubs" }, + { name = "types-s3transfer" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/db/6d/17a177a4609f301a71beafa87dd889f4c33e48c45f682d9753ea90277341/boto3_stubs-1.40.13.tar.gz", hash = "sha256:4a665589e9e4bedf8f4a107ba6f964c6fef3cab3cc63a3c46a21b8bec369002a", size = 101376, upload-time = "2025-08-19T20:45:27.69Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/61/e16115b938796bc5b67ecc72e7b082c16d762d27b77024d95bfe25f73999/boto3_stubs-1.40.13-py3-none-any.whl", hash = "sha256:e76b4280a0057a94a25b76d62688a7d97754afe380ec74e37932f1be375feac2", size = 70011, upload-time = "2025-08-19T20:45:22.276Z" }, +] + +[[package]] +name = "botocore" +version = "1.40.13" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/79/f8bd10ff414d0f2ecc2cbad09af384b962b22bb8a741da41e510c9e06bf1/botocore-1.40.13.tar.gz", hash = "sha256:d7003526a9169e8ab3566db2227cf0b85d9e689e9ff97f2803c629a8e4624fb5", size = 14349658, upload-time = "2025-08-19T20:40:49.97Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/d3/7132aef7b202f3256027b3ac4caff5878e01be4d16062c2a7a92c430f120/botocore-1.40.13-py3-none-any.whl", hash = "sha256:5bf7334d6a0a87a907d607b115710bede2440376cefa8c33b0d99571fb226d87", size = 14018709, upload-time = "2025-08-19T20:40:44.783Z" }, +] + +[[package]] +name = "botocore-stubs" +version = "1.38.46" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "types-awscrt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/45/27cabc7c3022dcb12de5098cc646b374065f5e72fae13600ff1756f365ee/botocore_stubs-1.38.46.tar.gz", hash = "sha256:a04e69766ab8bae338911c1897492f88d05cd489cd75f06e6eb4f135f9da8c7b", size = 42299, upload-time = "2025-06-29T22:58:24.765Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/84/06490071e26bab22ac79a684e98445df118adcf80c58c33ba5af184030f2/botocore_stubs-1.38.46-py3-none-any.whl", hash = "sha256:cc21d9a7dd994bdd90872db4664d817c4719b51cda8004fd507a4bf65b085a75", size = 66083, upload-time = "2025-06-29T22:58:22.234Z" }, +] + +[[package]] +name = "brotli" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724", size = 7372270, upload-time = "2023-09-07T14:05:41.643Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/3a/dbf4fb970c1019a57b5e492e1e0eae745d32e59ba4d6161ab5422b08eefe/Brotli-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752", size = 873045, upload-time = "2023-09-07T14:03:16.894Z" }, + { url = "https://files.pythonhosted.org/packages/dd/11/afc14026ea7f44bd6eb9316d800d439d092c8d508752055ce8d03086079a/Brotli-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9", size = 446218, upload-time = "2023-09-07T14:03:18.917Z" }, + { url = "https://files.pythonhosted.org/packages/36/83/7545a6e7729db43cb36c4287ae388d6885c85a86dd251768a47015dfde32/Brotli-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3", size = 2903872, upload-time = "2023-09-07T14:03:20.398Z" }, + { url = "https://files.pythonhosted.org/packages/32/23/35331c4d9391fcc0f29fd9bec2c76e4b4eeab769afbc4b11dd2e1098fb13/Brotli-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d", size = 2941254, upload-time = "2023-09-07T14:03:21.914Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/1671acb450c902edb64bd765d73603797c6c7280a9ada85a195f6b78c6e5/Brotli-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e", size = 2857293, upload-time = "2023-09-07T14:03:24Z" }, + { url = "https://files.pythonhosted.org/packages/d5/00/40f760cc27007912b327fe15bf6bfd8eaecbe451687f72a8abc587d503b3/Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da", size = 3002385, upload-time = "2023-09-07T14:03:26.248Z" }, + { url = "https://files.pythonhosted.org/packages/b8/cb/8aaa83f7a4caa131757668c0fb0c4b6384b09ffa77f2fba9570d87ab587d/Brotli-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80", size = 2911104, upload-time = "2023-09-07T14:03:27.849Z" }, + { url = "https://files.pythonhosted.org/packages/bc/c4/65456561d89d3c49f46b7fbeb8fe6e449f13bdc8ea7791832c5d476b2faf/Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d", size = 2809981, upload-time = "2023-09-07T14:03:29.92Z" }, + { url = "https://files.pythonhosted.org/packages/05/1b/cf49528437bae28abce5f6e059f0d0be6fecdcc1d3e33e7c54b3ca498425/Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0", size = 2935297, upload-time = "2023-09-07T14:03:32.035Z" }, + { url = "https://files.pythonhosted.org/packages/81/ff/190d4af610680bf0c5a09eb5d1eac6e99c7c8e216440f9c7cfd42b7adab5/Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e", size = 2930735, upload-time = "2023-09-07T14:03:33.801Z" }, + { url = "https://files.pythonhosted.org/packages/80/7d/f1abbc0c98f6e09abd3cad63ec34af17abc4c44f308a7a539010f79aae7a/Brotli-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5dab0844f2cf82be357a0eb11a9087f70c5430b2c241493fc122bb6f2bb0917c", size = 2933107, upload-time = "2024-10-18T12:32:09.016Z" }, + { url = "https://files.pythonhosted.org/packages/34/ce/5a5020ba48f2b5a4ad1c0522d095ad5847a0be508e7d7569c8630ce25062/Brotli-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e4fe605b917c70283db7dfe5ada75e04561479075761a0b3866c081d035b01c1", size = 2845400, upload-time = "2024-10-18T12:32:11.134Z" }, + { url = "https://files.pythonhosted.org/packages/44/89/fa2c4355ab1eecf3994e5a0a7f5492c6ff81dfcb5f9ba7859bd534bb5c1a/Brotli-1.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1e9a65b5736232e7a7f91ff3d02277f11d339bf34099a56cdab6a8b3410a02b2", size = 3031985, upload-time = "2024-10-18T12:32:12.813Z" }, + { url = "https://files.pythonhosted.org/packages/af/a4/79196b4a1674143d19dca400866b1a4d1a089040df7b93b88ebae81f3447/Brotli-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:58d4b711689366d4a03ac7957ab8c28890415e267f9b6589969e74b6e42225ec", size = 2927099, upload-time = "2024-10-18T12:32:14.733Z" }, + { url = "https://files.pythonhosted.org/packages/e9/54/1c0278556a097f9651e657b873ab08f01b9a9ae4cac128ceb66427d7cd20/Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2", size = 333172, upload-time = "2023-09-07T14:03:35.212Z" }, + { url = "https://files.pythonhosted.org/packages/f7/65/b785722e941193fd8b571afd9edbec2a9b838ddec4375d8af33a50b8dab9/Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128", size = 357255, upload-time = "2023-09-07T14:03:36.447Z" }, + { url = "https://files.pythonhosted.org/packages/96/12/ad41e7fadd5db55459c4c401842b47f7fee51068f86dd2894dd0dcfc2d2a/Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc", size = 873068, upload-time = "2023-09-07T14:03:37.779Z" }, + { url = "https://files.pythonhosted.org/packages/95/4e/5afab7b2b4b61a84e9c75b17814198ce515343a44e2ed4488fac314cd0a9/Brotli-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6", size = 446244, upload-time = "2023-09-07T14:03:39.223Z" }, + { url = "https://files.pythonhosted.org/packages/9d/e6/f305eb61fb9a8580c525478a4a34c5ae1a9bcb12c3aee619114940bc513d/Brotli-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd", size = 2906500, upload-time = "2023-09-07T14:03:40.858Z" }, + { url = "https://files.pythonhosted.org/packages/3e/4f/af6846cfbc1550a3024e5d3775ede1e00474c40882c7bf5b37a43ca35e91/Brotli-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf", size = 2943950, upload-time = "2023-09-07T14:03:42.896Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e7/ca2993c7682d8629b62630ebf0d1f3bb3d579e667ce8e7ca03a0a0576a2d/Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61", size = 2918527, upload-time = "2023-09-07T14:03:44.552Z" }, + { url = "https://files.pythonhosted.org/packages/b3/96/da98e7bedc4c51104d29cc61e5f449a502dd3dbc211944546a4cc65500d3/Brotli-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327", size = 2845489, upload-time = "2023-09-07T14:03:46.594Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ef/ccbc16947d6ce943a7f57e1a40596c75859eeb6d279c6994eddd69615265/Brotli-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd", size = 2914080, upload-time = "2023-09-07T14:03:48.204Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/0bd38d758d1afa62a5524172f0b18626bb2392d717ff94806f741fcd5ee9/Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9", size = 2813051, upload-time = "2023-09-07T14:03:50.348Z" }, + { url = "https://files.pythonhosted.org/packages/14/56/48859dd5d129d7519e001f06dcfbb6e2cf6db92b2702c0c2ce7d97e086c1/Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265", size = 2938172, upload-time = "2023-09-07T14:03:52.395Z" }, + { url = "https://files.pythonhosted.org/packages/3d/77/a236d5f8cd9e9f4348da5acc75ab032ab1ab2c03cc8f430d24eea2672888/Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8", size = 2933023, upload-time = "2023-09-07T14:03:53.96Z" }, + { url = "https://files.pythonhosted.org/packages/f1/87/3b283efc0f5cb35f7f84c0c240b1e1a1003a5e47141a4881bf87c86d0ce2/Brotli-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c247dd99d39e0338a604f8c2b3bc7061d5c2e9e2ac7ba9cc1be5a69cb6cd832f", size = 2935871, upload-time = "2024-10-18T12:32:16.688Z" }, + { url = "https://files.pythonhosted.org/packages/f3/eb/2be4cc3e2141dc1a43ad4ca1875a72088229de38c68e842746b342667b2a/Brotli-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1b2c248cd517c222d89e74669a4adfa5577e06ab68771a529060cf5a156e9757", size = 2847784, upload-time = "2024-10-18T12:32:18.459Z" }, + { url = "https://files.pythonhosted.org/packages/66/13/b58ddebfd35edde572ccefe6890cf7c493f0c319aad2a5badee134b4d8ec/Brotli-1.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2a24c50840d89ded6c9a8fdc7b6ed3692ed4e86f1c4a4a938e1e92def92933e0", size = 3034905, upload-time = "2024-10-18T12:32:20.192Z" }, + { url = "https://files.pythonhosted.org/packages/84/9c/bc96b6c7db824998a49ed3b38e441a2cae9234da6fa11f6ed17e8cf4f147/Brotli-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f31859074d57b4639318523d6ffdca586ace54271a73ad23ad021acd807eb14b", size = 2929467, upload-time = "2024-10-18T12:32:21.774Z" }, + { url = "https://files.pythonhosted.org/packages/e7/71/8f161dee223c7ff7fea9d44893fba953ce97cf2c3c33f78ba260a91bcff5/Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50", size = 333169, upload-time = "2023-09-07T14:03:55.404Z" }, + { url = "https://files.pythonhosted.org/packages/02/8a/fece0ee1057643cb2a5bbf59682de13f1725f8482b2c057d4e799d7ade75/Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1", size = 357253, upload-time = "2023-09-07T14:03:56.643Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d0/5373ae13b93fe00095a58efcbce837fd470ca39f703a235d2a999baadfbc/Brotli-1.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:32d95b80260d79926f5fab3c41701dbb818fde1c9da590e77e571eefd14abe28", size = 815693, upload-time = "2024-10-18T12:32:23.824Z" }, + { url = "https://files.pythonhosted.org/packages/8e/48/f6e1cdf86751300c288c1459724bfa6917a80e30dbfc326f92cea5d3683a/Brotli-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b760c65308ff1e462f65d69c12e4ae085cff3b332d894637f6273a12a482d09f", size = 422489, upload-time = "2024-10-18T12:32:25.641Z" }, + { url = "https://files.pythonhosted.org/packages/06/88/564958cedce636d0f1bed313381dfc4b4e3d3f6015a63dae6146e1b8c65c/Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409", size = 873081, upload-time = "2023-09-07T14:03:57.967Z" }, + { url = "https://files.pythonhosted.org/packages/58/79/b7026a8bb65da9a6bb7d14329fd2bd48d2b7f86d7329d5cc8ddc6a90526f/Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2", size = 446244, upload-time = "2023-09-07T14:03:59.319Z" }, + { url = "https://files.pythonhosted.org/packages/e5/18/c18c32ecea41b6c0004e15606e274006366fe19436b6adccc1ae7b2e50c2/Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451", size = 2906505, upload-time = "2023-09-07T14:04:01.327Z" }, + { url = "https://files.pythonhosted.org/packages/08/c8/69ec0496b1ada7569b62d85893d928e865df29b90736558d6c98c2031208/Brotli-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91", size = 2944152, upload-time = "2023-09-07T14:04:03.033Z" }, + { url = "https://files.pythonhosted.org/packages/ab/fb/0517cea182219d6768113a38167ef6d4eb157a033178cc938033a552ed6d/Brotli-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408", size = 2919252, upload-time = "2023-09-07T14:04:04.675Z" }, + { url = "https://files.pythonhosted.org/packages/c7/53/73a3431662e33ae61a5c80b1b9d2d18f58dfa910ae8dd696e57d39f1a2f5/Brotli-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0", size = 2845955, upload-time = "2023-09-07T14:04:06.585Z" }, + { url = "https://files.pythonhosted.org/packages/55/ac/bd280708d9c5ebdbf9de01459e625a3e3803cce0784f47d633562cf40e83/Brotli-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc", size = 2914304, upload-time = "2023-09-07T14:04:08.668Z" }, + { url = "https://files.pythonhosted.org/packages/76/58/5c391b41ecfc4527d2cc3350719b02e87cb424ef8ba2023fb662f9bf743c/Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180", size = 2814452, upload-time = "2023-09-07T14:04:10.736Z" }, + { url = "https://files.pythonhosted.org/packages/c7/4e/91b8256dfe99c407f174924b65a01f5305e303f486cc7a2e8a5d43c8bec3/Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248", size = 2938751, upload-time = "2023-09-07T14:04:12.875Z" }, + { url = "https://files.pythonhosted.org/packages/5a/a6/e2a39a5d3b412938362bbbeba5af904092bf3f95b867b4a3eb856104074e/Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966", size = 2933757, upload-time = "2023-09-07T14:04:14.551Z" }, + { url = "https://files.pythonhosted.org/packages/13/f0/358354786280a509482e0e77c1a5459e439766597d280f28cb097642fc26/Brotli-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:87a3044c3a35055527ac75e419dfa9f4f3667a1e887ee80360589eb8c90aabb9", size = 2936146, upload-time = "2024-10-18T12:32:27.257Z" }, + { url = "https://files.pythonhosted.org/packages/80/f7/daf538c1060d3a88266b80ecc1d1c98b79553b3f117a485653f17070ea2a/Brotli-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c5529b34c1c9d937168297f2c1fde7ebe9ebdd5e121297ff9c043bdb2ae3d6fb", size = 2848055, upload-time = "2024-10-18T12:32:29.376Z" }, + { url = "https://files.pythonhosted.org/packages/ad/cf/0eaa0585c4077d3c2d1edf322d8e97aabf317941d3a72d7b3ad8bce004b0/Brotli-1.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ca63e1890ede90b2e4454f9a65135a4d387a4585ff8282bb72964fab893f2111", size = 3035102, upload-time = "2024-10-18T12:32:31.371Z" }, + { url = "https://files.pythonhosted.org/packages/d8/63/1c1585b2aa554fe6dbce30f0c18bdbc877fa9a1bf5ff17677d9cca0ac122/Brotli-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e79e6520141d792237c70bcd7a3b122d00f2613769ae0cb61c52e89fd3443839", size = 2930029, upload-time = "2024-10-18T12:32:33.293Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3b/4e3fd1893eb3bbfef8e5a80d4508bec17a57bb92d586c85c12d28666bb13/Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0", size = 333276, upload-time = "2023-09-07T14:04:16.49Z" }, + { url = "https://files.pythonhosted.org/packages/3d/d5/942051b45a9e883b5b6e98c041698b1eb2012d25e5948c58d6bf85b1bb43/Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951", size = 357255, upload-time = "2023-09-07T14:04:17.83Z" }, + { url = "https://files.pythonhosted.org/packages/0a/9f/fb37bb8ffc52a8da37b1c03c459a8cd55df7a57bdccd8831d500e994a0ca/Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5", size = 815681, upload-time = "2024-10-18T12:32:34.942Z" }, + { url = "https://files.pythonhosted.org/packages/06/b3/dbd332a988586fefb0aa49c779f59f47cae76855c2d00f450364bb574cac/Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8", size = 422475, upload-time = "2024-10-18T12:32:36.485Z" }, + { url = "https://files.pythonhosted.org/packages/bb/80/6aaddc2f63dbcf2d93c2d204e49c11a9ec93a8c7c63261e2b4bd35198283/Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f", size = 2906173, upload-time = "2024-10-18T12:32:37.978Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1d/e6ca79c96ff5b641df6097d299347507d39a9604bde8915e76bf026d6c77/Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648", size = 2943803, upload-time = "2024-10-18T12:32:39.606Z" }, + { url = "https://files.pythonhosted.org/packages/ac/a3/d98d2472e0130b7dd3acdbb7f390d478123dbf62b7d32bda5c830a96116d/Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0", size = 2918946, upload-time = "2024-10-18T12:32:41.679Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a5/c69e6d272aee3e1423ed005d8915a7eaa0384c7de503da987f2d224d0721/Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089", size = 2845707, upload-time = "2024-10-18T12:32:43.478Z" }, + { url = "https://files.pythonhosted.org/packages/58/9f/4149d38b52725afa39067350696c09526de0125ebfbaab5acc5af28b42ea/Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368", size = 2936231, upload-time = "2024-10-18T12:32:45.224Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/145de884285611838a16bebfdb060c231c52b8f84dfbe52b852a15780386/Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c", size = 2848157, upload-time = "2024-10-18T12:32:46.894Z" }, + { url = "https://files.pythonhosted.org/packages/50/ae/408b6bfb8525dadebd3b3dd5b19d631da4f7d46420321db44cd99dcf2f2c/Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284", size = 3035122, upload-time = "2024-10-18T12:32:48.844Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/a94e5cfaa0ca449d8f91c3d6f78313ebf919a0dbd55a100c711c6e9655bc/Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7", size = 2930206, upload-time = "2024-10-18T12:32:51.198Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f0/a61d9262cd01351df22e57ad7c34f66794709acab13f34be2675f45bf89d/Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0", size = 333804, upload-time = "2024-10-18T12:32:52.661Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c1/ec214e9c94000d1c1974ec67ced1c970c148aa6b8d8373066123fc3dbf06/Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b", size = 358517, upload-time = "2024-10-18T12:32:54.066Z" }, +] + +[[package]] +name = "cachetools" +version = "6.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/89/817ad5d0411f136c484d535952aef74af9b25e0d99e90cdffbe121e6d628/cachetools-6.1.0.tar.gz", hash = "sha256:b4c4f404392848db3ce7aac34950d17be4d864da4b8b66911008e430bc544587", size = 30714, upload-time = "2025-06-16T18:51:03.07Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/f0/2ef431fe4141f5e334759d73e81120492b23b2824336883a91ac04ba710b/cachetools-6.1.0-py3-none-any.whl", hash = "sha256:1c7bb3cf9193deaf3508b7c5f2a79986c13ea38965c5adcff1f84519cf39163e", size = 11189, upload-time = "2025-06-16T18:51:01.514Z" }, +] + +[[package]] +name = "cattrs" +version = "24.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3c/ba/08912e7e6e796fa7d5da1aaf3f53235ee6b2a73ec51d93bdf69b77b1c0d1/cattrs-24.1.1.tar.gz", hash = "sha256:16e94a13f9aaf6438bd5be5df521e072b1b00481b4cf807bcb1acbd49f814c08", size = 426413, upload-time = "2024-09-11T12:08:21.158Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/a1/90fa8e601c28937a8426eaae853e0009807e6287c7bf03fe7af4296ec510/cattrs-24.1.1-py3-none-any.whl", hash = "sha256:ec8ce8fdc725de9d07547cd616f968670687c6fa7a2e263b088370c46d834d97", size = 66417, upload-time = "2024-09-11T12:08:19.093Z" }, +] + +[[package]] +name = "certifi" +version = "2025.6.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" }, +] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191, upload-time = "2024-09-04T20:43:30.027Z" }, + { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592, upload-time = "2024-09-04T20:43:32.108Z" }, + { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024, upload-time = "2024-09-04T20:43:34.186Z" }, + { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188, upload-time = "2024-09-04T20:43:36.286Z" }, + { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571, upload-time = "2024-09-04T20:43:38.586Z" }, + { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687, upload-time = "2024-09-04T20:43:40.084Z" }, + { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211, upload-time = "2024-09-04T20:43:41.526Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325, upload-time = "2024-09-04T20:43:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784, upload-time = "2024-09-04T20:43:45.256Z" }, + { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564, upload-time = "2024-09-04T20:43:46.779Z" }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804, upload-time = "2024-09-04T20:43:48.186Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299, upload-time = "2024-09-04T20:43:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" }, + { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" }, + { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" }, + { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" }, + { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" }, + { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" }, + { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, +] + +[[package]] +name = "cfgv" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, +] + +[[package]] +name = "chardet" +version = "5.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7", size = 2069618, upload-time = "2023-08-01T19:23:02.662Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970", size = 199385, upload-time = "2023-08-01T19:23:00.661Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/28/9901804da60055b406e1a1c5ba7aac1276fb77f1dde635aabfc7fd84b8ab/charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", size = 201818, upload-time = "2025-05-02T08:31:46.725Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9b/892a8c8af9110935e5adcbb06d9c6fe741b6bb02608c6513983048ba1a18/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", size = 144649, upload-time = "2025-05-02T08:31:48.889Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a5/4179abd063ff6414223575e008593861d62abfc22455b5d1a44995b7c101/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", size = 155045, upload-time = "2025-05-02T08:31:50.757Z" }, + { url = "https://files.pythonhosted.org/packages/3b/95/bc08c7dfeddd26b4be8c8287b9bb055716f31077c8b0ea1cd09553794665/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", size = 147356, upload-time = "2025-05-02T08:31:52.634Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2d/7a5b635aa65284bf3eab7653e8b4151ab420ecbae918d3e359d1947b4d61/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", size = 149471, upload-time = "2025-05-02T08:31:56.207Z" }, + { url = "https://files.pythonhosted.org/packages/ae/38/51fc6ac74251fd331a8cfdb7ec57beba8c23fd5493f1050f71c87ef77ed0/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", size = 151317, upload-time = "2025-05-02T08:31:57.613Z" }, + { url = "https://files.pythonhosted.org/packages/b7/17/edee1e32215ee6e9e46c3e482645b46575a44a2d72c7dfd49e49f60ce6bf/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", size = 146368, upload-time = "2025-05-02T08:31:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/26/2c/ea3e66f2b5f21fd00b2825c94cafb8c326ea6240cd80a91eb09e4a285830/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", size = 154491, upload-time = "2025-05-02T08:32:01.219Z" }, + { url = "https://files.pythonhosted.org/packages/52/47/7be7fa972422ad062e909fd62460d45c3ef4c141805b7078dbab15904ff7/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", size = 157695, upload-time = "2025-05-02T08:32:03.045Z" }, + { url = "https://files.pythonhosted.org/packages/2f/42/9f02c194da282b2b340f28e5fb60762de1151387a36842a92b533685c61e/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", size = 154849, upload-time = "2025-05-02T08:32:04.651Z" }, + { url = "https://files.pythonhosted.org/packages/67/44/89cacd6628f31fb0b63201a618049be4be2a7435a31b55b5eb1c3674547a/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", size = 150091, upload-time = "2025-05-02T08:32:06.719Z" }, + { url = "https://files.pythonhosted.org/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445, upload-time = "2025-05-02T08:32:08.66Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782, upload-time = "2025-05-02T08:32:10.46Z" }, + { url = "https://files.pythonhosted.org/packages/05/85/4c40d00dcc6284a1c1ad5de5e0996b06f39d8232f1031cd23c2f5c07ee86/charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", size = 198794, upload-time = "2025-05-02T08:32:11.945Z" }, + { url = "https://files.pythonhosted.org/packages/41/d9/7a6c0b9db952598e97e93cbdfcb91bacd89b9b88c7c983250a77c008703c/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", size = 142846, upload-time = "2025-05-02T08:32:13.946Z" }, + { url = "https://files.pythonhosted.org/packages/66/82/a37989cda2ace7e37f36c1a8ed16c58cf48965a79c2142713244bf945c89/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", size = 153350, upload-time = "2025-05-02T08:32:15.873Z" }, + { url = "https://files.pythonhosted.org/packages/df/68/a576b31b694d07b53807269d05ec3f6f1093e9545e8607121995ba7a8313/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", size = 145657, upload-time = "2025-05-02T08:32:17.283Z" }, + { url = "https://files.pythonhosted.org/packages/92/9b/ad67f03d74554bed3aefd56fe836e1623a50780f7c998d00ca128924a499/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f", size = 147260, upload-time = "2025-05-02T08:32:18.807Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e6/8aebae25e328160b20e31a7e9929b1578bbdc7f42e66f46595a432f8539e/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", size = 149164, upload-time = "2025-05-02T08:32:20.333Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f2/b3c2f07dbcc248805f10e67a0262c93308cfa149a4cd3d1fe01f593e5fd2/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", size = 144571, upload-time = "2025-05-02T08:32:21.86Z" }, + { url = "https://files.pythonhosted.org/packages/60/5b/c3f3a94bc345bc211622ea59b4bed9ae63c00920e2e8f11824aa5708e8b7/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", size = 151952, upload-time = "2025-05-02T08:32:23.434Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4d/ff460c8b474122334c2fa394a3f99a04cf11c646da895f81402ae54f5c42/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", size = 155959, upload-time = "2025-05-02T08:32:24.993Z" }, + { url = "https://files.pythonhosted.org/packages/a2/2b/b964c6a2fda88611a1fe3d4c400d39c66a42d6c169c924818c848f922415/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", size = 153030, upload-time = "2025-05-02T08:32:26.435Z" }, + { url = "https://files.pythonhosted.org/packages/59/2e/d3b9811db26a5ebf444bc0fa4f4be5aa6d76fc6e1c0fd537b16c14e849b6/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", size = 148015, upload-time = "2025-05-02T08:32:28.376Z" }, + { url = "https://files.pythonhosted.org/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106, upload-time = "2025-05-02T08:32:30.281Z" }, + { url = "https://files.pythonhosted.org/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402, upload-time = "2025-05-02T08:32:32.191Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" }, + { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" }, + { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" }, + { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" }, + { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" }, + { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" }, + { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" }, + { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" }, + { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" }, + { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" }, + { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" }, + { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" }, + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, +] + +[[package]] +name = "cli-ui" +version = "0.17.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama" }, + { name = "tabulate" }, + { name = "unidecode" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ec/46/92401c78c4fe36529393879c09fa00ff7b6c4d72807f4010a79e762eafca/cli-ui-0.17.2.tar.gz", hash = "sha256:2f67e50cf474e76ad160c3e660bbad98bf8b8dfb8d847765f3a261b7e13c05fa", size = 13366, upload-time = "2022-08-28T13:41:41.324Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3e/97/7c2e6396bfe56c8dd10de04a1c4a82c6b3ee77d468862f588ac51ea1ebad/cli_ui-0.17.2-py3-none-any.whl", hash = "sha256:6a1ebdbbcd83a0fa06b2f63f4434082a3ba8664aebedd91f1ff86b9e4289d53e", size = 13222, upload-time = "2022-08-28T13:41:43.129Z" }, +] + +[[package]] +name = "click" +version = "8.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/59/87/84326af34517fca8c58418d148f2403df25303e02736832403587318e9e8/click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", size = 331147, upload-time = "2022-04-28T17:36:09.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48", size = 96588, upload-time = "2022-04-28T17:36:06.952Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/e0/98670a80884f64578f0c22cd70c5e81a6e07b08167721c7487b4d70a7ca0/coverage-7.9.1.tar.gz", hash = "sha256:6cf43c78c4282708a28e466316935ec7489a9c487518a77fa68f716c67909cec", size = 813650, upload-time = "2025-06-13T13:02:28.627Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/78/1c1c5ec58f16817c09cbacb39783c3655d54a221b6552f47ff5ac9297603/coverage-7.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cc94d7c5e8423920787c33d811c0be67b7be83c705f001f7180c7b186dcf10ca", size = 212028, upload-time = "2025-06-13T13:00:29.293Z" }, + { url = "https://files.pythonhosted.org/packages/98/db/e91b9076f3a888e3b4ad7972ea3842297a52cc52e73fd1e529856e473510/coverage-7.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:16aa0830d0c08a2c40c264cef801db8bc4fc0e1892782e45bcacbd5889270509", size = 212420, upload-time = "2025-06-13T13:00:34.027Z" }, + { url = "https://files.pythonhosted.org/packages/0e/d0/2b3733412954576b0aea0a16c3b6b8fbe95eb975d8bfa10b07359ead4252/coverage-7.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf95981b126f23db63e9dbe4cf65bd71f9a6305696fa5e2262693bc4e2183f5b", size = 241529, upload-time = "2025-06-13T13:00:35.786Z" }, + { url = "https://files.pythonhosted.org/packages/b3/00/5e2e5ae2e750a872226a68e984d4d3f3563cb01d1afb449a17aa819bc2c4/coverage-7.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f05031cf21699785cd47cb7485f67df619e7bcdae38e0fde40d23d3d0210d3c3", size = 239403, upload-time = "2025-06-13T13:00:37.399Z" }, + { url = "https://files.pythonhosted.org/packages/37/3b/a2c27736035156b0a7c20683afe7df498480c0dfdf503b8c878a21b6d7fb/coverage-7.9.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb4fbcab8764dc072cb651a4bcda4d11fb5658a1d8d68842a862a6610bd8cfa3", size = 240548, upload-time = "2025-06-13T13:00:39.647Z" }, + { url = "https://files.pythonhosted.org/packages/98/f5/13d5fc074c3c0e0dc80422d9535814abf190f1254d7c3451590dc4f8b18c/coverage-7.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0f16649a7330ec307942ed27d06ee7e7a38417144620bb3d6e9a18ded8a2d3e5", size = 240459, upload-time = "2025-06-13T13:00:40.934Z" }, + { url = "https://files.pythonhosted.org/packages/36/24/24b9676ea06102df824c4a56ffd13dc9da7904478db519efa877d16527d5/coverage-7.9.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cea0a27a89e6432705fffc178064503508e3c0184b4f061700e771a09de58187", size = 239128, upload-time = "2025-06-13T13:00:42.343Z" }, + { url = "https://files.pythonhosted.org/packages/be/05/242b7a7d491b369ac5fee7908a6e5ba42b3030450f3ad62c645b40c23e0e/coverage-7.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e980b53a959fa53b6f05343afbd1e6f44a23ed6c23c4b4c56c6662bbb40c82ce", size = 239402, upload-time = "2025-06-13T13:00:43.634Z" }, + { url = "https://files.pythonhosted.org/packages/73/e0/4de7f87192fa65c9c8fbaeb75507e124f82396b71de1797da5602898be32/coverage-7.9.1-cp310-cp310-win32.whl", hash = "sha256:70760b4c5560be6ca70d11f8988ee6542b003f982b32f83d5ac0b72476607b70", size = 214518, upload-time = "2025-06-13T13:00:45.622Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ab/5e4e2fe458907d2a65fab62c773671cfc5ac704f1e7a9ddd91996f66e3c2/coverage-7.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:a66e8f628b71f78c0e0342003d53b53101ba4e00ea8dabb799d9dba0abbbcebe", size = 215436, upload-time = "2025-06-13T13:00:47.245Z" }, + { url = "https://files.pythonhosted.org/packages/60/34/fa69372a07d0903a78ac103422ad34db72281c9fc625eba94ac1185da66f/coverage-7.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:95c765060e65c692da2d2f51a9499c5e9f5cf5453aeaf1420e3fc847cc060582", size = 212146, upload-time = "2025-06-13T13:00:48.496Z" }, + { url = "https://files.pythonhosted.org/packages/27/f0/da1894915d2767f093f081c42afeba18e760f12fdd7a2f4acbe00564d767/coverage-7.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba383dc6afd5ec5b7a0d0c23d38895db0e15bcba7fb0fa8901f245267ac30d86", size = 212536, upload-time = "2025-06-13T13:00:51.535Z" }, + { url = "https://files.pythonhosted.org/packages/10/d5/3fc33b06e41e390f88eef111226a24e4504d216ab8e5d1a7089aa5a3c87a/coverage-7.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37ae0383f13cbdcf1e5e7014489b0d71cc0106458878ccde52e8a12ced4298ed", size = 245092, upload-time = "2025-06-13T13:00:52.883Z" }, + { url = "https://files.pythonhosted.org/packages/0a/39/7aa901c14977aba637b78e95800edf77f29f5a380d29768c5b66f258305b/coverage-7.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69aa417a030bf11ec46149636314c24c8d60fadb12fc0ee8f10fda0d918c879d", size = 242806, upload-time = "2025-06-13T13:00:54.571Z" }, + { url = "https://files.pythonhosted.org/packages/43/fc/30e5cfeaf560b1fc1989227adedc11019ce4bb7cce59d65db34fe0c2d963/coverage-7.9.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a4be2a28656afe279b34d4f91c3e26eccf2f85500d4a4ff0b1f8b54bf807338", size = 244610, upload-time = "2025-06-13T13:00:56.932Z" }, + { url = "https://files.pythonhosted.org/packages/bf/15/cca62b13f39650bc87b2b92bb03bce7f0e79dd0bf2c7529e9fc7393e4d60/coverage-7.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:382e7ddd5289f140259b610e5f5c58f713d025cb2f66d0eb17e68d0a94278875", size = 244257, upload-time = "2025-06-13T13:00:58.545Z" }, + { url = "https://files.pythonhosted.org/packages/cd/1a/c0f2abe92c29e1464dbd0ff9d56cb6c88ae2b9e21becdb38bea31fcb2f6c/coverage-7.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e5532482344186c543c37bfad0ee6069e8ae4fc38d073b8bc836fc8f03c9e250", size = 242309, upload-time = "2025-06-13T13:00:59.836Z" }, + { url = "https://files.pythonhosted.org/packages/57/8d/c6fd70848bd9bf88fa90df2af5636589a8126d2170f3aade21ed53f2b67a/coverage-7.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a39d18b3f50cc121d0ce3838d32d58bd1d15dab89c910358ebefc3665712256c", size = 242898, upload-time = "2025-06-13T13:01:02.506Z" }, + { url = "https://files.pythonhosted.org/packages/c2/9e/6ca46c7bff4675f09a66fe2797cd1ad6a24f14c9c7c3b3ebe0470a6e30b8/coverage-7.9.1-cp311-cp311-win32.whl", hash = "sha256:dd24bd8d77c98557880def750782df77ab2b6885a18483dc8588792247174b32", size = 214561, upload-time = "2025-06-13T13:01:04.012Z" }, + { url = "https://files.pythonhosted.org/packages/a1/30/166978c6302010742dabcdc425fa0f938fa5a800908e39aff37a7a876a13/coverage-7.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:6b55ad10a35a21b8015eabddc9ba31eb590f54adc9cd39bcf09ff5349fd52125", size = 215493, upload-time = "2025-06-13T13:01:05.702Z" }, + { url = "https://files.pythonhosted.org/packages/60/07/a6d2342cd80a5be9f0eeab115bc5ebb3917b4a64c2953534273cf9bc7ae6/coverage-7.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:6ad935f0016be24c0e97fc8c40c465f9c4b85cbbe6eac48934c0dc4d2568321e", size = 213869, upload-time = "2025-06-13T13:01:09.345Z" }, + { url = "https://files.pythonhosted.org/packages/68/d9/7f66eb0a8f2fce222de7bdc2046ec41cb31fe33fb55a330037833fb88afc/coverage-7.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a8de12b4b87c20de895f10567639c0797b621b22897b0af3ce4b4e204a743626", size = 212336, upload-time = "2025-06-13T13:01:10.909Z" }, + { url = "https://files.pythonhosted.org/packages/20/20/e07cb920ef3addf20f052ee3d54906e57407b6aeee3227a9c91eea38a665/coverage-7.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5add197315a054e92cee1b5f686a2bcba60c4c3e66ee3de77ace6c867bdee7cb", size = 212571, upload-time = "2025-06-13T13:01:12.518Z" }, + { url = "https://files.pythonhosted.org/packages/78/f8/96f155de7e9e248ca9c8ff1a40a521d944ba48bec65352da9be2463745bf/coverage-7.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:600a1d4106fe66f41e5d0136dfbc68fe7200a5cbe85610ddf094f8f22e1b0300", size = 246377, upload-time = "2025-06-13T13:01:14.87Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cf/1d783bd05b7bca5c10ded5f946068909372e94615a4416afadfe3f63492d/coverage-7.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a876e4c3e5a2a1715a6608906aa5a2e0475b9c0f68343c2ada98110512ab1d8", size = 243394, upload-time = "2025-06-13T13:01:16.23Z" }, + { url = "https://files.pythonhosted.org/packages/02/dd/e7b20afd35b0a1abea09fb3998e1abc9f9bd953bee548f235aebd2b11401/coverage-7.9.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81f34346dd63010453922c8e628a52ea2d2ccd73cb2487f7700ac531b247c8a5", size = 245586, upload-time = "2025-06-13T13:01:17.532Z" }, + { url = "https://files.pythonhosted.org/packages/4e/38/b30b0006fea9d617d1cb8e43b1bc9a96af11eff42b87eb8c716cf4d37469/coverage-7.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:888f8eee13f2377ce86d44f338968eedec3291876b0b8a7289247ba52cb984cd", size = 245396, upload-time = "2025-06-13T13:01:19.164Z" }, + { url = "https://files.pythonhosted.org/packages/31/e4/4d8ec1dc826e16791f3daf1b50943e8e7e1eb70e8efa7abb03936ff48418/coverage-7.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9969ef1e69b8c8e1e70d591f91bbc37fc9a3621e447525d1602801a24ceda898", size = 243577, upload-time = "2025-06-13T13:01:22.433Z" }, + { url = "https://files.pythonhosted.org/packages/25/f4/b0e96c5c38e6e40ef465c4bc7f138863e2909c00e54a331da335faf0d81a/coverage-7.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:60c458224331ee3f1a5b472773e4a085cc27a86a0b48205409d364272d67140d", size = 244809, upload-time = "2025-06-13T13:01:24.143Z" }, + { url = "https://files.pythonhosted.org/packages/8a/65/27e0a1fa5e2e5079bdca4521be2f5dabf516f94e29a0defed35ac2382eb2/coverage-7.9.1-cp312-cp312-win32.whl", hash = "sha256:5f646a99a8c2b3ff4c6a6e081f78fad0dde275cd59f8f49dc4eab2e394332e74", size = 214724, upload-time = "2025-06-13T13:01:25.435Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a8/d5b128633fd1a5e0401a4160d02fa15986209a9e47717174f99dc2f7166d/coverage-7.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:30f445f85c353090b83e552dcbbdad3ec84c7967e108c3ae54556ca69955563e", size = 215535, upload-time = "2025-06-13T13:01:27.861Z" }, + { url = "https://files.pythonhosted.org/packages/a3/37/84bba9d2afabc3611f3e4325ee2c6a47cd449b580d4a606b240ce5a6f9bf/coverage-7.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:af41da5dca398d3474129c58cb2b106a5d93bbb196be0d307ac82311ca234342", size = 213904, upload-time = "2025-06-13T13:01:29.202Z" }, + { url = "https://files.pythonhosted.org/packages/d0/a7/a027970c991ca90f24e968999f7d509332daf6b8c3533d68633930aaebac/coverage-7.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:31324f18d5969feef7344a932c32428a2d1a3e50b15a6404e97cba1cc9b2c631", size = 212358, upload-time = "2025-06-13T13:01:30.909Z" }, + { url = "https://files.pythonhosted.org/packages/f2/48/6aaed3651ae83b231556750280682528fea8ac7f1232834573472d83e459/coverage-7.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0c804506d624e8a20fb3108764c52e0eef664e29d21692afa375e0dd98dc384f", size = 212620, upload-time = "2025-06-13T13:01:32.256Z" }, + { url = "https://files.pythonhosted.org/packages/6c/2a/f4b613f3b44d8b9f144847c89151992b2b6b79cbc506dee89ad0c35f209d/coverage-7.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef64c27bc40189f36fcc50c3fb8f16ccda73b6a0b80d9bd6e6ce4cffcd810bbd", size = 245788, upload-time = "2025-06-13T13:01:33.948Z" }, + { url = "https://files.pythonhosted.org/packages/04/d2/de4fdc03af5e4e035ef420ed26a703c6ad3d7a07aff2e959eb84e3b19ca8/coverage-7.9.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4fe2348cc6ec372e25adec0219ee2334a68d2f5222e0cba9c0d613394e12d86", size = 243001, upload-time = "2025-06-13T13:01:35.285Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e8/eed18aa5583b0423ab7f04e34659e51101135c41cd1dcb33ac1d7013a6d6/coverage-7.9.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34ed2186fe52fcc24d4561041979a0dec69adae7bce2ae8d1c49eace13e55c43", size = 244985, upload-time = "2025-06-13T13:01:36.712Z" }, + { url = "https://files.pythonhosted.org/packages/17/f8/ae9e5cce8885728c934eaa58ebfa8281d488ef2afa81c3dbc8ee9e6d80db/coverage-7.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:25308bd3d00d5eedd5ae7d4357161f4df743e3c0240fa773ee1b0f75e6c7c0f1", size = 245152, upload-time = "2025-06-13T13:01:39.303Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c8/272c01ae792bb3af9b30fac14d71d63371db227980682836ec388e2c57c0/coverage-7.9.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73e9439310f65d55a5a1e0564b48e34f5369bee943d72c88378f2d576f5a5751", size = 243123, upload-time = "2025-06-13T13:01:40.727Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d0/2819a1e3086143c094ab446e3bdf07138527a7b88cb235c488e78150ba7a/coverage-7.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:37ab6be0859141b53aa89412a82454b482c81cf750de4f29223d52268a86de67", size = 244506, upload-time = "2025-06-13T13:01:42.184Z" }, + { url = "https://files.pythonhosted.org/packages/8b/4e/9f6117b89152df7b6112f65c7a4ed1f2f5ec8e60c4be8f351d91e7acc848/coverage-7.9.1-cp313-cp313-win32.whl", hash = "sha256:64bdd969456e2d02a8b08aa047a92d269c7ac1f47e0c977675d550c9a0863643", size = 214766, upload-time = "2025-06-13T13:01:44.482Z" }, + { url = "https://files.pythonhosted.org/packages/27/0f/4b59f7c93b52c2c4ce7387c5a4e135e49891bb3b7408dcc98fe44033bbe0/coverage-7.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:be9e3f68ca9edb897c2184ad0eee815c635565dbe7a0e7e814dc1f7cbab92c0a", size = 215568, upload-time = "2025-06-13T13:01:45.772Z" }, + { url = "https://files.pythonhosted.org/packages/09/1e/9679826336f8c67b9c39a359352882b24a8a7aee48d4c9cad08d38d7510f/coverage-7.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:1c503289ffef1d5105d91bbb4d62cbe4b14bec4d13ca225f9c73cde9bb46207d", size = 213939, upload-time = "2025-06-13T13:01:47.087Z" }, + { url = "https://files.pythonhosted.org/packages/bb/5b/5c6b4e7a407359a2e3b27bf9c8a7b658127975def62077d441b93a30dbe8/coverage-7.9.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0b3496922cb5f4215bf5caaef4cf12364a26b0be82e9ed6d050f3352cf2d7ef0", size = 213079, upload-time = "2025-06-13T13:01:48.554Z" }, + { url = "https://files.pythonhosted.org/packages/a2/22/1e2e07279fd2fd97ae26c01cc2186e2258850e9ec125ae87184225662e89/coverage-7.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9565c3ab1c93310569ec0d86b017f128f027cab0b622b7af288696d7ed43a16d", size = 213299, upload-time = "2025-06-13T13:01:49.997Z" }, + { url = "https://files.pythonhosted.org/packages/14/c0/4c5125a4b69d66b8c85986d3321520f628756cf524af810baab0790c7647/coverage-7.9.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2241ad5dbf79ae1d9c08fe52b36d03ca122fb9ac6bca0f34439e99f8327ac89f", size = 256535, upload-time = "2025-06-13T13:01:51.314Z" }, + { url = "https://files.pythonhosted.org/packages/81/8b/e36a04889dda9960be4263e95e777e7b46f1bb4fc32202612c130a20c4da/coverage-7.9.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bb5838701ca68b10ebc0937dbd0eb81974bac54447c55cd58dea5bca8451029", size = 252756, upload-time = "2025-06-13T13:01:54.403Z" }, + { url = "https://files.pythonhosted.org/packages/98/82/be04eff8083a09a4622ecd0e1f31a2c563dbea3ed848069e7b0445043a70/coverage-7.9.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b30a25f814591a8c0c5372c11ac8967f669b97444c47fd794926e175c4047ece", size = 254912, upload-time = "2025-06-13T13:01:56.769Z" }, + { url = "https://files.pythonhosted.org/packages/0f/25/c26610a2c7f018508a5ab958e5b3202d900422cf7cdca7670b6b8ca4e8df/coverage-7.9.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2d04b16a6062516df97969f1ae7efd0de9c31eb6ebdceaa0d213b21c0ca1a683", size = 256144, upload-time = "2025-06-13T13:01:58.19Z" }, + { url = "https://files.pythonhosted.org/packages/c5/8b/fb9425c4684066c79e863f1e6e7ecebb49e3a64d9f7f7860ef1688c56f4a/coverage-7.9.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7931b9e249edefb07cd6ae10c702788546341d5fe44db5b6108a25da4dca513f", size = 254257, upload-time = "2025-06-13T13:01:59.645Z" }, + { url = "https://files.pythonhosted.org/packages/93/df/27b882f54157fc1131e0e215b0da3b8d608d9b8ef79a045280118a8f98fe/coverage-7.9.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:52e92b01041151bf607ee858e5a56c62d4b70f4dac85b8c8cb7fb8a351ab2c10", size = 255094, upload-time = "2025-06-13T13:02:01.37Z" }, + { url = "https://files.pythonhosted.org/packages/41/5f/cad1c3dbed8b3ee9e16fa832afe365b4e3eeab1fb6edb65ebbf745eabc92/coverage-7.9.1-cp313-cp313t-win32.whl", hash = "sha256:684e2110ed84fd1ca5f40e89aa44adf1729dc85444004111aa01866507adf363", size = 215437, upload-time = "2025-06-13T13:02:02.905Z" }, + { url = "https://files.pythonhosted.org/packages/99/4d/fad293bf081c0e43331ca745ff63673badc20afea2104b431cdd8c278b4c/coverage-7.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:437c576979e4db840539674e68c84b3cda82bc824dd138d56bead1435f1cb5d7", size = 216605, upload-time = "2025-06-13T13:02:05.638Z" }, + { url = "https://files.pythonhosted.org/packages/1f/56/4ee027d5965fc7fc126d7ec1187529cc30cc7d740846e1ecb5e92d31b224/coverage-7.9.1-cp313-cp313t-win_arm64.whl", hash = "sha256:18a0912944d70aaf5f399e350445738a1a20b50fbea788f640751c2ed9208b6c", size = 214392, upload-time = "2025-06-13T13:02:07.642Z" }, + { url = "https://files.pythonhosted.org/packages/3e/e5/c723545c3fd3204ebde3b4cc4b927dce709d3b6dc577754bb57f63ca4a4a/coverage-7.9.1-pp39.pp310.pp311-none-any.whl", hash = "sha256:db0f04118d1db74db6c9e1cb1898532c7dcc220f1d2718f058601f7c3f499514", size = 204009, upload-time = "2025-06-13T13:02:25.787Z" }, + { url = "https://files.pythonhosted.org/packages/08/b8/7ddd1e8ba9701dea08ce22029917140e6f66a859427406579fd8d0ca7274/coverage-7.9.1-py3-none-any.whl", hash = "sha256:66b974b145aa189516b6bf2d8423e888b742517d37872f6ee4c5be0073bd9a3c", size = 204000, upload-time = "2025-06-13T13:02:27.173Z" }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version <= '3.11'" }, +] + +[[package]] +name = "cryptography" +version = "45.0.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d6/0d/d13399c94234ee8f3df384819dc67e0c5ce215fb751d567a55a1f4b028c7/cryptography-45.0.6.tar.gz", hash = "sha256:5c966c732cf6e4a276ce83b6e4c729edda2df6929083a952cc7da973c539c719", size = 744949, upload-time = "2025-08-05T23:59:27.93Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8c/29/2793d178d0eda1ca4a09a7c4e09a5185e75738cc6d526433e8663b460ea6/cryptography-45.0.6-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:048e7ad9e08cf4c0ab07ff7f36cc3115924e22e2266e034450a890d9e312dd74", size = 7042702, upload-time = "2025-08-05T23:58:23.464Z" }, + { url = "https://files.pythonhosted.org/packages/b3/b6/cabd07410f222f32c8d55486c464f432808abaa1f12af9afcbe8f2f19030/cryptography-45.0.6-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:44647c5d796f5fc042bbc6d61307d04bf29bccb74d188f18051b635f20a9c75f", size = 4206483, upload-time = "2025-08-05T23:58:27.132Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9e/f9c7d36a38b1cfeb1cc74849aabe9bf817990f7603ff6eb485e0d70e0b27/cryptography-45.0.6-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e40b80ecf35ec265c452eea0ba94c9587ca763e739b8e559c128d23bff7ebbbf", size = 4429679, upload-time = "2025-08-05T23:58:29.152Z" }, + { url = "https://files.pythonhosted.org/packages/9c/2a/4434c17eb32ef30b254b9e8b9830cee4e516f08b47fdd291c5b1255b8101/cryptography-45.0.6-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:00e8724bdad672d75e6f069b27970883179bd472cd24a63f6e620ca7e41cc0c5", size = 4210553, upload-time = "2025-08-05T23:58:30.596Z" }, + { url = "https://files.pythonhosted.org/packages/ef/1d/09a5df8e0c4b7970f5d1f3aff1b640df6d4be28a64cae970d56c6cf1c772/cryptography-45.0.6-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7a3085d1b319d35296176af31c90338eeb2ddac8104661df79f80e1d9787b8b2", size = 3894499, upload-time = "2025-08-05T23:58:32.03Z" }, + { url = "https://files.pythonhosted.org/packages/79/62/120842ab20d9150a9d3a6bdc07fe2870384e82f5266d41c53b08a3a96b34/cryptography-45.0.6-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1b7fa6a1c1188c7ee32e47590d16a5a0646270921f8020efc9a511648e1b2e08", size = 4458484, upload-time = "2025-08-05T23:58:33.526Z" }, + { url = "https://files.pythonhosted.org/packages/fd/80/1bc3634d45ddfed0871bfba52cf8f1ad724761662a0c792b97a951fb1b30/cryptography-45.0.6-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:275ba5cc0d9e320cd70f8e7b96d9e59903c815ca579ab96c1e37278d231fc402", size = 4210281, upload-time = "2025-08-05T23:58:35.445Z" }, + { url = "https://files.pythonhosted.org/packages/7d/fe/ffb12c2d83d0ee625f124880a1f023b5878f79da92e64c37962bbbe35f3f/cryptography-45.0.6-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:f4028f29a9f38a2025abedb2e409973709c660d44319c61762202206ed577c42", size = 4456890, upload-time = "2025-08-05T23:58:36.923Z" }, + { url = "https://files.pythonhosted.org/packages/8c/8e/b3f3fe0dc82c77a0deb5f493b23311e09193f2268b77196ec0f7a36e3f3e/cryptography-45.0.6-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ee411a1b977f40bd075392c80c10b58025ee5c6b47a822a33c1198598a7a5f05", size = 4333247, upload-time = "2025-08-05T23:58:38.781Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a6/c3ef2ab9e334da27a1d7b56af4a2417d77e7806b2e0f90d6267ce120d2e4/cryptography-45.0.6-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e2a21a8eda2d86bb604934b6b37691585bd095c1f788530c1fcefc53a82b3453", size = 4565045, upload-time = "2025-08-05T23:58:40.415Z" }, + { url = "https://files.pythonhosted.org/packages/31/c3/77722446b13fa71dddd820a5faab4ce6db49e7e0bf8312ef4192a3f78e2f/cryptography-45.0.6-cp311-abi3-win32.whl", hash = "sha256:d063341378d7ee9c91f9d23b431a3502fc8bfacd54ef0a27baa72a0843b29159", size = 2928923, upload-time = "2025-08-05T23:58:41.919Z" }, + { url = "https://files.pythonhosted.org/packages/38/63/a025c3225188a811b82932a4dcc8457a26c3729d81578ccecbcce2cb784e/cryptography-45.0.6-cp311-abi3-win_amd64.whl", hash = "sha256:833dc32dfc1e39b7376a87b9a6a4288a10aae234631268486558920029b086ec", size = 3403805, upload-time = "2025-08-05T23:58:43.792Z" }, + { url = "https://files.pythonhosted.org/packages/5b/af/bcfbea93a30809f126d51c074ee0fac5bd9d57d068edf56c2a73abedbea4/cryptography-45.0.6-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:3436128a60a5e5490603ab2adbabc8763613f638513ffa7d311c900a8349a2a0", size = 7020111, upload-time = "2025-08-05T23:58:45.316Z" }, + { url = "https://files.pythonhosted.org/packages/98/c6/ea5173689e014f1a8470899cd5beeb358e22bb3cf5a876060f9d1ca78af4/cryptography-45.0.6-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0d9ef57b6768d9fa58e92f4947cea96ade1233c0e236db22ba44748ffedca394", size = 4198169, upload-time = "2025-08-05T23:58:47.121Z" }, + { url = "https://files.pythonhosted.org/packages/ba/73/b12995edc0c7e2311ffb57ebd3b351f6b268fed37d93bfc6f9856e01c473/cryptography-45.0.6-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ea3c42f2016a5bbf71825537c2ad753f2870191134933196bee408aac397b3d9", size = 4421273, upload-time = "2025-08-05T23:58:48.557Z" }, + { url = "https://files.pythonhosted.org/packages/f7/6e/286894f6f71926bc0da67408c853dd9ba953f662dcb70993a59fd499f111/cryptography-45.0.6-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:20ae4906a13716139d6d762ceb3e0e7e110f7955f3bc3876e3a07f5daadec5f3", size = 4199211, upload-time = "2025-08-05T23:58:50.139Z" }, + { url = "https://files.pythonhosted.org/packages/de/34/a7f55e39b9623c5cb571d77a6a90387fe557908ffc44f6872f26ca8ae270/cryptography-45.0.6-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dac5ec199038b8e131365e2324c03d20e97fe214af051d20c49db129844e8b3", size = 3883732, upload-time = "2025-08-05T23:58:52.253Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b9/c6d32edbcba0cd9f5df90f29ed46a65c4631c4fbe11187feb9169c6ff506/cryptography-45.0.6-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:18f878a34b90d688982e43f4b700408b478102dd58b3e39de21b5ebf6509c301", size = 4450655, upload-time = "2025-08-05T23:58:53.848Z" }, + { url = "https://files.pythonhosted.org/packages/77/2d/09b097adfdee0227cfd4c699b3375a842080f065bab9014248933497c3f9/cryptography-45.0.6-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:5bd6020c80c5b2b2242d6c48487d7b85700f5e0038e67b29d706f98440d66eb5", size = 4198956, upload-time = "2025-08-05T23:58:55.209Z" }, + { url = "https://files.pythonhosted.org/packages/55/66/061ec6689207d54effdff535bbdf85cc380d32dd5377173085812565cf38/cryptography-45.0.6-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:eccddbd986e43014263eda489abbddfbc287af5cddfd690477993dbb31e31016", size = 4449859, upload-time = "2025-08-05T23:58:56.639Z" }, + { url = "https://files.pythonhosted.org/packages/41/ff/e7d5a2ad2d035e5a2af116e1a3adb4d8fcd0be92a18032917a089c6e5028/cryptography-45.0.6-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:550ae02148206beb722cfe4ef0933f9352bab26b087af00e48fdfb9ade35c5b3", size = 4320254, upload-time = "2025-08-05T23:58:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/82/27/092d311af22095d288f4db89fcaebadfb2f28944f3d790a4cf51fe5ddaeb/cryptography-45.0.6-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5b64e668fc3528e77efa51ca70fadcd6610e8ab231e3e06ae2bab3b31c2b8ed9", size = 4554815, upload-time = "2025-08-05T23:59:00.283Z" }, + { url = "https://files.pythonhosted.org/packages/7e/01/aa2f4940262d588a8fdf4edabe4cda45854d00ebc6eaac12568b3a491a16/cryptography-45.0.6-cp37-abi3-win32.whl", hash = "sha256:780c40fb751c7d2b0c6786ceee6b6f871e86e8718a8ff4bc35073ac353c7cd02", size = 2912147, upload-time = "2025-08-05T23:59:01.716Z" }, + { url = "https://files.pythonhosted.org/packages/0a/bc/16e0276078c2de3ceef6b5a34b965f4436215efac45313df90d55f0ba2d2/cryptography-45.0.6-cp37-abi3-win_amd64.whl", hash = "sha256:20d15aed3ee522faac1a39fbfdfee25d17b1284bafd808e1640a74846d7c4d1b", size = 3390459, upload-time = "2025-08-05T23:59:03.358Z" }, + { url = "https://files.pythonhosted.org/packages/56/d2/4482d97c948c029be08cb29854a91bd2ae8da7eb9c4152461f1244dcea70/cryptography-45.0.6-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:705bb7c7ecc3d79a50f236adda12ca331c8e7ecfbea51edd931ce5a7a7c4f012", size = 3576812, upload-time = "2025-08-05T23:59:04.833Z" }, + { url = "https://files.pythonhosted.org/packages/ec/24/55fc238fcaa122855442604b8badb2d442367dfbd5a7ca4bb0bd346e263a/cryptography-45.0.6-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:826b46dae41a1155a0c0e66fafba43d0ede1dc16570b95e40c4d83bfcf0a451d", size = 4141694, upload-time = "2025-08-05T23:59:06.66Z" }, + { url = "https://files.pythonhosted.org/packages/f9/7e/3ea4fa6fbe51baf3903806a0241c666b04c73d2358a3ecce09ebee8b9622/cryptography-45.0.6-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cc4d66f5dc4dc37b89cfef1bd5044387f7a1f6f0abb490815628501909332d5d", size = 4375010, upload-time = "2025-08-05T23:59:08.14Z" }, + { url = "https://files.pythonhosted.org/packages/50/42/ec5a892d82d2a2c29f80fc19ced4ba669bca29f032faf6989609cff1f8dc/cryptography-45.0.6-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:f68f833a9d445cc49f01097d95c83a850795921b3f7cc6488731e69bde3288da", size = 4141377, upload-time = "2025-08-05T23:59:09.584Z" }, + { url = "https://files.pythonhosted.org/packages/e7/d7/246c4c973a22b9c2931999da953a2c19cae7c66b9154c2d62ffed811225e/cryptography-45.0.6-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:3b5bf5267e98661b9b888a9250d05b063220dfa917a8203744454573c7eb79db", size = 4374609, upload-time = "2025-08-05T23:59:11.923Z" }, + { url = "https://files.pythonhosted.org/packages/78/6d/c49ccf243f0a1b0781c2a8de8123ee552f0c8a417c6367a24d2ecb7c11b3/cryptography-45.0.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2384f2ab18d9be88a6e4f8972923405e2dbb8d3e16c6b43f15ca491d7831bd18", size = 3322156, upload-time = "2025-08-05T23:59:13.597Z" }, + { url = "https://files.pythonhosted.org/packages/61/69/c252de4ec047ba2f567ecb53149410219577d408c2aea9c989acae7eafce/cryptography-45.0.6-pp311-pypy311_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fc022c1fa5acff6def2fc6d7819bbbd31ccddfe67d075331a65d9cfb28a20983", size = 3584669, upload-time = "2025-08-05T23:59:15.431Z" }, + { url = "https://files.pythonhosted.org/packages/e3/fe/deea71e9f310a31fe0a6bfee670955152128d309ea2d1c79e2a5ae0f0401/cryptography-45.0.6-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:3de77e4df42ac8d4e4d6cdb342d989803ad37707cf8f3fbf7b088c9cbdd46427", size = 4153022, upload-time = "2025-08-05T23:59:16.954Z" }, + { url = "https://files.pythonhosted.org/packages/60/45/a77452f5e49cb580feedba6606d66ae7b82c128947aa754533b3d1bd44b0/cryptography-45.0.6-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:599c8d7df950aa68baa7e98f7b73f4f414c9f02d0e8104a30c0182a07732638b", size = 4386802, upload-time = "2025-08-05T23:59:18.55Z" }, + { url = "https://files.pythonhosted.org/packages/a3/b9/a2f747d2acd5e3075fdf5c145c7c3568895daaa38b3b0c960ef830db6cdc/cryptography-45.0.6-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:31a2b9a10530a1cb04ffd6aa1cd4d3be9ed49f7d77a4dafe198f3b382f41545c", size = 4152706, upload-time = "2025-08-05T23:59:20.044Z" }, + { url = "https://files.pythonhosted.org/packages/81/ec/381b3e8d0685a3f3f304a382aa3dfce36af2d76467da0fd4bb21ddccc7b2/cryptography-45.0.6-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:e5b3dda1b00fb41da3af4c5ef3f922a200e33ee5ba0f0bc9ecf0b0c173958385", size = 4386740, upload-time = "2025-08-05T23:59:21.525Z" }, + { url = "https://files.pythonhosted.org/packages/0a/76/cf8d69da8d0b5ecb0db406f24a63a3f69ba5e791a11b782aeeefef27ccbb/cryptography-45.0.6-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:629127cfdcdc6806dfe234734d7cb8ac54edaf572148274fa377a7d3405b0043", size = 3331874, upload-time = "2025-08-05T23:59:23.017Z" }, +] + +[[package]] +name = "deepdiff" +version = "8.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "orderly-set" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/0f/9cd2624f7dcd755cbf1fa21fb7234541f19a1be96a56f387ec9053ebe220/deepdiff-8.5.0.tar.gz", hash = "sha256:a4dd3529fa8d4cd5b9cbb6e3ea9c95997eaa919ba37dac3966c1b8f872dc1cd1", size = 538517, upload-time = "2025-05-09T18:44:10.035Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4a/3b/2e0797200c51531a6d8c97a8e4c9fa6fb56de7e6e2a15c1c067b6b10a0b0/deepdiff-8.5.0-py3-none-any.whl", hash = "sha256:d4599db637f36a1c285f5fdfc2cd8d38bde8d8be8636b65ab5e425b67c54df26", size = 85112, upload-time = "2025-05-09T18:44:07.784Z" }, +] + +[[package]] +name = "distlib" +version = "0.3.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923, upload-time = "2024-10-09T18:35:47.551Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" }, +] + +[[package]] +name = "docopt" +version = "0.6.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491", size = 25901, upload-time = "2014-06-16T11:18:57.406Z" } + +[[package]] +name = "dynaconf" +version = "3.2.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/62/eb/e9d1249ff56b11e63fd8c7d0fcc1f94704e21693c16862bf0ebfb07bd61a/dynaconf-3.2.11.tar.gz", hash = "sha256:4cfc6a730c533bf1a1d0bf266ae202133a22236bb3227d23eff4b8542d4034a5", size = 234694, upload-time = "2025-05-06T15:44:59.16Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/64/580c74003a356c5662e7b1da43ecd7cbda6e8f970c87b30c5a654c8ccb53/dynaconf-3.2.11-py2.py3-none-any.whl", hash = "sha256:660de90879d4da236f79195692a7d197957224d7acf922bcc6899187dc7b4a27", size = 236536, upload-time = "2025-05-06T15:44:56.18Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, +] + +[[package]] +name = "filelock" +version = "3.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload-time = "2025-03-14T07:11:40.47Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload-time = "2025-03-14T07:11:39.145Z" }, +] + +[[package]] +name = "gitlint" +version = "0.19.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "gitlint-core", extra = ["trusted-deps"] }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/d2/67e308b3f26394b2e98d2b0df594aa8c116e165d09d15094d45ecade7272/gitlint-0.19.1.tar.gz", hash = "sha256:b5b70fb894e80849b69abbb65ee7dbb3520fc3511f202a6e6b6ddf1a71ee8f61", size = 4799, upload-time = "2023-03-10T12:51:45.875Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/90/8b6a29ddceb51272a054399d4864eefd28083530349f5735e0bb979c5f0f/gitlint-0.19.1-py3-none-any.whl", hash = "sha256:26bb085959148d99fbbc178b4e56fda6c3edd7646b7c2a24d8ee1f8e036ed85d", size = 2649, upload-time = "2023-03-10T12:51:44.191Z" }, +] + +[[package]] +name = "gitlint-core" +version = "0.19.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "arrow" }, + { name = "click" }, + { name = "sh", marker = "sys_platform != 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/73/51/b59270264aabcab5b933f3eb9bfb022464ca9205b04feef1bdc1635fd9b4/gitlint_core-0.19.1.tar.gz", hash = "sha256:7bf977b03ff581624a9e03f65ebb8502cc12dfaa3e92d23e8b2b54bbdaa29992", size = 36141, upload-time = "2023-03-10T12:51:42.713Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/57/dea471da24ceac6de8c3dc5d37e4ddde57a5c340d6bac90010898734de34/gitlint_core-0.19.1-py3-none-any.whl", hash = "sha256:f41effd1dcbc06ffbfc56b6888cce72241796f517b46bd9fd4ab1b145056988c", size = 44207, upload-time = "2023-03-10T12:51:41.054Z" }, +] + +[package.optional-dependencies] +trusted-deps = [ + { name = "arrow" }, + { name = "click" }, + { name = "sh", marker = "sys_platform != 'win32'" }, +] + +[[package]] +name = "gooddata-api-client" +version = "1.48.0" +source = { editable = "gooddata-api-client" } +dependencies = [ + { name = "python-dateutil" }, + { name = "urllib3" }, +] + +[package.metadata] +requires-dist = [ + { name = "python-dateutil" }, + { name = "urllib3", specifier = ">=1.25.3" }, +] + +[[package]] +name = "gooddata-dbt" +version = "1.45.0" +source = { editable = "packages/gooddata-dbt" } +dependencies = [ + { name = "attrs" }, + { name = "cattrs" }, + { name = "gooddata-sdk" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "tabulate" }, +] + +[package.dev-dependencies] +test = [ + { name = "pytest" }, + { name = "pytest-cov" }, +] +type = [ + { name = "mypy" }, + { name = "pydantic" }, +] + +[package.metadata] +requires-dist = [ + { name = "attrs", specifier = ">=21.4.0,<=24.2.0" }, + { name = "cattrs", specifier = ">=22.1.0,<=24.1.1" }, + { name = "gooddata-sdk", editable = "packages/gooddata-sdk" }, + { name = "pyyaml", specifier = ">=6.0" }, + { name = "requests", specifier = "~=2.32.0" }, + { name = "tabulate", specifier = "~=0.8.10" }, +] + +[package.metadata.requires-dev] +test = [ + { name = "pytest", specifier = "~=8.3.4" }, + { name = "pytest-cov", specifier = "~=6.0.0" }, +] +type = [ + { name = "mypy", specifier = "~=1.11.2" }, + { name = "pydantic", specifier = "~=2.9.2" }, +] + +[[package]] +name = "gooddata-fdw" +version = "1.45.0" +source = { editable = "packages/gooddata-fdw" } +dependencies = [ + { name = "gooddata-sdk" }, +] + +[package.dev-dependencies] +test = [ + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "pyyaml" }, + { name = "urllib3" }, + { name = "vcrpy" }, +] +type = [ + { name = "mypy" }, + { name = "pydantic" }, +] + +[package.metadata] +requires-dist = [{ name = "gooddata-sdk", editable = "packages/gooddata-sdk" }] + +[package.metadata.requires-dev] +test = [ + { name = "pytest", specifier = "~=8.3.4" }, + { name = "pytest-cov", specifier = "~=6.0.0" }, + { name = "pyyaml" }, + { name = "urllib3", specifier = "==1.26.9" }, + { name = "vcrpy", specifier = "~=7.0.0" }, +] +type = [ + { name = "mypy", specifier = "~=1.11.2" }, + { name = "pydantic", specifier = "~=2.9.2" }, +] + +[[package]] +name = "gooddata-flexconnect" +version = "1.45.0" +source = { editable = "packages/gooddata-flexconnect" } +dependencies = [ + { name = "dynaconf" }, + { name = "gooddata-flight-server" }, + { name = "gooddata-sdk" }, + { name = "orjson" }, + { name = "pyarrow" }, + { name = "structlog" }, +] + +[package.dev-dependencies] +test = [ + { name = "jsonschema" }, + { name = "pytest" }, + { name = "pytest-cov" }, +] +type = [ + { name = "mypy" }, + { name = "pydantic" }, +] + +[package.metadata] +requires-dist = [ + { name = "dynaconf", specifier = ">=3.1.11,<4.0.0" }, + { name = "gooddata-flight-server", editable = "packages/gooddata-flight-server" }, + { name = "gooddata-sdk", editable = "packages/gooddata-sdk" }, + { name = "orjson", specifier = ">=3.9.15,<4.0.0" }, + { name = "pyarrow", specifier = ">=16.1.0" }, + { name = "structlog", specifier = ">=24.0.0,<25.0.0" }, +] + +[package.metadata.requires-dev] +test = [ + { name = "jsonschema", specifier = "~=4.23.0" }, + { name = "pytest", specifier = "~=8.3.4" }, + { name = "pytest-cov", specifier = "~=6.0.0" }, +] +type = [ + { name = "mypy", specifier = "~=1.11.2" }, + { name = "pydantic", specifier = "~=2.9.2" }, +] + +[[package]] +name = "gooddata-flight-server" +version = "1.45.0" +source = { editable = "packages/gooddata-flight-server" } +dependencies = [ + { name = "dynaconf" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-sdk" }, + { name = "orjson" }, + { name = "prometheus-client" }, + { name = "pyarrow" }, + { name = "readerwriterlock" }, + { name = "structlog" }, +] + +[package.dev-dependencies] +test = [ + { name = "pytest" }, + { name = "pytest-cov" }, +] +type = [ + { name = "mypy" }, + { name = "pydantic" }, +] + +[package.metadata] +requires-dist = [ + { name = "dynaconf", specifier = ">=3.1.11,<4.0.0" }, + { name = "opentelemetry-api", specifier = ">=1.24.0,<=2.0.0" }, + { name = "opentelemetry-sdk", specifier = ">=1.24.0,<=2.0.0" }, + { name = "orjson", specifier = ">=3.8.5,<4.0.0" }, + { name = "prometheus-client", specifier = "~=0.20.0" }, + { name = "pyarrow", specifier = ">=16.1.0" }, + { name = "readerwriterlock", specifier = "~=1.0.9" }, + { name = "structlog", specifier = ">=24.0.0,<25.0.0" }, +] + +[package.metadata.requires-dev] +test = [ + { name = "pytest", specifier = "~=8.3.4" }, + { name = "pytest-cov", specifier = "~=6.0.0" }, +] +type = [ + { name = "mypy", specifier = "~=1.11.2" }, + { name = "pydantic", specifier = "~=2.9.2" }, +] + +[[package]] +name = "gooddata-pandas" +version = "1.45.0" +source = { editable = "packages/gooddata-pandas" } +dependencies = [ + { name = "gooddata-sdk" }, + { name = "pandas" }, +] + +[package.dev-dependencies] +test = [ + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "pytest-order" }, + { name = "pytest-snapshot" }, + { name = "python-dotenv" }, + { name = "pyyaml" }, + { name = "urllib3" }, + { name = "vcrpy" }, +] +type = [ + { name = "mypy" }, + { name = "pydantic" }, +] + +[package.metadata] +requires-dist = [ + { name = "gooddata-sdk", editable = "packages/gooddata-sdk" }, + { name = "pandas", specifier = ">=2.0.0,<3.0.0" }, +] + +[package.metadata.requires-dev] +test = [ + { name = "pytest", specifier = "~=8.3.4" }, + { name = "pytest-cov", specifier = "~=6.0.0" }, + { name = "pytest-order", specifier = "~=1.3.0" }, + { name = "pytest-snapshot", specifier = "==0.9.0" }, + { name = "python-dotenv", specifier = "~=1.0.0" }, + { name = "pyyaml" }, + { name = "urllib3", specifier = "==1.26.9" }, + { name = "vcrpy", specifier = "~=7.0.0" }, +] +type = [ + { name = "mypy", specifier = "~=1.11.2" }, + { name = "pydantic", specifier = "~=2.9.2" }, +] + +[[package]] +name = "gooddata-pipelines" +version = "1.48.0" +source = { editable = "packages/gooddata-pipelines" } +dependencies = [ + { name = "boto3" }, + { name = "boto3-stubs" }, + { name = "gooddata-sdk" }, + { name = "pydantic" }, + { name = "requests" }, + { name = "types-pyyaml" }, + { name = "types-requests" }, +] + +[package.optional-dependencies] +dev = [ + { name = "moto" }, + { name = "mypy" }, + { name = "pytest" }, + { name = "pytest-mock" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [ + { name = "boto3", specifier = ">=1.39.3,<2.0.0" }, + { name = "boto3-stubs", specifier = ">=1.39.3,<2.0.0" }, + { name = "gooddata-sdk", editable = "packages/gooddata-sdk" }, + { name = "moto", marker = "extra == 'dev'", specifier = ">=5.1.6,<6.0.0" }, + { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.11.2,<2.0.0" }, + { name = "pydantic", specifier = ">=2.9.2,<3.0.0" }, + { name = "pytest", marker = "extra == 'dev'", specifier = ">=8.3.5,<9.0.0" }, + { name = "pytest-mock", marker = "extra == 'dev'", specifier = ">=3.14.0,<4.0.0" }, + { name = "requests", specifier = ">=2.32.3,<3.0.0" }, + { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.9.5,<0.12.0" }, + { name = "types-pyyaml", specifier = ">=6.0.12.20250326,<7.0.0" }, + { name = "types-requests", specifier = ">1.0.0,<3.0.0" }, +] +provides-extras = ["dev"] + +[[package]] +name = "gooddata-python-sdk-workspace" +version = "1.45.0" +source = { virtual = "." } +dependencies = [ + { name = "gooddata-api-client" }, + { name = "gooddata-dbt" }, + { name = "gooddata-fdw" }, + { name = "gooddata-flexconnect" }, + { name = "gooddata-flight-server" }, + { name = "gooddata-pandas" }, + { name = "gooddata-sdk" }, + { name = "tests-support" }, +] + +[package.dev-dependencies] +dev = [ + { name = "gitlint" }, + { name = "pre-commit" }, +] +lint = [ + { name = "ruff" }, +] +release = [ + { name = "tbump" }, + { name = "tomlkit" }, +] +tox = [ + { name = "tox" }, + { name = "tox-uv" }, +] +type = [ + { name = "mypy" }, +] + +[package.metadata] +requires-dist = [ + { name = "gooddata-api-client", editable = "gooddata-api-client" }, + { name = "gooddata-dbt", editable = "packages/gooddata-dbt" }, + { name = "gooddata-fdw", editable = "packages/gooddata-fdw" }, + { name = "gooddata-flexconnect", editable = "packages/gooddata-flexconnect" }, + { name = "gooddata-flight-server", editable = "packages/gooddata-flight-server" }, + { name = "gooddata-pandas", editable = "packages/gooddata-pandas" }, + { name = "gooddata-sdk", editable = "packages/gooddata-sdk" }, + { name = "tests-support", editable = "packages/tests-support" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "gitlint", specifier = "~=0.19.1" }, + { name = "pre-commit", specifier = "~=4.0.1" }, +] +lint = [{ name = "ruff", specifier = "==0.9.5" }] +release = [ + { name = "tbump", specifier = "~=6.11.0" }, + { name = "tomlkit", specifier = ">=0.11" }, +] +tox = [ + { name = "tox", specifier = "~=4.26.0" }, + { name = "tox-uv", specifier = "~=1.26.1" }, +] +type = [{ name = "mypy", specifier = "~=1.11.2" }] + +[[package]] +name = "gooddata-sdk" +version = "1.45.0" +source = { editable = "packages/gooddata-sdk" } +dependencies = [ + { name = "attrs" }, + { name = "brotli" }, + { name = "cattrs" }, + { name = "gooddata-api-client" }, + { name = "python-dateutil" }, + { name = "python-dotenv" }, + { name = "pyyaml" }, + { name = "requests" }, +] + +[package.dev-dependencies] +test = [ + { name = "deepdiff" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "pytest-order" }, + { name = "pytest-snapshot" }, + { name = "python-dotenv" }, + { name = "urllib3" }, + { name = "vcrpy" }, +] +type = [ + { name = "attrs" }, + { name = "cattrs" }, + { name = "mypy" }, + { name = "pydantic" }, + { name = "types-python-dateutil" }, + { name = "types-pyyaml" }, +] + +[package.metadata] +requires-dist = [ + { name = "attrs", specifier = ">=21.4.0,<=24.2.0" }, + { name = "brotli", specifier = "==1.1.0" }, + { name = "cattrs", specifier = ">=22.1.0,<=24.1.1" }, + { name = "gooddata-api-client", editable = "gooddata-api-client" }, + { name = "python-dateutil", specifier = ">=2.5.3" }, + { name = "python-dotenv", specifier = ">=1.0.0,<2.0.0" }, + { name = "pyyaml", specifier = ">=6.0" }, + { name = "requests", specifier = "~=2.32.0" }, +] + +[package.metadata.requires-dev] +test = [ + { name = "deepdiff", specifier = "~=8.5.0" }, + { name = "pytest", specifier = "~=8.3.4" }, + { name = "pytest-cov", specifier = "~=6.0.0" }, + { name = "pytest-order", specifier = "~=1.3.0" }, + { name = "pytest-snapshot", specifier = "==0.9.0" }, + { name = "python-dotenv", specifier = "~=1.0.0" }, + { name = "urllib3", specifier = "==1.26.9" }, + { name = "vcrpy", specifier = "~=7.0.0" }, +] +type = [ + { name = "attrs", specifier = ">=21.4.0,<=24.2.0" }, + { name = "cattrs", specifier = ">=22.1.0,<=24.1.1" }, + { name = "mypy", specifier = "~=1.11.2" }, + { name = "pydantic", specifier = "~=2.9.2" }, + { name = "types-python-dateutil", specifier = ">=2.5.3" }, + { name = "types-pyyaml", specifier = "~=6.0.0" }, +] + +[[package]] +name = "identify" +version = "2.6.12" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/88/d193a27416618628a5eea64e3223acd800b40749a96ffb322a9b55a49ed1/identify-2.6.12.tar.gz", hash = "sha256:d8de45749f1efb108badef65ee8386f0f7bb19a7f26185f74de6367bffbaf0e6", size = 99254, upload-time = "2025-05-23T20:37:53.3Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/cd/18f8da995b658420625f7ef13f037be53ae04ec5ad33f9b718240dcfd48c/identify-2.6.12-py2.py3-none-any.whl", hash = "sha256:ad9672d5a72e0d2ff7c5c8809b62dfa60458626352fb0eb7b55e69bdc45334a2", size = 99145, upload-time = "2025-05-23T20:37:51.495Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.23.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778, upload-time = "2024-07-08T18:40:05.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462, upload-time = "2024-07-08T18:40:00.165Z" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608", size = 15513, upload-time = "2025-04-23T12:34:07.418Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437, upload-time = "2025-04-23T12:34:05.422Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, +] + +[[package]] +name = "moto" +version = "5.1.10" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "boto3" }, + { name = "botocore" }, + { name = "cryptography" }, + { name = "jinja2" }, + { name = "python-dateutil" }, + { name = "requests" }, + { name = "responses" }, + { name = "werkzeug" }, + { name = "xmltodict" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c4/72/9bc9b4917b816f5a82fc8f0fbd477c2a669d35a7d7941ae15a5411e266d6/moto-5.1.10.tar.gz", hash = "sha256:d6bdc8f82a1e503502927cc0a3da22014f836094d0bf399bb0f695754ae6c7a6", size = 7087004, upload-time = "2025-08-11T20:59:45.542Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/37/9b9cb5597eecc2ebfde2f65a8265f3669f6724ebe82bf9b155a3421039f8/moto-5.1.10-py3-none-any.whl", hash = "sha256:9ec1a21a924f97470af225b2bfa854fe46c1ad30fb44655eba458206dedf28b5", size = 5246859, upload-time = "2025-08-11T20:59:43.22Z" }, +] + +[[package]] +name = "multidict" +version = "6.6.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/03/5d/d72502cd6dd64b0c5a5117b1701f05c38e94ffb4a1b4ab65ff0cd9b974e8/multidict-6.6.2.tar.gz", hash = "sha256:c1e8b8b0523c0361a78ce9b99d9850c51cf25e1fa3c5686030ce75df6fdf2918", size = 100939, upload-time = "2025-06-28T14:38:20.828Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/9d/9bcb4da29ff4e5a5dd7dccefaf49de8acae5b027e1a8b53296ac61ba14ab/multidict-6.6.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cfd9c74d337e710d7ee26e72a7dbedbd60e0c58d3df7c5ccbb748857e977783c", size = 76829, upload-time = "2025-06-28T14:35:47.461Z" }, + { url = "https://files.pythonhosted.org/packages/8d/40/4ca4b3eb34d4b57bb0a7385ca206fc28bc62aeb99daee47e72463efcdfc6/multidict-6.6.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9d2c5867a1bd182041a950e9ec3dd3622926260434655bd5d94a62d889100787", size = 44799, upload-time = "2025-06-28T14:35:49.593Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d7/30ef84053dcb9f4a3ae9b0057b89da3236683ece29ded9b489793addf660/multidict-6.6.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bc8551dd0000ce3f1d909906415ec18970fedb78e685dcac3a0b331a3422d810", size = 44476, upload-time = "2025-06-28T14:35:51.728Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3a/4cc34184902534abd2f82d9cfd159a333fd56602aa4de4644aaa441f3e6b/multidict-6.6.2-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:9a23d9360f656c316518c8534685ca7c9f18877f782c11bcfce97ff1012ba256", size = 225204, upload-time = "2025-06-28T14:35:52.822Z" }, + { url = "https://files.pythonhosted.org/packages/f0/20/fb362a4b56a050c10480a81d4d04ce461e01b2f8d02f1e41d2367849670d/multidict-6.6.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:37fe64cfc6f73fce34f2ef9e099efb8333650b85b50929ba37789311283f476f", size = 244463, upload-time = "2025-06-28T14:35:53.981Z" }, + { url = "https://files.pythonhosted.org/packages/4e/a0/84aec746dc7e5db95da3c5777aafd8b78ff91a66b3e7d55bcea783d5b3e3/multidict-6.6.2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2429b25566ff8c12cdf472ee82084ea96ea085675822d6d85aee85efd1d36cc0", size = 221250, upload-time = "2025-06-28T14:35:55.168Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9b/549656e890c5134b666928fd56d99b7d7eb1579ab62e821a0a3a07d20738/multidict-6.6.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:66c596bd9bc833bad98445539ad53165b214c2c87bf386dbb819fabd1acdb462", size = 255154, upload-time = "2025-06-28T14:35:56.422Z" }, + { url = "https://files.pythonhosted.org/packages/c6/de/8ca2242eda642d264a6e6f43a8c1ad9fee5e5aff15b39db8b00afaba5971/multidict-6.6.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:eb8c006b565a0e53b298e9d48ef5aafe343f77de65c4fa7adb3d3b752a22d10b", size = 251359, upload-time = "2025-06-28T14:35:57.857Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d7/34c3743e2dce6777c45dff9f451297b0e9a64e145ba3b59c6d5a8834a245/multidict-6.6.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d09a7ade505d4556aa00c18f5635c9e7fe5973b98fee4e034162b02e48da7bc", size = 242695, upload-time = "2025-06-28T14:35:59.07Z" }, + { url = "https://files.pythonhosted.org/packages/33/ab/20d63595785766d1d0aac9850b972b9ff20d533371a9140d499904dc7ace/multidict-6.6.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6c95573274630213748ecee465410d4e5e44532d97ba9b09481968efd3c1fd2c", size = 240935, upload-time = "2025-06-28T14:36:00.524Z" }, + { url = "https://files.pythonhosted.org/packages/6c/1e/a7c9b9a756ad45f2c9750471750345eb8ed8b7a921f742cec30fa70a4070/multidict-6.6.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e45ebeeee1ce0f9a68151cee1afe02eef56f3b6977a580873c179175e5108275", size = 233923, upload-time = "2025-06-28T14:36:02.061Z" }, + { url = "https://files.pythonhosted.org/packages/44/c6/bb6e4cca146748e2b787d9338009e8c845af48808600b0769215b6a1fea7/multidict-6.6.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:329ecbdd77402648ebcb077b342ad6e67396dcf377c67418a733e88476ff3a11", size = 241715, upload-time = "2025-06-28T14:36:03.253Z" }, + { url = "https://files.pythonhosted.org/packages/bf/24/d3c01293132168f6a29b2a5490ce4a07d34f0bdb5d73a4b2a177623b88bb/multidict-6.6.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f449699e273579a7eda79e36a8b7a6aae06a601d115c54e1aeebf08e07ea3ea1", size = 251433, upload-time = "2025-06-28T14:36:04.973Z" }, + { url = "https://files.pythonhosted.org/packages/0f/c1/dd47ff9571905e722ce9d71161d21bb970d9632224fa7bfdfe4ae59073c3/multidict-6.6.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ed4bb96a59976e4da7e1fbe3a7c37bcb4a16f3b20c5bba8af9a0ce459e14039a", size = 243316, upload-time = "2025-06-28T14:36:06.38Z" }, + { url = "https://files.pythonhosted.org/packages/1b/51/73906c1101792b8c6232ecbbbb2fe943a01d820b502a3e882b3ed986bad6/multidict-6.6.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4d05496c2779af4698ba8a841b226247a9a515210eff3a029f48d5345255b1d3", size = 238648, upload-time = "2025-06-28T14:36:07.609Z" }, + { url = "https://files.pythonhosted.org/packages/a8/8d/0174c5602a531da3c1c0e6e8497bd98702ad1793ff3a9988628de8d75a41/multidict-6.6.2-cp310-cp310-win32.whl", hash = "sha256:f96af5fbf6bab448d6dab34e8126f32f86de65034539d4a7077193f7b64a08f6", size = 41362, upload-time = "2025-06-28T14:36:08.859Z" }, + { url = "https://files.pythonhosted.org/packages/b1/58/40b720fd0a9ba2f492497c27c7d047606b20540be64a4315693054bd1d09/multidict-6.6.2-cp310-cp310-win_amd64.whl", hash = "sha256:44468089034383be86735f64f5d7daa6a1297e338b739403871a63750b95866d", size = 45892, upload-time = "2025-06-28T14:36:09.975Z" }, + { url = "https://files.pythonhosted.org/packages/72/53/1ab0ca0093516836b3e89aa9a9e7247f06109300a24b7d9fa3c983122394/multidict-6.6.2-cp310-cp310-win_arm64.whl", hash = "sha256:4e36b00dfb630a81f8efd4eb8a67b5b45f0918da3f2c8c4c14d16fc12b682d33", size = 42983, upload-time = "2025-06-28T14:36:11.06Z" }, + { url = "https://files.pythonhosted.org/packages/20/33/e9f6a8e960087721722e1bb7948f87647c12b2ed0526d8f5b062d4673cbb/multidict-6.6.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f89ce85a8f949e4dde3a4fb374500630cf425a32d8c53a2892b8fbfc556720dc", size = 76259, upload-time = "2025-06-28T14:36:12.137Z" }, + { url = "https://files.pythonhosted.org/packages/e5/41/9924607eee3b1a133e1890be63759378c086ecd34f8c6573552d1043d503/multidict-6.6.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73d6c5bed784d70e790b6f014c1a9456e76401ab32bdacbf8bf4a6c2f1654b12", size = 44529, upload-time = "2025-06-28T14:36:13.205Z" }, + { url = "https://files.pythonhosted.org/packages/10/43/29c7765474941cfc2739706bd0ebac056edc3ae091654a605440beabc03f/multidict-6.6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a94cff417557f5a665e81c642e88d0062d19203a6b470b84fd62007d9c4c23c6", size = 44188, upload-time = "2025-06-28T14:36:14.616Z" }, + { url = "https://files.pythonhosted.org/packages/01/24/8a016db31ca3664ddcf312c2671309068b040022366bf81f3dfa8a55e161/multidict-6.6.2-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:ebe5fc33f384c0277d3e9ecfc2f1fb3a5d2e6ac03deda39b84cf97611857241a", size = 228403, upload-time = "2025-06-28T14:36:15.697Z" }, + { url = "https://files.pythonhosted.org/packages/c8/15/d88e1f74daaa18be5544a718885bcbffc8b351a72fb019a12d44effb4f7c/multidict-6.6.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9723d0ba4d4eb50e7abcc235d4db5ce562c6cc20caa902967d8d915ccd73cd75", size = 248429, upload-time = "2025-06-28T14:36:16.949Z" }, + { url = "https://files.pythonhosted.org/packages/66/83/5e23f9c457d5b0995ce161cc26afdb62b73471e56cea104c0759022e9d6c/multidict-6.6.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fcb85c7bedeaace74fbb631186789a23706bf22a44224b36340576370b3d9fd5", size = 225137, upload-time = "2025-06-28T14:36:18.609Z" }, + { url = "https://files.pythonhosted.org/packages/9a/3d/8c5ef319927e179193f4fead913617f9c8e83722dcd3da5fcf34c8c41948/multidict-6.6.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7d037a8777504c29cb65b90b6bff6c5bf4e5129487a3f7e4517ae97c3dcf675e", size = 257370, upload-time = "2025-06-28T14:36:19.938Z" }, + { url = "https://files.pythonhosted.org/packages/6d/6b/68773e727bba1d3a3aa42c18e9f8000c2d928da39de979c9816d801e8952/multidict-6.6.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d082bf71da51352247b94622c9c8fd905b22bd4a7e94e252d4336492f595abe5", size = 256199, upload-time = "2025-06-28T14:36:21.262Z" }, + { url = "https://files.pythonhosted.org/packages/32/d7/8bcf5147c3c9a6581d80778757ec2f21c1e52f13cd1e268548d6f79e43c5/multidict-6.6.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ce75c8986b17bc35f22240b7a4d9561530551e1f715b6cc23e136e7c06e6922a", size = 246823, upload-time = "2025-06-28T14:36:22.688Z" }, + { url = "https://files.pythonhosted.org/packages/49/83/2c7cfc6057ad234d5708d738718c086c17265eadcd17a42f6e6c22b494d1/multidict-6.6.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f38e7b738de36f7caa707add650555d9bc01af9276000ba0427fda08153861f7", size = 244391, upload-time = "2025-06-28T14:36:24.335Z" }, + { url = "https://files.pythonhosted.org/packages/23/36/4a4ea1064705c4f5f1a8edecd825bd09529d8b6877283ab97f123c4eb324/multidict-6.6.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:3e88f5cf86bbe5303d056cec9ccc854408571a3f6d41ce90ca9fdc2df47e3810", size = 238816, upload-time = "2025-06-28T14:36:25.541Z" }, + { url = "https://files.pythonhosted.org/packages/a3/e5/b25ebe8dbfe577eb03b877b167446426e69ae33da10fa74fe68518f974e2/multidict-6.6.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:2b62ab7680362cfaf03059f7cb680d3bacd7d8adf176b0a86045e882486bbffc", size = 246514, upload-time = "2025-06-28T14:36:27.154Z" }, + { url = "https://files.pythonhosted.org/packages/4f/3a/642cb671e1563013327d56821cedacb132489c89a29e72c10c74acb5575d/multidict-6.6.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:5b39f3c6c22f4f227fe8994eb916ea12e4d46f65fdbc2d977d20750a85be581b", size = 254082, upload-time = "2025-06-28T14:36:28.65Z" }, + { url = "https://files.pythonhosted.org/packages/2f/cc/10b69b681cd2ef752506eb83295cbb151ebaf5716ae53a50626db0b6ffea/multidict-6.6.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:b256569fc1f8b52d0c3280503f2b5031e90cdb4469f67bfef32f53ef2b07922d", size = 248122, upload-time = "2025-06-28T14:36:30.533Z" }, + { url = "https://files.pythonhosted.org/packages/94/c2/e34dc495dc7501ffa936758d69f9268868f0fa1a99d059bd3bce7c97fc90/multidict-6.6.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:32791619e6b41cce97b6510fb68ee215c75012aa3c53778057a538ae473d3abd", size = 242454, upload-time = "2025-06-28T14:36:31.886Z" }, + { url = "https://files.pythonhosted.org/packages/71/38/2140871da7664088d6ddbf4597d07024e29e8f88a96348fff90f0c8aaf42/multidict-6.6.2-cp311-cp311-win32.whl", hash = "sha256:7eb520abcf9f0e983fa4c666586161a2137d78096546ea19744b50ceae1bc401", size = 41247, upload-time = "2025-06-28T14:36:33.471Z" }, + { url = "https://files.pythonhosted.org/packages/09/b5/b913cd1eaf8ef9eb19580a9699ed86a8f7f945248bfe09ca06ce5878caea/multidict-6.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:d2f765d6793815a82e517a1095c02ccbeab47f0a98fc244fe551625c519ade4d", size = 45877, upload-time = "2025-06-28T14:36:34.912Z" }, + { url = "https://files.pythonhosted.org/packages/90/34/8c041a172b032ec05da5476998876863b9d1eb9029925883e2e27fb48d69/multidict-6.6.2-cp311-cp311-win_arm64.whl", hash = "sha256:1d465e6cbbcadcbb8b3b08827fe9af889cc035500764b313aafb82c7e8e4b0a9", size = 42858, upload-time = "2025-06-28T14:36:36.003Z" }, + { url = "https://files.pythonhosted.org/packages/76/67/244bc9038eb05bae87a07d494ff48e43a4be7417c3fd538e0ea65c1beebf/multidict-6.6.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6e5e426aff6b5b32167b1185909ea390e51e59c7a6adfe65de16746e5739d8c1", size = 76357, upload-time = "2025-06-28T14:36:37.071Z" }, + { url = "https://files.pythonhosted.org/packages/61/3c/03a4d33683ffa9851a14e14cafa76130be99101b2a1b446d47967f47f68e/multidict-6.6.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0c4617af352d3e03b5febd040100d1bba67ac844e0f7780c8a124358883119dd", size = 45313, upload-time = "2025-06-28T14:36:38.121Z" }, + { url = "https://files.pythonhosted.org/packages/50/3c/5eca9c3be9ccb31c26ad144b5fb5160c29d853cd8bc52c1ce53ffd838a0a/multidict-6.6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:65854da6c2f065f7e52c4385727494d72b25eaf4e901b15fb3f61e21bb0b52eb", size = 43528, upload-time = "2025-06-28T14:36:39.169Z" }, + { url = "https://files.pythonhosted.org/packages/3a/d8/6707b7ac3fd336b034b89e9ac5fdcca045e8f6b84ee4163c1857795366b4/multidict-6.6.2-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:c477d3bc9a1aa0214f5639a8c1b4a6b3cd9faea5a861b4001a6df62294dcc952", size = 238181, upload-time = "2025-06-28T14:36:40.703Z" }, + { url = "https://files.pythonhosted.org/packages/a8/24/b822b9f9bceed4f22008172717d601d6209bbe7daca2d35828be60208ba9/multidict-6.6.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d19a4bc7c5c1a25424812a26e8dccb18fff65a5f24515d2f3b85302ca3f3914f", size = 257172, upload-time = "2025-06-28T14:36:42.402Z" }, + { url = "https://files.pythonhosted.org/packages/76/e6/7995824cc95a15daebb15da87fc9509cc3c35027885d534d80718c55d10e/multidict-6.6.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:54ffaf44483b082602c1e1831472e3369c005f092271dbbcad2f7b12d1e84019", size = 242147, upload-time = "2025-06-28T14:36:43.702Z" }, + { url = "https://files.pythonhosted.org/packages/f8/44/23c9b50461423766d9f32b013a49ce07b358a1188d43cfa977385a872d03/multidict-6.6.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a526df4fe21d2dc68265c046685042fc89187dc40754489f32f7efc05e264b0f", size = 267431, upload-time = "2025-06-28T14:36:44.964Z" }, + { url = "https://files.pythonhosted.org/packages/28/e4/72cc549230e7d93f9eca0206fac402af239058d8a9f0fb95f348762e8fdd/multidict-6.6.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:73e8763061f0a38cec6d084b696964ee7b7e50c10c89a64b20be7044dca36a74", size = 269480, upload-time = "2025-06-28T14:36:46.569Z" }, + { url = "https://files.pythonhosted.org/packages/7d/e3/a809cf2e624cb37f29f4569e756bd708cd96a93d3d940143464d9079a2f5/multidict-6.6.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:81a13031b6831e4de5a89fe391d7f8b60a929f2d22dad403c69d60853e5ba1ca", size = 256759, upload-time = "2025-06-28T14:36:47.859Z" }, + { url = "https://files.pythonhosted.org/packages/03/85/ad1127e662ed20d8ba2751bf67d874380a817577cd486a7309dd50d116a1/multidict-6.6.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6421f4d5acd632af56ae90906755b242e518d59f5313a7b41cd55fb59adfcd74", size = 252393, upload-time = "2025-06-28T14:36:49.169Z" }, + { url = "https://files.pythonhosted.org/packages/36/b3/67c331269372e38c435dff4c4b3b5ca8aba958dd58936153c5e64d07a515/multidict-6.6.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3fed2cfff9d8e3316fc4c5aca40f33d7cd29b5a9a4cbf4aa17dfcae592ccb17c", size = 249848, upload-time = "2025-06-28T14:36:50.88Z" }, + { url = "https://files.pythonhosted.org/packages/06/56/54d51eb89cdcb5518828081cb396219699468f70266ef0fcacf57a339319/multidict-6.6.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eb97a4eed516fb3d63028fc0a8a8661e1acdf7925eace9c85153ff967926331c", size = 249993, upload-time = "2025-06-28T14:36:52.562Z" }, + { url = "https://files.pythonhosted.org/packages/78/8e/afc23d4d59ac2969743fdabb7fbd722c0b8bf333c31b02e8594e21661755/multidict-6.6.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:9bbef50bfefe84213b791c9a326d3221fa31181ba39576049a55c1eef9768109", size = 262437, upload-time = "2025-06-28T14:36:54.251Z" }, + { url = "https://files.pythonhosted.org/packages/3c/ec/74586ce0ebb48a7394719d5d2fda019ec7cc41e3fc01cb50ecd82cf80f6e/multidict-6.6.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d7d15b9285d439c3ca80b97b0ed6cc98a2df22c481de1848b77117563ddba14", size = 259363, upload-time = "2025-06-28T14:36:55.514Z" }, + { url = "https://files.pythonhosted.org/packages/ae/82/1fa2fbdc85d98b6c764b4a49e22e118b8d987f1fb5936cadfbdf091f06ef/multidict-6.6.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5244c5c12889d84b9b7bf22f875e52c5ba4daa89c8ab92719863a14cd76dd04d", size = 252014, upload-time = "2025-06-28T14:36:56.734Z" }, + { url = "https://files.pythonhosted.org/packages/59/bc/21e7c4bb6e7911cac9fb41d4b295abb2d98c2123196d7c692e9e6e9f1ac4/multidict-6.6.2-cp312-cp312-win32.whl", hash = "sha256:a2ec0e52d7b298d53983cc4987fe76a25e033305f58d597fbcc1ff139b5e417e", size = 41826, upload-time = "2025-06-28T14:36:57.924Z" }, + { url = "https://files.pythonhosted.org/packages/61/57/5bd2019d7b2a5846c75372b1a5d994358739649d8863c73c37f2f7a418a6/multidict-6.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:96d2d55c01ce4ec000a1b6eadbaa22971c91ec512819abee8b5b13f4af3fd566", size = 45920, upload-time = "2025-06-28T14:36:59.352Z" }, + { url = "https://files.pythonhosted.org/packages/91/c1/b1038c82ccc2e2ae3c40c912b8ee6a45ed0c9349dffdd1c3fc073f733ee9/multidict-6.6.2-cp312-cp312-win_arm64.whl", hash = "sha256:a0af3b15eab84e0d4f62a365927070d7f200db7efb8bb1e17de7c14fab5183bb", size = 43207, upload-time = "2025-06-28T14:37:00.872Z" }, + { url = "https://files.pythonhosted.org/packages/10/8d/3334cceab0ca6eaa6da56ae1031c86c908ea3569a963c87d6c1142c966db/multidict-6.6.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c7f285ab85059a75b053027231626aeeabb4432191420d5c83cd91e2e462d25e", size = 75703, upload-time = "2025-06-28T14:37:02.224Z" }, + { url = "https://files.pythonhosted.org/packages/6f/47/950c13434ecb30551c4a0afefa654deb2b08953dc47fc00e529ca8e58abd/multidict-6.6.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6f6fae153d1c78c37c2203b46c3062e942297eede21ebabea15fbfcaa7fa51be", size = 44980, upload-time = "2025-06-28T14:37:03.717Z" }, + { url = "https://files.pythonhosted.org/packages/07/83/39a809575daf4dae47493eb0c15cc365b045bc52b955efea1f7d3182045c/multidict-6.6.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2c051b7191d185fc7add9cdc52326acf93791884e51062605da0ff4371f679a1", size = 43215, upload-time = "2025-06-28T14:37:05.236Z" }, + { url = "https://files.pythonhosted.org/packages/13/99/447c1c69dc603a16b7bf7d1c2ed0c5068a89248b91983f325bc643fca8bb/multidict-6.6.2-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:dc609fb7fadeb0e2d3a752dcfbb62fc23a2d5cc88316fe199366f73aa74a3215", size = 236699, upload-time = "2025-06-28T14:37:06.405Z" }, + { url = "https://files.pythonhosted.org/packages/68/99/be2925fd170c3216dbd5321766b477cb411e57ed5d68ee302a114535730e/multidict-6.6.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5245f0cba904051470c1b9c281533301457bc952992ac0d71a8668c2d10a4134", size = 254988, upload-time = "2025-06-28T14:37:07.768Z" }, + { url = "https://files.pythonhosted.org/packages/49/09/4881007f3b82b6e2c110bc381ec52b2a5a97603505b54068549b59fa2cf4/multidict-6.6.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4409bbc4595a182908b539b156f882a5d72688a91343e0d3b0782c5cf1e85322", size = 240550, upload-time = "2025-06-28T14:37:09.118Z" }, + { url = "https://files.pythonhosted.org/packages/9e/1b/0e44d04eb2b87848545b04b88feba8d256e0e39eef61031b5634c30c4ab1/multidict-6.6.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ebd518dcc942616a539310e5deb0c29fbf4d0efa80de60186b53a2905192997", size = 266128, upload-time = "2025-06-28T14:37:10.432Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f4/d999b4b52cab130a0a30485511e3612cfca79f440bd5f80736f6cdf6416e/multidict-6.6.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a50596d0b2f950015f80d277b42922cf30e0e1fb2348af3da5f4a07808f2c385", size = 266930, upload-time = "2025-06-28T14:37:11.886Z" }, + { url = "https://files.pythonhosted.org/packages/69/cb/b84afdb961dcf09b8e8c0238f068122d85480bfaac2c5c0b03120e497318/multidict-6.6.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6c2d7686d2f9ecb18192455aa04345a05646f45a286d67b31b438eaf749a91e", size = 255081, upload-time = "2025-06-28T14:37:13.302Z" }, + { url = "https://files.pythonhosted.org/packages/23/a0/9c2f05cf91a8f645565e06529149542badebdc19b1fda24f220f1de4022f/multidict-6.6.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:140fe62aaac9c401918a6cc5919afb99c1c676c6b449f58a6702db8ed333f394", size = 250410, upload-time = "2025-06-28T14:37:15.79Z" }, + { url = "https://files.pythonhosted.org/packages/84/6e/0754123af79ef30760cbb09b65fd389b014b5d608eba308e23af93a4af09/multidict-6.6.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2a7ea17e5d3cab04047b8880da1224a124c1ee7a8703dddce2cb66e6931c70f3", size = 249469, upload-time = "2025-06-28T14:37:17.151Z" }, + { url = "https://files.pythonhosted.org/packages/dd/73/06876ff14d142f9a88e782998b85efb9062b0dbd5006fa38f3ffb563e13f/multidict-6.6.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a88f0fab41095ff860987a4f4f2c12bf96193c0bce8b59f574c20c46542a4e5a", size = 249482, upload-time = "2025-06-28T14:37:18.418Z" }, + { url = "https://files.pythonhosted.org/packages/41/d2/499276d2afb6d854897f4dd1e1e92b4db034bbfcbcee532bbd42628fb386/multidict-6.6.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:35c3c207c03c3d81d25afaa99df9f04158011d069a0716bbfc1c37e1006bab7c", size = 261314, upload-time = "2025-06-28T14:37:19.697Z" }, + { url = "https://files.pythonhosted.org/packages/60/85/3a1d095e153cfbb6fe0bcde75b245d2b53c4686bb7574a100f311abbcd5a/multidict-6.6.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:845b5d2f1a8f4a9c4115ef84ab4f6cd4f35dbc2cebd5ab0a3d84d79510b3a27c", size = 257589, upload-time = "2025-06-28T14:37:21.068Z" }, + { url = "https://files.pythonhosted.org/packages/ec/28/131c945fb113310325d56df838e32547fd40b65906bb82196d6605e09397/multidict-6.6.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ac9cf00f77d7bb3c796a08812a9a4fcad052a313373a5e294b3fb1c9efe042fd", size = 250255, upload-time = "2025-06-28T14:37:22.347Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2a/78462ad3539d8dd1ecbed5a4ea4f4a341b3625dd5d479b5c93841217bcba/multidict-6.6.2-cp313-cp313-win32.whl", hash = "sha256:21a6477462132909c072671b51e74786eb6b9ce267257e305a7c924df79838a6", size = 41643, upload-time = "2025-06-28T14:37:23.684Z" }, + { url = "https://files.pythonhosted.org/packages/08/5e/9c90011f219572369cb76140a8438516f401a965cf83f3ab226a6b567f1d/multidict-6.6.2-cp313-cp313-win_amd64.whl", hash = "sha256:09dc7f1bfb1571bfed0c32f8f66e2065a48488ed0da5b58de7a9be58079c95e6", size = 45733, upload-time = "2025-06-28T14:37:25.14Z" }, + { url = "https://files.pythonhosted.org/packages/0d/86/e6f96122fe6c7d1d221ac96384db403ee2af0edd2693b235d986caed69d4/multidict-6.6.2-cp313-cp313-win_arm64.whl", hash = "sha256:7a7748bffbfd398bd3e82cbb1c78dcf91f1dd67d1a23388f508adfb606cd4d77", size = 43053, upload-time = "2025-06-28T14:37:26.409Z" }, + { url = "https://files.pythonhosted.org/packages/35/a0/31723594e1a7a4432611a1bc2fc31a1b15042e077f3cd03ad03b9b3fc7c8/multidict-6.6.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:0d2471a261c977b71b9bf1f3bb2aab1dc8a807a43f018a9d5fb420723fa9c77e", size = 82669, upload-time = "2025-06-28T14:37:27.582Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d7/b6d56e5790b91ad91693159bc10379fe96972c1f72c63bb94aa5c6c25837/multidict-6.6.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:03f20dfe1e118ce85467b88a2cab5e93fd750489731b3dd7a550d1da27238d80", size = 48214, upload-time = "2025-06-28T14:37:28.747Z" }, + { url = "https://files.pythonhosted.org/packages/5f/83/ff37ebd9b8c213eab3685bf5e68eceb133315835033b0a676102175a7c8b/multidict-6.6.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7f40cff60aa06eec355988f35670057fa843893652648b658e6fa3402a725d72", size = 46708, upload-time = "2025-06-28T14:37:29.912Z" }, + { url = "https://files.pythonhosted.org/packages/7a/bd/3861ca6d5bafb14191c2b1fd24dd454a7b3ab54ea835ca63c286c6baf832/multidict-6.6.2-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:aaecf4537cce47944b7eb142ba047e031650cb2150d5692d49133f58d7d8fcbf", size = 229570, upload-time = "2025-06-28T14:37:31.088Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/f077d2d28ff3a9c466c8eecc6ce2e69c5fb74d20dc660880df4719b693cf/multidict-6.6.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5fbadc2c5c7bc633212e65df2908485679fa791b309c6636eafbd111c353af3d", size = 249766, upload-time = "2025-06-28T14:37:32.446Z" }, + { url = "https://files.pythonhosted.org/packages/af/fd/0ce8c59b099396c2f765fcc71a0a4eaac50c11befcdd15d880025cac091b/multidict-6.6.2-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a914d3b7d4f4f22d34588b5af75ddb496a9947f67b2a8a4ea515d23118d338b0", size = 228452, upload-time = "2025-06-28T14:37:33.809Z" }, + { url = "https://files.pythonhosted.org/packages/fd/cb/252c1185fcff431fd727f11c39f64adc63b1f7d8c3ce826dd178b2f7c7e6/multidict-6.6.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:57dc09924085acf2bba3923d6f043a90fd527dac5f05874e3f740f45f1ca1c3c", size = 256795, upload-time = "2025-06-28T14:37:35.187Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d4/b78ade0ab9bd90a70490ac9f421f2d6a1f655c307d2815c82bb0bca364d7/multidict-6.6.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2a00b5f20e601edc82759734c6b64cd68795c1a9691735b599cba51c5d406914", size = 257372, upload-time = "2025-06-28T14:37:36.572Z" }, + { url = "https://files.pythonhosted.org/packages/52/10/b20998c7063e8db0bfb250a359cbbb8b38ba5f211b2e9db4d0939e0657b3/multidict-6.6.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dcfa8cafb01c892d3dae719083127af0cf2e3eb0ce4c73b33c9f88af60f2a313", size = 246618, upload-time = "2025-06-28T14:37:37.909Z" }, + { url = "https://files.pythonhosted.org/packages/df/5a/5d7caecad5376dea7f7d4e3ac0d996ee1587345e13178438df9b561ff60e/multidict-6.6.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:bd7a2bf9148f0dcab31207bb6c92522043b1781b43f5053c08f29a755cb5c91b", size = 244442, upload-time = "2025-06-28T14:37:39.285Z" }, + { url = "https://files.pythonhosted.org/packages/2f/29/4699a19c43abd2dc09375a2927511af61266b5d96692e761e8b05b9cb04a/multidict-6.6.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:db34ee9ebe45126fc7f90206531704ac0d2da268101180886380fe601bffe124", size = 235214, upload-time = "2025-06-28T14:37:41.079Z" }, + { url = "https://files.pythonhosted.org/packages/13/9e/94a776796154e8481fc5d175c788a20efa6552c2fd7c879bc85be537c5bd/multidict-6.6.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:b7c25f8e195d4fe34270208a568c843cfc85b2906ae20600ea8bbb2248ea9774", size = 243583, upload-time = "2025-06-28T14:37:42.803Z" }, + { url = "https://files.pythonhosted.org/packages/0a/d8/d9d683c8517bae2fb076dd0c728df432af08a41d9aaf6b0c901b56b18630/multidict-6.6.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:b8fb447ff4ebe073c2f4e250d9f253712f1b6eb8f2830d4f09942f50359d85ff", size = 251522, upload-time = "2025-06-28T14:37:44.156Z" }, + { url = "https://files.pythonhosted.org/packages/da/fb/d546f5d59cc897b715ca619cd2fbba9379e99a64b044a6aadd41a5abda7f/multidict-6.6.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:f4d5732f6bb3bf875fffbc9b155ab2c3b65924405d76fde6ea6c21253eab58c7", size = 247023, upload-time = "2025-06-28T14:37:45.847Z" }, + { url = "https://files.pythonhosted.org/packages/41/1e/e660f11b028b35cdc5e87cf948b73128385d275b2fced205f165a0cc6d95/multidict-6.6.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:b33458d93a8c06e028ffe0ca155852b0cf2078b90081e791a7aafe9380a3ee2b", size = 241903, upload-time = "2025-06-28T14:37:47.35Z" }, + { url = "https://files.pythonhosted.org/packages/ea/1f/95c5d8f164e7366fa5c2c3dc6b1955cd2cb8372cfe08c614018ba0940cf3/multidict-6.6.2-cp313-cp313t-win32.whl", hash = "sha256:43a7ddcf8f1e7ccae2197745152d4f97bb22b1b21afec05e271751dae56a576e", size = 47769, upload-time = "2025-06-28T14:37:48.709Z" }, + { url = "https://files.pythonhosted.org/packages/ed/a1/a56a786d04f21625d14b68b8cbf9fc7cee58f837a789ae97da5d1c39a29f/multidict-6.6.2-cp313-cp313t-win_amd64.whl", hash = "sha256:6d0d1dbbe970870e23a198d2b62f81cc0b145cca3eea1ba60670125a3184561c", size = 52947, upload-time = "2025-06-28T14:37:49.95Z" }, + { url = "https://files.pythonhosted.org/packages/5b/7e/f5a42680277af3f0bde14038c8caf8830279a8e788f1f95f7ed6f0e98414/multidict-6.6.2-cp313-cp313t-win_arm64.whl", hash = "sha256:3ead8284906e416fd990d44e964286393096fe0c0eedd4102fbc3a935250172a", size = 45248, upload-time = "2025-06-28T14:37:51.147Z" }, + { url = "https://files.pythonhosted.org/packages/0c/30/7b7d121f76ea3ea7561814531e5cc19e75e9b6646818491179c2c875b591/multidict-6.6.2-py3-none-any.whl", hash = "sha256:a7d14275ff2f85a8ff3c2a32e30f94b9fc8a2125b59a4ecc32271a347fad6e78", size = 12312, upload-time = "2025-06-28T14:38:19.677Z" }, +] + +[[package]] +name = "mypy" +version = "1.11.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mypy-extensions" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/86/5d7cbc4974fd564550b80fbb8103c05501ea11aa7835edf3351d90095896/mypy-1.11.2.tar.gz", hash = "sha256:7f9993ad3e0ffdc95c2a14b66dee63729f021968bff8ad911867579c65d13a79", size = 3078806, upload-time = "2024-08-24T22:50:11.357Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/cd/815368cd83c3a31873e5e55b317551500b12f2d1d7549720632f32630333/mypy-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d42a6dd818ffce7be66cce644f1dff482f1d97c53ca70908dff0b9ddc120b77a", size = 10939401, upload-time = "2024-08-24T22:49:18.929Z" }, + { url = "https://files.pythonhosted.org/packages/f1/27/e18c93a195d2fad75eb96e1f1cbc431842c332e8eba2e2b77eaf7313c6b7/mypy-1.11.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:801780c56d1cdb896eacd5619a83e427ce436d86a3bdf9112527f24a66618fef", size = 10111697, upload-time = "2024-08-24T22:49:32.504Z" }, + { url = "https://files.pythonhosted.org/packages/dc/08/cdc1fc6d0d5a67d354741344cc4aa7d53f7128902ebcbe699ddd4f15a61c/mypy-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41ea707d036a5307ac674ea172875f40c9d55c5394f888b168033177fce47383", size = 12500508, upload-time = "2024-08-24T22:49:12.327Z" }, + { url = "https://files.pythonhosted.org/packages/64/12/aad3af008c92c2d5d0720ea3b6674ba94a98cdb86888d389acdb5f218c30/mypy-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6e658bd2d20565ea86da7d91331b0eed6d2eee22dc031579e6297f3e12c758c8", size = 13020712, upload-time = "2024-08-24T22:49:49.399Z" }, + { url = "https://files.pythonhosted.org/packages/03/e6/a7d97cc124a565be5e9b7d5c2a6ebf082379ffba99646e4863ed5bbcb3c3/mypy-1.11.2-cp310-cp310-win_amd64.whl", hash = "sha256:478db5f5036817fe45adb7332d927daa62417159d49783041338921dcf646fc7", size = 9567319, upload-time = "2024-08-24T22:49:26.88Z" }, + { url = "https://files.pythonhosted.org/packages/e2/aa/cc56fb53ebe14c64f1fe91d32d838d6f4db948b9494e200d2f61b820b85d/mypy-1.11.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:75746e06d5fa1e91bfd5432448d00d34593b52e7e91a187d981d08d1f33d4385", size = 10859630, upload-time = "2024-08-24T22:49:51.895Z" }, + { url = "https://files.pythonhosted.org/packages/04/c8/b19a760fab491c22c51975cf74e3d253b8c8ce2be7afaa2490fbf95a8c59/mypy-1.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a976775ab2256aadc6add633d44f100a2517d2388906ec4f13231fafbb0eccca", size = 10037973, upload-time = "2024-08-24T22:49:21.428Z" }, + { url = "https://files.pythonhosted.org/packages/88/57/7e7e39f2619c8f74a22efb9a4c4eff32b09d3798335625a124436d121d89/mypy-1.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd953f221ac1379050a8a646585a29574488974f79d8082cedef62744f0a0104", size = 12416659, upload-time = "2024-08-24T22:49:35.02Z" }, + { url = "https://files.pythonhosted.org/packages/fc/a6/37f7544666b63a27e46c48f49caeee388bf3ce95f9c570eb5cfba5234405/mypy-1.11.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:57555a7715c0a34421013144a33d280e73c08df70f3a18a552938587ce9274f4", size = 12897010, upload-time = "2024-08-24T22:49:29.725Z" }, + { url = "https://files.pythonhosted.org/packages/84/8b/459a513badc4d34acb31c736a0101c22d2bd0697b969796ad93294165cfb/mypy-1.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:36383a4fcbad95f2657642a07ba22ff797de26277158f1cc7bd234821468b1b6", size = 9562873, upload-time = "2024-08-24T22:49:40.448Z" }, + { url = "https://files.pythonhosted.org/packages/35/3a/ed7b12ecc3f6db2f664ccf85cb2e004d3e90bec928e9d7be6aa2f16b7cdf/mypy-1.11.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8960dbbbf36906c5c0b7f4fbf2f0c7ffb20f4898e6a879fcf56a41a08b0d318", size = 10990335, upload-time = "2024-08-24T22:49:54.245Z" }, + { url = "https://files.pythonhosted.org/packages/04/e4/1a9051e2ef10296d206519f1df13d2cc896aea39e8683302f89bf5792a59/mypy-1.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06d26c277962f3fb50e13044674aa10553981ae514288cb7d0a738f495550b36", size = 10007119, upload-time = "2024-08-24T22:49:03.451Z" }, + { url = "https://files.pythonhosted.org/packages/f3/3c/350a9da895f8a7e87ade0028b962be0252d152e0c2fbaafa6f0658b4d0d4/mypy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e7184632d89d677973a14d00ae4d03214c8bc301ceefcdaf5c474866814c987", size = 12506856, upload-time = "2024-08-24T22:50:08.804Z" }, + { url = "https://files.pythonhosted.org/packages/b6/49/ee5adf6a49ff13f4202d949544d3d08abb0ea1f3e7f2a6d5b4c10ba0360a/mypy-1.11.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a66169b92452f72117e2da3a576087025449018afc2d8e9bfe5ffab865709ca", size = 12952066, upload-time = "2024-08-24T22:50:03.89Z" }, + { url = "https://files.pythonhosted.org/packages/27/c0/b19d709a42b24004d720db37446a42abadf844d5c46a2c442e2a074d70d9/mypy-1.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:969ea3ef09617aff826885a22ece0ddef69d95852cdad2f60c8bb06bf1f71f70", size = 9664000, upload-time = "2024-08-24T22:49:59.703Z" }, + { url = "https://files.pythonhosted.org/packages/42/3a/bdf730640ac523229dd6578e8a581795720a9321399de494374afc437ec5/mypy-1.11.2-py3-none-any.whl", hash = "sha256:b499bc07dbdcd3de92b0a8b29fdf592c111276f6a12fe29c30f6c417dd546d12", size = 2619625, upload-time = "2024-08-24T22:50:01.842Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "nodeenv" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and platform_python_implementation != 'PyPy'", + "python_full_version < '3.11' and platform_python_implementation == 'PyPy'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, +] + +[[package]] +name = "numpy" +version = "2.3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.13' and platform_python_implementation == 'PyPy'", + "python_full_version >= '3.13' and platform_python_implementation != 'PyPy'", + "python_full_version == '3.12.*' and platform_python_implementation != 'PyPy'", + "python_full_version == '3.11.*' and platform_python_implementation != 'PyPy'", + "python_full_version == '3.12.*' and platform_python_implementation == 'PyPy'", + "python_full_version == '3.11.*' and platform_python_implementation == 'PyPy'", +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/19/d7c972dfe90a353dbd3efbbe1d14a5951de80c99c9dc1b93cd998d51dc0f/numpy-2.3.1.tar.gz", hash = "sha256:1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b", size = 20390372, upload-time = "2025-06-21T12:28:33.469Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/c7/87c64d7ab426156530676000c94784ef55676df2f13b2796f97722464124/numpy-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ea9e48336a402551f52cd8f593343699003d2353daa4b72ce8d34f66b722070", size = 21199346, upload-time = "2025-06-21T11:47:47.57Z" }, + { url = "https://files.pythonhosted.org/packages/58/0e/0966c2f44beeac12af8d836e5b5f826a407cf34c45cb73ddcdfce9f5960b/numpy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ccb7336eaf0e77c1635b232c141846493a588ec9ea777a7c24d7166bb8533ae", size = 14361143, upload-time = "2025-06-21T11:48:10.766Z" }, + { url = "https://files.pythonhosted.org/packages/7d/31/6e35a247acb1bfc19226791dfc7d4c30002cd4e620e11e58b0ddf836fe52/numpy-2.3.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0bb3a4a61e1d327e035275d2a993c96fa786e4913aa089843e6a2d9dd205c66a", size = 5378989, upload-time = "2025-06-21T11:48:19.998Z" }, + { url = "https://files.pythonhosted.org/packages/b0/25/93b621219bb6f5a2d4e713a824522c69ab1f06a57cd571cda70e2e31af44/numpy-2.3.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:e344eb79dab01f1e838ebb67aab09965fb271d6da6b00adda26328ac27d4a66e", size = 6912890, upload-time = "2025-06-21T11:48:31.376Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/6b06ed98d11fb32e27fb59468b42383f3877146d3ee639f733776b6ac596/numpy-2.3.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:467db865b392168ceb1ef1ffa6f5a86e62468c43e0cfb4ab6da667ede10e58db", size = 14569032, upload-time = "2025-06-21T11:48:52.563Z" }, + { url = "https://files.pythonhosted.org/packages/75/c9/9bec03675192077467a9c7c2bdd1f2e922bd01d3a69b15c3a0fdcd8548f6/numpy-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:afed2ce4a84f6b0fc6c1ce734ff368cbf5a5e24e8954a338f3bdffa0718adffb", size = 16930354, upload-time = "2025-06-21T11:49:17.473Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e2/5756a00cabcf50a3f527a0c968b2b4881c62b1379223931853114fa04cda/numpy-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0025048b3c1557a20bc80d06fdeb8cc7fc193721484cca82b2cfa072fec71a93", size = 15879605, upload-time = "2025-06-21T11:49:41.161Z" }, + { url = "https://files.pythonhosted.org/packages/ff/86/a471f65f0a86f1ca62dcc90b9fa46174dd48f50214e5446bc16a775646c5/numpy-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a5ee121b60aa509679b682819c602579e1df14a5b07fe95671c8849aad8f2115", size = 18666994, upload-time = "2025-06-21T11:50:08.516Z" }, + { url = "https://files.pythonhosted.org/packages/43/a6/482a53e469b32be6500aaf61cfafd1de7a0b0d484babf679209c3298852e/numpy-2.3.1-cp311-cp311-win32.whl", hash = "sha256:a8b740f5579ae4585831b3cf0e3b0425c667274f82a484866d2adf9570539369", size = 6603672, upload-time = "2025-06-21T11:50:19.584Z" }, + { url = "https://files.pythonhosted.org/packages/6b/fb/bb613f4122c310a13ec67585c70e14b03bfc7ebabd24f4d5138b97371d7c/numpy-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4580adadc53311b163444f877e0789f1c8861e2698f6b2a4ca852fda154f3ff", size = 13024015, upload-time = "2025-06-21T11:50:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/51/58/2d842825af9a0c041aca246dc92eb725e1bc5e1c9ac89712625db0c4e11c/numpy-2.3.1-cp311-cp311-win_arm64.whl", hash = "sha256:ec0bdafa906f95adc9a0c6f26a4871fa753f25caaa0e032578a30457bff0af6a", size = 10456989, upload-time = "2025-06-21T11:50:55.616Z" }, + { url = "https://files.pythonhosted.org/packages/c6/56/71ad5022e2f63cfe0ca93559403d0edef14aea70a841d640bd13cdba578e/numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2959d8f268f3d8ee402b04a9ec4bb7604555aeacf78b360dc4ec27f1d508177d", size = 20896664, upload-time = "2025-06-21T12:15:30.845Z" }, + { url = "https://files.pythonhosted.org/packages/25/65/2db52ba049813670f7f987cc5db6dac9be7cd95e923cc6832b3d32d87cef/numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:762e0c0c6b56bdedfef9a8e1d4538556438288c4276901ea008ae44091954e29", size = 14131078, upload-time = "2025-06-21T12:15:52.23Z" }, + { url = "https://files.pythonhosted.org/packages/57/dd/28fa3c17b0e751047ac928c1e1b6990238faad76e9b147e585b573d9d1bd/numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:867ef172a0976aaa1f1d1b63cf2090de8b636a7674607d514505fb7276ab08fc", size = 5112554, upload-time = "2025-06-21T12:16:01.434Z" }, + { url = "https://files.pythonhosted.org/packages/c9/fc/84ea0cba8e760c4644b708b6819d91784c290288c27aca916115e3311d17/numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:4e602e1b8682c2b833af89ba641ad4176053aaa50f5cacda1a27004352dde943", size = 6646560, upload-time = "2025-06-21T12:16:11.895Z" }, + { url = "https://files.pythonhosted.org/packages/61/b2/512b0c2ddec985ad1e496b0bd853eeb572315c0f07cd6997473ced8f15e2/numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8e333040d069eba1652fb08962ec5b76af7f2c7bce1df7e1418c8055cf776f25", size = 14260638, upload-time = "2025-06-21T12:16:32.611Z" }, + { url = "https://files.pythonhosted.org/packages/6e/45/c51cb248e679a6c6ab14b7a8e3ead3f4a3fe7425fc7a6f98b3f147bec532/numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e7cbf5a5eafd8d230a3ce356d892512185230e4781a361229bd902ff403bc660", size = 16632729, upload-time = "2025-06-21T12:16:57.439Z" }, + { url = "https://files.pythonhosted.org/packages/e4/ff/feb4be2e5c09a3da161b412019caf47183099cbea1132fd98061808c2df2/numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5f1b8f26d1086835f442286c1d9b64bb3974b0b1e41bb105358fd07d20872952", size = 15565330, upload-time = "2025-06-21T12:17:20.638Z" }, + { url = "https://files.pythonhosted.org/packages/bc/6d/ceafe87587101e9ab0d370e4f6e5f3f3a85b9a697f2318738e5e7e176ce3/numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ee8340cb48c9b7a5899d1149eece41ca535513a9698098edbade2a8e7a84da77", size = 18361734, upload-time = "2025-06-21T12:17:47.938Z" }, + { url = "https://files.pythonhosted.org/packages/2b/19/0fb49a3ea088be691f040c9bf1817e4669a339d6e98579f91859b902c636/numpy-2.3.1-cp312-cp312-win32.whl", hash = "sha256:e772dda20a6002ef7061713dc1e2585bc1b534e7909b2030b5a46dae8ff077ab", size = 6320411, upload-time = "2025-06-21T12:17:58.475Z" }, + { url = "https://files.pythonhosted.org/packages/b1/3e/e28f4c1dd9e042eb57a3eb652f200225e311b608632bc727ae378623d4f8/numpy-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfecc7822543abdea6de08758091da655ea2210b8ffa1faf116b940693d3df76", size = 12734973, upload-time = "2025-06-21T12:18:17.601Z" }, + { url = "https://files.pythonhosted.org/packages/04/a8/8a5e9079dc722acf53522b8f8842e79541ea81835e9b5483388701421073/numpy-2.3.1-cp312-cp312-win_arm64.whl", hash = "sha256:7be91b2239af2658653c5bb6f1b8bccafaf08226a258caf78ce44710a0160d30", size = 10191491, upload-time = "2025-06-21T12:18:33.585Z" }, + { url = "https://files.pythonhosted.org/packages/d4/bd/35ad97006d8abff8631293f8ea6adf07b0108ce6fec68da3c3fcca1197f2/numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8", size = 20889381, upload-time = "2025-06-21T12:19:04.103Z" }, + { url = "https://files.pythonhosted.org/packages/f1/4f/df5923874d8095b6062495b39729178eef4a922119cee32a12ee1bd4664c/numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e", size = 14152726, upload-time = "2025-06-21T12:19:25.599Z" }, + { url = "https://files.pythonhosted.org/packages/8c/0f/a1f269b125806212a876f7efb049b06c6f8772cf0121139f97774cd95626/numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0", size = 5105145, upload-time = "2025-06-21T12:19:34.782Z" }, + { url = "https://files.pythonhosted.org/packages/6d/63/a7f7fd5f375b0361682f6ffbf686787e82b7bbd561268e4f30afad2bb3c0/numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d", size = 6639409, upload-time = "2025-06-21T12:19:45.228Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0d/1854a4121af895aab383f4aa233748f1df4671ef331d898e32426756a8a6/numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1", size = 14257630, upload-time = "2025-06-21T12:20:06.544Z" }, + { url = "https://files.pythonhosted.org/packages/50/30/af1b277b443f2fb08acf1c55ce9d68ee540043f158630d62cef012750f9f/numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1", size = 16627546, upload-time = "2025-06-21T12:20:31.002Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ec/3b68220c277e463095342d254c61be8144c31208db18d3fd8ef02712bcd6/numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0", size = 15562538, upload-time = "2025-06-21T12:20:54.322Z" }, + { url = "https://files.pythonhosted.org/packages/77/2b/4014f2bcc4404484021c74d4c5ee8eb3de7e3f7ac75f06672f8dcf85140a/numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8", size = 18360327, upload-time = "2025-06-21T12:21:21.053Z" }, + { url = "https://files.pythonhosted.org/packages/40/8d/2ddd6c9b30fcf920837b8672f6c65590c7d92e43084c25fc65edc22e93ca/numpy-2.3.1-cp313-cp313-win32.whl", hash = "sha256:39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8", size = 6312330, upload-time = "2025-06-21T12:25:07.447Z" }, + { url = "https://files.pythonhosted.org/packages/dd/c8/beaba449925988d415efccb45bf977ff8327a02f655090627318f6398c7b/numpy-2.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42", size = 12731565, upload-time = "2025-06-21T12:25:26.444Z" }, + { url = "https://files.pythonhosted.org/packages/0b/c3/5c0c575d7ec78c1126998071f58facfc124006635da75b090805e642c62e/numpy-2.3.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e", size = 10190262, upload-time = "2025-06-21T12:25:42.196Z" }, + { url = "https://files.pythonhosted.org/packages/ea/19/a029cd335cf72f79d2644dcfc22d90f09caa86265cbbde3b5702ccef6890/numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8", size = 20987593, upload-time = "2025-06-21T12:21:51.664Z" }, + { url = "https://files.pythonhosted.org/packages/25/91/8ea8894406209107d9ce19b66314194675d31761fe2cb3c84fe2eeae2f37/numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb", size = 14300523, upload-time = "2025-06-21T12:22:13.583Z" }, + { url = "https://files.pythonhosted.org/packages/a6/7f/06187b0066eefc9e7ce77d5f2ddb4e314a55220ad62dd0bfc9f2c44bac14/numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee", size = 5227993, upload-time = "2025-06-21T12:22:22.53Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ec/a926c293c605fa75e9cfb09f1e4840098ed46d2edaa6e2152ee35dc01ed3/numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992", size = 6736652, upload-time = "2025-06-21T12:22:33.629Z" }, + { url = "https://files.pythonhosted.org/packages/e3/62/d68e52fb6fde5586650d4c0ce0b05ff3a48ad4df4ffd1b8866479d1d671d/numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c", size = 14331561, upload-time = "2025-06-21T12:22:55.056Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ec/b74d3f2430960044bdad6900d9f5edc2dc0fb8bf5a0be0f65287bf2cbe27/numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48", size = 16693349, upload-time = "2025-06-21T12:23:20.53Z" }, + { url = "https://files.pythonhosted.org/packages/0d/15/def96774b9d7eb198ddadfcbd20281b20ebb510580419197e225f5c55c3e/numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee", size = 15642053, upload-time = "2025-06-21T12:23:43.697Z" }, + { url = "https://files.pythonhosted.org/packages/2b/57/c3203974762a759540c6ae71d0ea2341c1fa41d84e4971a8e76d7141678a/numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280", size = 18434184, upload-time = "2025-06-21T12:24:10.708Z" }, + { url = "https://files.pythonhosted.org/packages/22/8a/ccdf201457ed8ac6245187850aff4ca56a79edbea4829f4e9f14d46fa9a5/numpy-2.3.1-cp313-cp313t-win32.whl", hash = "sha256:6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e", size = 6440678, upload-time = "2025-06-21T12:24:21.596Z" }, + { url = "https://files.pythonhosted.org/packages/f1/7e/7f431d8bd8eb7e03d79294aed238b1b0b174b3148570d03a8a8a8f6a0da9/numpy-2.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc", size = 12870697, upload-time = "2025-06-21T12:24:40.644Z" }, + { url = "https://files.pythonhosted.org/packages/d4/ca/af82bf0fad4c3e573c6930ed743b5308492ff19917c7caaf2f9b6f9e2e98/numpy-2.3.1-cp313-cp313t-win_arm64.whl", hash = "sha256:eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244", size = 10260376, upload-time = "2025-06-21T12:24:56.884Z" }, + { url = "https://files.pythonhosted.org/packages/e8/34/facc13b9b42ddca30498fc51f7f73c3d0f2be179943a4b4da8686e259740/numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ad506d4b09e684394c42c966ec1527f6ebc25da7f4da4b1b056606ffe446b8a3", size = 21070637, upload-time = "2025-06-21T12:26:12.518Z" }, + { url = "https://files.pythonhosted.org/packages/65/b6/41b705d9dbae04649b529fc9bd3387664c3281c7cd78b404a4efe73dcc45/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:ebb8603d45bc86bbd5edb0d63e52c5fd9e7945d3a503b77e486bd88dde67a19b", size = 5304087, upload-time = "2025-06-21T12:26:22.294Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b4/fe3ac1902bff7a4934a22d49e1c9d71a623204d654d4cc43c6e8fe337fcb/numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:15aa4c392ac396e2ad3d0a2680c0f0dee420f9fed14eef09bdb9450ee6dcb7b7", size = 6817588, upload-time = "2025-06-21T12:26:32.939Z" }, + { url = "https://files.pythonhosted.org/packages/ae/ee/89bedf69c36ace1ac8f59e97811c1f5031e179a37e4821c3a230bf750142/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c6e0bf9d1a2f50d2b65a7cf56db37c095af17b59f6c132396f7c6d5dd76484df", size = 14399010, upload-time = "2025-06-21T12:26:54.086Z" }, + { url = "https://files.pythonhosted.org/packages/15/08/e00e7070ede29b2b176165eba18d6f9784d5349be3c0c1218338e79c27fd/numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eabd7e8740d494ce2b4ea0ff05afa1b7b291e978c0ae075487c51e8bd93c0c68", size = 16752042, upload-time = "2025-06-21T12:27:19.018Z" }, + { url = "https://files.pythonhosted.org/packages/48/6b/1c6b515a83d5564b1698a61efa245727c8feecf308f4091f565988519d20/numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:e610832418a2bc09d974cc9fecebfa51e9532d6190223bc5ef6a7402ebf3b5cb", size = 12927246, upload-time = "2025-06-21T12:27:38.618Z" }, +] + +[[package]] +name = "opentelemetry-api" +version = "1.34.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4d/5e/94a8cb759e4e409022229418294e098ca7feca00eb3c467bb20cbd329bda/opentelemetry_api-1.34.1.tar.gz", hash = "sha256:64f0bd06d42824843731d05beea88d4d4b6ae59f9fe347ff7dfa2cc14233bbb3", size = 64987, upload-time = "2025-06-10T08:55:19.818Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/3a/2ba85557e8dc024c0842ad22c570418dc02c36cbd1ab4b832a93edf071b8/opentelemetry_api-1.34.1-py3-none-any.whl", hash = "sha256:b7df4cb0830d5a6c29ad0c0691dbae874d8daefa934b8b1d642de48323d32a8c", size = 65767, upload-time = "2025-06-10T08:54:56.717Z" }, +] + +[[package]] +name = "opentelemetry-sdk" +version = "1.34.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-semantic-conventions" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6f/41/fe20f9036433da8e0fcef568984da4c1d1c771fa072ecd1a4d98779dccdd/opentelemetry_sdk-1.34.1.tar.gz", hash = "sha256:8091db0d763fcd6098d4781bbc80ff0971f94e260739aa6afe6fd379cdf3aa4d", size = 159441, upload-time = "2025-06-10T08:55:33.028Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/1b/def4fe6aa73f483cabf4c748f4c25070d5f7604dcc8b52e962983491b29e/opentelemetry_sdk-1.34.1-py3-none-any.whl", hash = "sha256:308effad4059562f1d92163c61c8141df649da24ce361827812c40abb2a1e96e", size = 118477, upload-time = "2025-06-10T08:55:16.02Z" }, +] + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.55b1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5d/f0/f33458486da911f47c4aa6db9bda308bb80f3236c111bf848bd870c16b16/opentelemetry_semantic_conventions-0.55b1.tar.gz", hash = "sha256:ef95b1f009159c28d7a7849f5cbc71c4c34c845bb514d66adfdf1b3fff3598b3", size = 119829, upload-time = "2025-06-10T08:55:33.881Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/89/267b0af1b1d0ba828f0e60642b6a5116ac1fd917cde7fc02821627029bd1/opentelemetry_semantic_conventions-0.55b1-py3-none-any.whl", hash = "sha256:5da81dfdf7d52e3d37f8fe88d5e771e191de924cfff5f550ab0b8f7b2409baed", size = 196223, upload-time = "2025-06-10T08:55:17.638Z" }, +] + +[[package]] +name = "orderly-set" +version = "5.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/88/39c83c35d5e97cc203e9e77a4f93bf87ec89cf6a22ac4818fdcc65d66584/orderly_set-5.5.0.tar.gz", hash = "sha256:e87185c8e4d8afa64e7f8160ee2c542a475b738bc891dc3f58102e654125e6ce", size = 27414, upload-time = "2025-07-10T20:10:55.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl", hash = "sha256:46f0b801948e98f427b412fcabb831677194c05c3b699b80de260374baa0b1e7", size = 13068, upload-time = "2025-07-10T20:10:54.377Z" }, +] + +[[package]] +name = "orjson" +version = "3.10.18" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", size = 5422810, upload-time = "2025-04-29T23:30:08.423Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/16/2ceb9fb7bc2b11b1e4a3ea27794256e93dee2309ebe297fd131a778cd150/orjson-3.10.18-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a45e5d68066b408e4bc383b6e4ef05e717c65219a9e1390abc6155a520cac402", size = 248927, upload-time = "2025-04-29T23:28:08.643Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e1/d3c0a2bba5b9906badd121da449295062b289236c39c3a7801f92c4682b0/orjson-3.10.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be3b9b143e8b9db05368b13b04c84d37544ec85bb97237b3a923f076265ec89c", size = 136995, upload-time = "2025-04-29T23:28:11.503Z" }, + { url = "https://files.pythonhosted.org/packages/d7/51/698dd65e94f153ee5ecb2586c89702c9e9d12f165a63e74eb9ea1299f4e1/orjson-3.10.18-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9b0aa09745e2c9b3bf779b096fa71d1cc2d801a604ef6dd79c8b1bfef52b2f92", size = 132893, upload-time = "2025-04-29T23:28:12.751Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e5/155ce5a2c43a85e790fcf8b985400138ce5369f24ee6770378ee6b691036/orjson-3.10.18-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53a245c104d2792e65c8d225158f2b8262749ffe64bc7755b00024757d957a13", size = 137017, upload-time = "2025-04-29T23:28:14.498Z" }, + { url = "https://files.pythonhosted.org/packages/46/bb/6141ec3beac3125c0b07375aee01b5124989907d61c72c7636136e4bd03e/orjson-3.10.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9495ab2611b7f8a0a8a505bcb0f0cbdb5469caafe17b0e404c3c746f9900469", size = 138290, upload-time = "2025-04-29T23:28:16.211Z" }, + { url = "https://files.pythonhosted.org/packages/77/36/6961eca0b66b7809d33c4ca58c6bd4c23a1b914fb23aba2fa2883f791434/orjson-3.10.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:73be1cbcebadeabdbc468f82b087df435843c809cd079a565fb16f0f3b23238f", size = 142828, upload-time = "2025-04-29T23:28:18.065Z" }, + { url = "https://files.pythonhosted.org/packages/8b/2f/0c646d5fd689d3be94f4d83fa9435a6c4322c9b8533edbb3cd4bc8c5f69a/orjson-3.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8936ee2679e38903df158037a2f1c108129dee218975122e37847fb1d4ac68", size = 132806, upload-time = "2025-04-29T23:28:19.782Z" }, + { url = "https://files.pythonhosted.org/packages/ea/af/65907b40c74ef4c3674ef2bcfa311c695eb934710459841b3c2da212215c/orjson-3.10.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7115fcbc8525c74e4c2b608129bef740198e9a120ae46184dac7683191042056", size = 135005, upload-time = "2025-04-29T23:28:21.367Z" }, + { url = "https://files.pythonhosted.org/packages/c7/d1/68bd20ac6a32cd1f1b10d23e7cc58ee1e730e80624e3031d77067d7150fc/orjson-3.10.18-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:771474ad34c66bc4d1c01f645f150048030694ea5b2709b87d3bda273ffe505d", size = 413418, upload-time = "2025-04-29T23:28:23.097Z" }, + { url = "https://files.pythonhosted.org/packages/31/31/c701ec0bcc3e80e5cb6e319c628ef7b768aaa24b0f3b4c599df2eaacfa24/orjson-3.10.18-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7c14047dbbea52886dd87169f21939af5d55143dad22d10db6a7514f058156a8", size = 153288, upload-time = "2025-04-29T23:28:25.02Z" }, + { url = "https://files.pythonhosted.org/packages/d9/31/5e1aa99a10893a43cfc58009f9da840990cc8a9ebb75aa452210ba18587e/orjson-3.10.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:641481b73baec8db14fdf58f8967e52dc8bda1f2aba3aa5f5c1b07ed6df50b7f", size = 137181, upload-time = "2025-04-29T23:28:26.318Z" }, + { url = "https://files.pythonhosted.org/packages/bf/8c/daba0ac1b8690011d9242a0f37235f7d17df6d0ad941021048523b76674e/orjson-3.10.18-cp310-cp310-win32.whl", hash = "sha256:607eb3ae0909d47280c1fc657c4284c34b785bae371d007595633f4b1a2bbe06", size = 142694, upload-time = "2025-04-29T23:28:28.092Z" }, + { url = "https://files.pythonhosted.org/packages/16/62/8b687724143286b63e1d0fab3ad4214d54566d80b0ba9d67c26aaf28a2f8/orjson-3.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:8770432524ce0eca50b7efc2a9a5f486ee0113a5fbb4231526d414e6254eba92", size = 134600, upload-time = "2025-04-29T23:28:29.422Z" }, + { url = "https://files.pythonhosted.org/packages/97/c7/c54a948ce9a4278794f669a353551ce7db4ffb656c69a6e1f2264d563e50/orjson-3.10.18-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e0a183ac3b8e40471e8d843105da6fbe7c070faab023be3b08188ee3f85719b8", size = 248929, upload-time = "2025-04-29T23:28:30.716Z" }, + { url = "https://files.pythonhosted.org/packages/9e/60/a9c674ef1dd8ab22b5b10f9300e7e70444d4e3cda4b8258d6c2488c32143/orjson-3.10.18-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:5ef7c164d9174362f85238d0cd4afdeeb89d9e523e4651add6a5d458d6f7d42d", size = 133364, upload-time = "2025-04-29T23:28:32.392Z" }, + { url = "https://files.pythonhosted.org/packages/c1/4e/f7d1bdd983082216e414e6d7ef897b0c2957f99c545826c06f371d52337e/orjson-3.10.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd14c5d99cdc7bf93f22b12ec3b294931518aa019e2a147e8aa2f31fd3240f7", size = 136995, upload-time = "2025-04-29T23:28:34.024Z" }, + { url = "https://files.pythonhosted.org/packages/17/89/46b9181ba0ea251c9243b0c8ce29ff7c9796fa943806a9c8b02592fce8ea/orjson-3.10.18-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b672502323b6cd133c4af6b79e3bea36bad2d16bca6c1f645903fce83909a7a", size = 132894, upload-time = "2025-04-29T23:28:35.318Z" }, + { url = "https://files.pythonhosted.org/packages/ca/dd/7bce6fcc5b8c21aef59ba3c67f2166f0a1a9b0317dcca4a9d5bd7934ecfd/orjson-3.10.18-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51f8c63be6e070ec894c629186b1c0fe798662b8687f3d9fdfa5e401c6bd7679", size = 137016, upload-time = "2025-04-29T23:28:36.674Z" }, + { url = "https://files.pythonhosted.org/packages/1c/4a/b8aea1c83af805dcd31c1f03c95aabb3e19a016b2a4645dd822c5686e94d/orjson-3.10.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f9478ade5313d724e0495d167083c6f3be0dd2f1c9c8a38db9a9e912cdaf947", size = 138290, upload-time = "2025-04-29T23:28:38.3Z" }, + { url = "https://files.pythonhosted.org/packages/36/d6/7eb05c85d987b688707f45dcf83c91abc2251e0dd9fb4f7be96514f838b1/orjson-3.10.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:187aefa562300a9d382b4b4eb9694806e5848b0cedf52037bb5c228c61bb66d4", size = 142829, upload-time = "2025-04-29T23:28:39.657Z" }, + { url = "https://files.pythonhosted.org/packages/d2/78/ddd3ee7873f2b5f90f016bc04062713d567435c53ecc8783aab3a4d34915/orjson-3.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da552683bc9da222379c7a01779bddd0ad39dd699dd6300abaf43eadee38334", size = 132805, upload-time = "2025-04-29T23:28:40.969Z" }, + { url = "https://files.pythonhosted.org/packages/8c/09/c8e047f73d2c5d21ead9c180203e111cddeffc0848d5f0f974e346e21c8e/orjson-3.10.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e450885f7b47a0231979d9c49b567ed1c4e9f69240804621be87c40bc9d3cf17", size = 135008, upload-time = "2025-04-29T23:28:42.284Z" }, + { url = "https://files.pythonhosted.org/packages/0c/4b/dccbf5055ef8fb6eda542ab271955fc1f9bf0b941a058490293f8811122b/orjson-3.10.18-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5e3c9cc2ba324187cd06287ca24f65528f16dfc80add48dc99fa6c836bb3137e", size = 413419, upload-time = "2025-04-29T23:28:43.673Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f3/1eac0c5e2d6d6790bd2025ebfbefcbd37f0d097103d76f9b3f9302af5a17/orjson-3.10.18-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:50ce016233ac4bfd843ac5471e232b865271d7d9d44cf9d33773bcd883ce442b", size = 153292, upload-time = "2025-04-29T23:28:45.573Z" }, + { url = "https://files.pythonhosted.org/packages/1f/b4/ef0abf64c8f1fabf98791819ab502c2c8c1dc48b786646533a93637d8999/orjson-3.10.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b3ceff74a8f7ffde0b2785ca749fc4e80e4315c0fd887561144059fb1c138aa7", size = 137182, upload-time = "2025-04-29T23:28:47.229Z" }, + { url = "https://files.pythonhosted.org/packages/a9/a3/6ea878e7b4a0dc5c888d0370d7752dcb23f402747d10e2257478d69b5e63/orjson-3.10.18-cp311-cp311-win32.whl", hash = "sha256:fdba703c722bd868c04702cac4cb8c6b8ff137af2623bc0ddb3b3e6a2c8996c1", size = 142695, upload-time = "2025-04-29T23:28:48.564Z" }, + { url = "https://files.pythonhosted.org/packages/79/2a/4048700a3233d562f0e90d5572a849baa18ae4e5ce4c3ba6247e4ece57b0/orjson-3.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:c28082933c71ff4bc6ccc82a454a2bffcef6e1d7379756ca567c772e4fb3278a", size = 134603, upload-time = "2025-04-29T23:28:50.442Z" }, + { url = "https://files.pythonhosted.org/packages/03/45/10d934535a4993d27e1c84f1810e79ccf8b1b7418cef12151a22fe9bb1e1/orjson-3.10.18-cp311-cp311-win_arm64.whl", hash = "sha256:a6c7c391beaedd3fa63206e5c2b7b554196f14debf1ec9deb54b5d279b1b46f5", size = 131400, upload-time = "2025-04-29T23:28:51.838Z" }, + { url = "https://files.pythonhosted.org/packages/21/1a/67236da0916c1a192d5f4ccbe10ec495367a726996ceb7614eaa687112f2/orjson-3.10.18-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:50c15557afb7f6d63bc6d6348e0337a880a04eaa9cd7c9d569bcb4e760a24753", size = 249184, upload-time = "2025-04-29T23:28:53.612Z" }, + { url = "https://files.pythonhosted.org/packages/b3/bc/c7f1db3b1d094dc0c6c83ed16b161a16c214aaa77f311118a93f647b32dc/orjson-3.10.18-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:356b076f1662c9813d5fa56db7d63ccceef4c271b1fb3dd522aca291375fcf17", size = 133279, upload-time = "2025-04-29T23:28:55.055Z" }, + { url = "https://files.pythonhosted.org/packages/af/84/664657cd14cc11f0d81e80e64766c7ba5c9b7fc1ec304117878cc1b4659c/orjson-3.10.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:559eb40a70a7494cd5beab2d73657262a74a2c59aff2068fdba8f0424ec5b39d", size = 136799, upload-time = "2025-04-29T23:28:56.828Z" }, + { url = "https://files.pythonhosted.org/packages/9a/bb/f50039c5bb05a7ab024ed43ba25d0319e8722a0ac3babb0807e543349978/orjson-3.10.18-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f3c29eb9a81e2fbc6fd7ddcfba3e101ba92eaff455b8d602bf7511088bbc0eae", size = 132791, upload-time = "2025-04-29T23:28:58.751Z" }, + { url = "https://files.pythonhosted.org/packages/93/8c/ee74709fc072c3ee219784173ddfe46f699598a1723d9d49cbc78d66df65/orjson-3.10.18-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6612787e5b0756a171c7d81ba245ef63a3533a637c335aa7fcb8e665f4a0966f", size = 137059, upload-time = "2025-04-29T23:29:00.129Z" }, + { url = "https://files.pythonhosted.org/packages/6a/37/e6d3109ee004296c80426b5a62b47bcadd96a3deab7443e56507823588c5/orjson-3.10.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ac6bd7be0dcab5b702c9d43d25e70eb456dfd2e119d512447468f6405b4a69c", size = 138359, upload-time = "2025-04-29T23:29:01.704Z" }, + { url = "https://files.pythonhosted.org/packages/4f/5d/387dafae0e4691857c62bd02839a3bf3fa648eebd26185adfac58d09f207/orjson-3.10.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9f72f100cee8dde70100406d5c1abba515a7df926d4ed81e20a9730c062fe9ad", size = 142853, upload-time = "2025-04-29T23:29:03.576Z" }, + { url = "https://files.pythonhosted.org/packages/27/6f/875e8e282105350b9a5341c0222a13419758545ae32ad6e0fcf5f64d76aa/orjson-3.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dca85398d6d093dd41dc0983cbf54ab8e6afd1c547b6b8a311643917fbf4e0c", size = 133131, upload-time = "2025-04-29T23:29:05.753Z" }, + { url = "https://files.pythonhosted.org/packages/48/b2/73a1f0b4790dcb1e5a45f058f4f5dcadc8a85d90137b50d6bbc6afd0ae50/orjson-3.10.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22748de2a07fcc8781a70edb887abf801bb6142e6236123ff93d12d92db3d406", size = 134834, upload-time = "2025-04-29T23:29:07.35Z" }, + { url = "https://files.pythonhosted.org/packages/56/f5/7ed133a5525add9c14dbdf17d011dd82206ca6840811d32ac52a35935d19/orjson-3.10.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3a83c9954a4107b9acd10291b7f12a6b29e35e8d43a414799906ea10e75438e6", size = 413368, upload-time = "2025-04-29T23:29:09.301Z" }, + { url = "https://files.pythonhosted.org/packages/11/7c/439654221ed9c3324bbac7bdf94cf06a971206b7b62327f11a52544e4982/orjson-3.10.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:303565c67a6c7b1f194c94632a4a39918e067bd6176a48bec697393865ce4f06", size = 153359, upload-time = "2025-04-29T23:29:10.813Z" }, + { url = "https://files.pythonhosted.org/packages/48/e7/d58074fa0cc9dd29a8fa2a6c8d5deebdfd82c6cfef72b0e4277c4017563a/orjson-3.10.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:86314fdb5053a2f5a5d881f03fca0219bfdf832912aa88d18676a5175c6916b5", size = 137466, upload-time = "2025-04-29T23:29:12.26Z" }, + { url = "https://files.pythonhosted.org/packages/57/4d/fe17581cf81fb70dfcef44e966aa4003360e4194d15a3f38cbffe873333a/orjson-3.10.18-cp312-cp312-win32.whl", hash = "sha256:187ec33bbec58c76dbd4066340067d9ece6e10067bb0cc074a21ae3300caa84e", size = 142683, upload-time = "2025-04-29T23:29:13.865Z" }, + { url = "https://files.pythonhosted.org/packages/e6/22/469f62d25ab5f0f3aee256ea732e72dc3aab6d73bac777bd6277955bceef/orjson-3.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:f9f94cf6d3f9cd720d641f8399e390e7411487e493962213390d1ae45c7814fc", size = 134754, upload-time = "2025-04-29T23:29:15.338Z" }, + { url = "https://files.pythonhosted.org/packages/10/b0/1040c447fac5b91bc1e9c004b69ee50abb0c1ffd0d24406e1350c58a7fcb/orjson-3.10.18-cp312-cp312-win_arm64.whl", hash = "sha256:3d600be83fe4514944500fa8c2a0a77099025ec6482e8087d7659e891f23058a", size = 131218, upload-time = "2025-04-29T23:29:17.324Z" }, + { url = "https://files.pythonhosted.org/packages/04/f0/8aedb6574b68096f3be8f74c0b56d36fd94bcf47e6c7ed47a7bd1474aaa8/orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147", size = 249087, upload-time = "2025-04-29T23:29:19.083Z" }, + { url = "https://files.pythonhosted.org/packages/bc/f7/7118f965541aeac6844fcb18d6988e111ac0d349c9b80cda53583e758908/orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c", size = 133273, upload-time = "2025-04-29T23:29:20.602Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d9/839637cc06eaf528dd8127b36004247bf56e064501f68df9ee6fd56a88ee/orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103", size = 136779, upload-time = "2025-04-29T23:29:22.062Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/f226ecfef31a1f0e7d6bf9a31a0bbaf384c7cbe3fce49cc9c2acc51f902a/orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595", size = 132811, upload-time = "2025-04-29T23:29:23.602Z" }, + { url = "https://files.pythonhosted.org/packages/73/2d/371513d04143c85b681cf8f3bce743656eb5b640cb1f461dad750ac4b4d4/orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc", size = 137018, upload-time = "2025-04-29T23:29:25.094Z" }, + { url = "https://files.pythonhosted.org/packages/69/cb/a4d37a30507b7a59bdc484e4a3253c8141bf756d4e13fcc1da760a0b00cb/orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc", size = 138368, upload-time = "2025-04-29T23:29:26.609Z" }, + { url = "https://files.pythonhosted.org/packages/1e/ae/cd10883c48d912d216d541eb3db8b2433415fde67f620afe6f311f5cd2ca/orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049", size = 142840, upload-time = "2025-04-29T23:29:28.153Z" }, + { url = "https://files.pythonhosted.org/packages/6d/4c/2bda09855c6b5f2c055034c9eda1529967b042ff8d81a05005115c4e6772/orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58", size = 133135, upload-time = "2025-04-29T23:29:29.726Z" }, + { url = "https://files.pythonhosted.org/packages/13/4a/35971fd809a8896731930a80dfff0b8ff48eeb5d8b57bb4d0d525160017f/orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034", size = 134810, upload-time = "2025-04-29T23:29:31.269Z" }, + { url = "https://files.pythonhosted.org/packages/99/70/0fa9e6310cda98365629182486ff37a1c6578e34c33992df271a476ea1cd/orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1", size = 413491, upload-time = "2025-04-29T23:29:33.315Z" }, + { url = "https://files.pythonhosted.org/packages/32/cb/990a0e88498babddb74fb97855ae4fbd22a82960e9b06eab5775cac435da/orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012", size = 153277, upload-time = "2025-04-29T23:29:34.946Z" }, + { url = "https://files.pythonhosted.org/packages/92/44/473248c3305bf782a384ed50dd8bc2d3cde1543d107138fd99b707480ca1/orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f", size = 137367, upload-time = "2025-04-29T23:29:36.52Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fd/7f1d3edd4ffcd944a6a40e9f88af2197b619c931ac4d3cfba4798d4d3815/orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea", size = 142687, upload-time = "2025-04-29T23:29:38.292Z" }, + { url = "https://files.pythonhosted.org/packages/4b/03/c75c6ad46be41c16f4cfe0352a2d1450546f3c09ad2c9d341110cd87b025/orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52", size = 134794, upload-time = "2025-04-29T23:29:40.349Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/f53038a5a72cc4fd0b56c1eafb4ef64aec9685460d5ac34de98ca78b6e29/orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3", size = 131186, upload-time = "2025-04-29T23:29:41.922Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pandas" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/51/48f713c4c728d7c55ef7444ba5ea027c26998d96d1a40953b346438602fc/pandas-2.3.0.tar.gz", hash = "sha256:34600ab34ebf1131a7613a260a61dbe8b62c188ec0ea4c296da7c9a06b004133", size = 4484490, upload-time = "2025-06-05T03:27:54.133Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/2d/df6b98c736ba51b8eaa71229e8fcd91233a831ec00ab520e1e23090cc072/pandas-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:625466edd01d43b75b1883a64d859168e4556261a5035b32f9d743b67ef44634", size = 11527531, upload-time = "2025-06-05T03:25:48.648Z" }, + { url = "https://files.pythonhosted.org/packages/77/1c/3f8c331d223f86ba1d0ed7d3ed7fcf1501c6f250882489cc820d2567ddbf/pandas-2.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a6872d695c896f00df46b71648eea332279ef4077a409e2fe94220208b6bb675", size = 10774764, upload-time = "2025-06-05T03:25:53.228Z" }, + { url = "https://files.pythonhosted.org/packages/1b/45/d2599400fad7fe06b849bd40b52c65684bc88fbe5f0a474d0513d057a377/pandas-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4dd97c19bd06bc557ad787a15b6489d2614ddaab5d104a0310eb314c724b2d2", size = 11711963, upload-time = "2025-06-05T03:25:56.855Z" }, + { url = "https://files.pythonhosted.org/packages/66/f8/5508bc45e994e698dbc93607ee6b9b6eb67df978dc10ee2b09df80103d9e/pandas-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:034abd6f3db8b9880aaee98f4f5d4dbec7c4829938463ec046517220b2f8574e", size = 12349446, upload-time = "2025-06-05T03:26:01.292Z" }, + { url = "https://files.pythonhosted.org/packages/f7/fc/17851e1b1ea0c8456ba90a2f514c35134dd56d981cf30ccdc501a0adeac4/pandas-2.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23c2b2dc5213810208ca0b80b8666670eb4660bbfd9d45f58592cc4ddcfd62e1", size = 12920002, upload-time = "2025-06-06T00:00:07.925Z" }, + { url = "https://files.pythonhosted.org/packages/a1/9b/8743be105989c81fa33f8e2a4e9822ac0ad4aaf812c00fee6bb09fc814f9/pandas-2.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:39ff73ec07be5e90330cc6ff5705c651ace83374189dcdcb46e6ff54b4a72cd6", size = 13651218, upload-time = "2025-06-05T03:26:09.731Z" }, + { url = "https://files.pythonhosted.org/packages/26/fa/8eeb2353f6d40974a6a9fd4081ad1700e2386cf4264a8f28542fd10b3e38/pandas-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:40cecc4ea5abd2921682b57532baea5588cc5f80f0231c624056b146887274d2", size = 11082485, upload-time = "2025-06-05T03:26:17.572Z" }, + { url = "https://files.pythonhosted.org/packages/96/1e/ba313812a699fe37bf62e6194265a4621be11833f5fce46d9eae22acb5d7/pandas-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8adff9f138fc614347ff33812046787f7d43b3cef7c0f0171b3340cae333f6ca", size = 11551836, upload-time = "2025-06-05T03:26:22.784Z" }, + { url = "https://files.pythonhosted.org/packages/1b/cc/0af9c07f8d714ea563b12383a7e5bde9479cf32413ee2f346a9c5a801f22/pandas-2.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e5f08eb9a445d07720776df6e641975665c9ea12c9d8a331e0f6890f2dcd76ef", size = 10807977, upload-time = "2025-06-05T16:50:11.109Z" }, + { url = "https://files.pythonhosted.org/packages/ee/3e/8c0fb7e2cf4a55198466ced1ca6a9054ae3b7e7630df7757031df10001fd/pandas-2.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa35c266c8cd1a67d75971a1912b185b492d257092bdd2709bbdebe574ed228d", size = 11788230, upload-time = "2025-06-05T03:26:27.417Z" }, + { url = "https://files.pythonhosted.org/packages/14/22/b493ec614582307faf3f94989be0f7f0a71932ed6f56c9a80c0bb4a3b51e/pandas-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a0cc77b0f089d2d2ffe3007db58f170dae9b9f54e569b299db871a3ab5bf46", size = 12370423, upload-time = "2025-06-05T03:26:34.142Z" }, + { url = "https://files.pythonhosted.org/packages/9f/74/b012addb34cda5ce855218a37b258c4e056a0b9b334d116e518d72638737/pandas-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c06f6f144ad0a1bf84699aeea7eff6068ca5c63ceb404798198af7eb86082e33", size = 12990594, upload-time = "2025-06-06T00:00:13.934Z" }, + { url = "https://files.pythonhosted.org/packages/95/81/b310e60d033ab64b08e66c635b94076488f0b6ce6a674379dd5b224fc51c/pandas-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ed16339bc354a73e0a609df36d256672c7d296f3f767ac07257801aa064ff73c", size = 13745952, upload-time = "2025-06-05T03:26:39.475Z" }, + { url = "https://files.pythonhosted.org/packages/25/ac/f6ee5250a8881b55bd3aecde9b8cfddea2f2b43e3588bca68a4e9aaf46c8/pandas-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fa07e138b3f6c04addfeaf56cc7fdb96c3b68a3fe5e5401251f231fce40a0d7a", size = 11094534, upload-time = "2025-06-05T03:26:43.23Z" }, + { url = "https://files.pythonhosted.org/packages/94/46/24192607058dd607dbfacdd060a2370f6afb19c2ccb617406469b9aeb8e7/pandas-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2eb4728a18dcd2908c7fccf74a982e241b467d178724545a48d0caf534b38ebf", size = 11573865, upload-time = "2025-06-05T03:26:46.774Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cc/ae8ea3b800757a70c9fdccc68b67dc0280a6e814efcf74e4211fd5dea1ca/pandas-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9d8c3187be7479ea5c3d30c32a5d73d62a621166675063b2edd21bc47614027", size = 10702154, upload-time = "2025-06-05T16:50:14.439Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ba/a7883d7aab3d24c6540a2768f679e7414582cc389876d469b40ec749d78b/pandas-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ff730713d4c4f2f1c860e36c005c7cefc1c7c80c21c0688fd605aa43c9fcf09", size = 11262180, upload-time = "2025-06-05T16:50:17.453Z" }, + { url = "https://files.pythonhosted.org/packages/01/a5/931fc3ad333d9d87b10107d948d757d67ebcfc33b1988d5faccc39c6845c/pandas-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba24af48643b12ffe49b27065d3babd52702d95ab70f50e1b34f71ca703e2c0d", size = 11991493, upload-time = "2025-06-05T03:26:51.813Z" }, + { url = "https://files.pythonhosted.org/packages/d7/bf/0213986830a92d44d55153c1d69b509431a972eb73f204242988c4e66e86/pandas-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:404d681c698e3c8a40a61d0cd9412cc7364ab9a9cc6e144ae2992e11a2e77a20", size = 12470733, upload-time = "2025-06-06T00:00:18.651Z" }, + { url = "https://files.pythonhosted.org/packages/a4/0e/21eb48a3a34a7d4bac982afc2c4eb5ab09f2d988bdf29d92ba9ae8e90a79/pandas-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6021910b086b3ca756755e86ddc64e0ddafd5e58e076c72cb1585162e5ad259b", size = 13212406, upload-time = "2025-06-05T03:26:55.992Z" }, + { url = "https://files.pythonhosted.org/packages/1f/d9/74017c4eec7a28892d8d6e31ae9de3baef71f5a5286e74e6b7aad7f8c837/pandas-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:094e271a15b579650ebf4c5155c05dcd2a14fd4fdd72cf4854b2f7ad31ea30be", size = 10976199, upload-time = "2025-06-05T03:26:59.594Z" }, + { url = "https://files.pythonhosted.org/packages/d3/57/5cb75a56a4842bbd0511c3d1c79186d8315b82dac802118322b2de1194fe/pandas-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c7e2fc25f89a49a11599ec1e76821322439d90820108309bf42130d2f36c983", size = 11518913, upload-time = "2025-06-05T03:27:02.757Z" }, + { url = "https://files.pythonhosted.org/packages/05/01/0c8785610e465e4948a01a059562176e4c8088aa257e2e074db868f86d4e/pandas-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6da97aeb6a6d233fb6b17986234cc723b396b50a3c6804776351994f2a658fd", size = 10655249, upload-time = "2025-06-05T16:50:20.17Z" }, + { url = "https://files.pythonhosted.org/packages/e8/6a/47fd7517cd8abe72a58706aab2b99e9438360d36dcdb052cf917b7bf3bdc/pandas-2.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb32dc743b52467d488e7a7c8039b821da2826a9ba4f85b89ea95274f863280f", size = 11328359, upload-time = "2025-06-05T03:27:06.431Z" }, + { url = "https://files.pythonhosted.org/packages/2a/b3/463bfe819ed60fb7e7ddffb4ae2ee04b887b3444feee6c19437b8f834837/pandas-2.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:213cd63c43263dbb522c1f8a7c9d072e25900f6975596f883f4bebd77295d4f3", size = 12024789, upload-time = "2025-06-05T03:27:09.875Z" }, + { url = "https://files.pythonhosted.org/packages/04/0c/e0704ccdb0ac40aeb3434d1c641c43d05f75c92e67525df39575ace35468/pandas-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1d2b33e68d0ce64e26a4acc2e72d747292084f4e8db4c847c6f5f6cbe56ed6d8", size = 12480734, upload-time = "2025-06-06T00:00:22.246Z" }, + { url = "https://files.pythonhosted.org/packages/e9/df/815d6583967001153bb27f5cf075653d69d51ad887ebbf4cfe1173a1ac58/pandas-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:430a63bae10b5086995db1b02694996336e5a8ac9a96b4200572b413dfdfccb9", size = 13223381, upload-time = "2025-06-05T03:27:15.641Z" }, + { url = "https://files.pythonhosted.org/packages/79/88/ca5973ed07b7f484c493e941dbff990861ca55291ff7ac67c815ce347395/pandas-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4930255e28ff5545e2ca404637bcc56f031893142773b3468dc021c6c32a1390", size = 10970135, upload-time = "2025-06-05T03:27:24.131Z" }, + { url = "https://files.pythonhosted.org/packages/24/fb/0994c14d1f7909ce83f0b1fb27958135513c4f3f2528bde216180aa73bfc/pandas-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f925f1ef673b4bd0271b1809b72b3270384f2b7d9d14a189b12b7fc02574d575", size = 12141356, upload-time = "2025-06-05T03:27:34.547Z" }, + { url = "https://files.pythonhosted.org/packages/9d/a2/9b903e5962134497ac4f8a96f862ee3081cb2506f69f8e4778ce3d9c9d82/pandas-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78ad363ddb873a631e92a3c063ade1ecfb34cae71e9a2be6ad100f875ac1042", size = 11474674, upload-time = "2025-06-05T03:27:39.448Z" }, + { url = "https://files.pythonhosted.org/packages/81/3a/3806d041bce032f8de44380f866059437fb79e36d6b22c82c187e65f765b/pandas-2.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:951805d146922aed8357e4cc5671b8b0b9be1027f0619cea132a9f3f65f2f09c", size = 11439876, upload-time = "2025-06-05T03:27:43.652Z" }, + { url = "https://files.pythonhosted.org/packages/15/aa/3fc3181d12b95da71f5c2537c3e3b3af6ab3a8c392ab41ebb766e0929bc6/pandas-2.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a881bc1309f3fce34696d07b00f13335c41f5f5a8770a33b09ebe23261cfc67", size = 11966182, upload-time = "2025-06-05T03:27:47.652Z" }, + { url = "https://files.pythonhosted.org/packages/37/e7/e12f2d9b0a2c4a2cc86e2aabff7ccfd24f03e597d770abfa2acd313ee46b/pandas-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e1991bbb96f4050b09b5f811253c4f3cf05ee89a589379aa36cd623f21a31d6f", size = 12547686, upload-time = "2025-06-06T00:00:26.142Z" }, + { url = "https://files.pythonhosted.org/packages/39/c2/646d2e93e0af70f4e5359d870a63584dacbc324b54d73e6b3267920ff117/pandas-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bb3be958022198531eb7ec2008cfc78c5b1eed51af8600c6c5d9160d89d8d249", size = 13231847, upload-time = "2025-06-05T03:27:51.465Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.3.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload-time = "2025-05-07T22:47:42.121Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload-time = "2025-05-07T22:47:40.376Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pre-commit" +version = "4.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cfgv" }, + { name = "identify" }, + { name = "nodeenv" }, + { name = "pyyaml" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/c8/e22c292035f1bac8b9f5237a2622305bc0304e776080b246f3df57c4ff9f/pre_commit-4.0.1.tar.gz", hash = "sha256:80905ac375958c0444c65e9cebebd948b3cdb518f335a091a670a89d652139d2", size = 191678, upload-time = "2024-10-08T16:09:37.641Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/8f/496e10d51edd6671ebe0432e33ff800aa86775d2d147ce7d43389324a525/pre_commit-4.0.1-py2.py3-none-any.whl", hash = "sha256:efde913840816312445dc98787724647c65473daefe420785f885e8ed9a06878", size = 218713, upload-time = "2024-10-08T16:09:35.726Z" }, +] + +[[package]] +name = "prometheus-client" +version = "0.20.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3d/39/3be07741a33356127c4fe633768ee450422c1231c6d34b951fee1458308d/prometheus_client-0.20.0.tar.gz", hash = "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89", size = 78278, upload-time = "2024-02-14T15:55:14.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/98/745b810d822103adca2df8decd4c0bbe839ba7ad3511af3f0d09692fc0f0/prometheus_client-0.20.0-py3-none-any.whl", hash = "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7", size = 54474, upload-time = "2024-02-14T15:55:03.957Z" }, +] + +[[package]] +name = "propcache" +version = "0.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/14/510deed325e262afeb8b360043c5d7c960da7d3ecd6d6f9496c9c56dc7f4/propcache-0.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:22d9962a358aedbb7a2e36187ff273adeaab9743373a272976d2e348d08c7770", size = 73178, upload-time = "2025-06-09T22:53:40.126Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4e/ad52a7925ff01c1325653a730c7ec3175a23f948f08626a534133427dcff/propcache-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d0fda578d1dc3f77b6b5a5dce3b9ad69a8250a891760a548df850a5e8da87f3", size = 43133, upload-time = "2025-06-09T22:53:41.965Z" }, + { url = "https://files.pythonhosted.org/packages/63/7c/e9399ba5da7780871db4eac178e9c2e204c23dd3e7d32df202092a1ed400/propcache-0.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3def3da3ac3ce41562d85db655d18ebac740cb3fa4367f11a52b3da9d03a5cc3", size = 43039, upload-time = "2025-06-09T22:53:43.268Z" }, + { url = "https://files.pythonhosted.org/packages/22/e1/58da211eb8fdc6fc854002387d38f415a6ca5f5c67c1315b204a5d3e9d7a/propcache-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bec58347a5a6cebf239daba9bda37dffec5b8d2ce004d9fe4edef3d2815137e", size = 201903, upload-time = "2025-06-09T22:53:44.872Z" }, + { url = "https://files.pythonhosted.org/packages/c4/0a/550ea0f52aac455cb90111c8bab995208443e46d925e51e2f6ebdf869525/propcache-0.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55ffda449a507e9fbd4aca1a7d9aa6753b07d6166140e5a18d2ac9bc49eac220", size = 213362, upload-time = "2025-06-09T22:53:46.707Z" }, + { url = "https://files.pythonhosted.org/packages/5a/af/9893b7d878deda9bb69fcf54600b247fba7317761b7db11fede6e0f28bd0/propcache-0.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a67fb39229a8a8491dd42f864e5e263155e729c2e7ff723d6e25f596b1e8cb", size = 210525, upload-time = "2025-06-09T22:53:48.547Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bb/38fd08b278ca85cde36d848091ad2b45954bc5f15cce494bb300b9285831/propcache-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da1cf97b92b51253d5b68cf5a2b9e0dafca095e36b7f2da335e27dc6172a614", size = 198283, upload-time = "2025-06-09T22:53:50.067Z" }, + { url = "https://files.pythonhosted.org/packages/78/8c/9fe55bd01d362bafb413dfe508c48753111a1e269737fa143ba85693592c/propcache-0.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f559e127134b07425134b4065be45b166183fdcb433cb6c24c8e4149056ad50", size = 191872, upload-time = "2025-06-09T22:53:51.438Z" }, + { url = "https://files.pythonhosted.org/packages/54/14/4701c33852937a22584e08abb531d654c8bcf7948a8f87ad0a4822394147/propcache-0.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:aff2e4e06435d61f11a428360a932138d0ec288b0a31dd9bd78d200bd4a2b339", size = 199452, upload-time = "2025-06-09T22:53:53.229Z" }, + { url = "https://files.pythonhosted.org/packages/16/44/447f2253d859602095356007657ee535e0093215ea0b3d1d6a41d16e5201/propcache-0.3.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4927842833830942a5d0a56e6f4839bc484785b8e1ce8d287359794818633ba0", size = 191567, upload-time = "2025-06-09T22:53:54.541Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b3/e4756258749bb2d3b46defcff606a2f47410bab82be5824a67e84015b267/propcache-0.3.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6107ddd08b02654a30fb8ad7a132021759d750a82578b94cd55ee2772b6ebea2", size = 193015, upload-time = "2025-06-09T22:53:56.44Z" }, + { url = "https://files.pythonhosted.org/packages/1e/df/e6d3c7574233164b6330b9fd697beeac402afd367280e6dc377bb99b43d9/propcache-0.3.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:70bd8b9cd6b519e12859c99f3fc9a93f375ebd22a50296c3a295028bea73b9e7", size = 204660, upload-time = "2025-06-09T22:53:57.839Z" }, + { url = "https://files.pythonhosted.org/packages/b2/53/e4d31dd5170b4a0e2e6b730f2385a96410633b4833dc25fe5dffd1f73294/propcache-0.3.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2183111651d710d3097338dd1893fcf09c9f54e27ff1a8795495a16a469cc90b", size = 206105, upload-time = "2025-06-09T22:53:59.638Z" }, + { url = "https://files.pythonhosted.org/packages/7f/fe/74d54cf9fbe2a20ff786e5f7afcfde446588f0cf15fb2daacfbc267b866c/propcache-0.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fb075ad271405dcad8e2a7ffc9a750a3bf70e533bd86e89f0603e607b93aa64c", size = 196980, upload-time = "2025-06-09T22:54:01.071Z" }, + { url = "https://files.pythonhosted.org/packages/22/ec/c469c9d59dada8a7679625e0440b544fe72e99311a4679c279562051f6fc/propcache-0.3.2-cp310-cp310-win32.whl", hash = "sha256:404d70768080d3d3bdb41d0771037da19d8340d50b08e104ca0e7f9ce55fce70", size = 37679, upload-time = "2025-06-09T22:54:03.003Z" }, + { url = "https://files.pythonhosted.org/packages/38/35/07a471371ac89d418f8d0b699c75ea6dca2041fbda360823de21f6a9ce0a/propcache-0.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:7435d766f978b4ede777002e6b3b6641dd229cd1da8d3d3106a45770365f9ad9", size = 41459, upload-time = "2025-06-09T22:54:04.134Z" }, + { url = "https://files.pythonhosted.org/packages/80/8d/e8b436717ab9c2cfc23b116d2c297305aa4cd8339172a456d61ebf5669b8/propcache-0.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0b8d2f607bd8f80ddc04088bc2a037fdd17884a6fcadc47a96e334d72f3717be", size = 74207, upload-time = "2025-06-09T22:54:05.399Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/1e34000e9766d112171764b9fa3226fa0153ab565d0c242c70e9945318a7/propcache-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06766d8f34733416e2e34f46fea488ad5d60726bb9481d3cddf89a6fa2d9603f", size = 43648, upload-time = "2025-06-09T22:54:08.023Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1ad5af0df781e76988897da39b5f086c2bf0f028b7f9bd1f409bb05b6874/propcache-0.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2dc1f4a1df4fecf4e6f68013575ff4af84ef6f478fe5344317a65d38a8e6dc9", size = 43496, upload-time = "2025-06-09T22:54:09.228Z" }, + { url = "https://files.pythonhosted.org/packages/b3/ce/e96392460f9fb68461fabab3e095cb00c8ddf901205be4eae5ce246e5b7e/propcache-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be29c4f4810c5789cf10ddf6af80b041c724e629fa51e308a7a0fb19ed1ef7bf", size = 217288, upload-time = "2025-06-09T22:54:10.466Z" }, + { url = "https://files.pythonhosted.org/packages/c5/2a/866726ea345299f7ceefc861a5e782b045545ae6940851930a6adaf1fca6/propcache-0.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59d61f6970ecbd8ff2e9360304d5c8876a6abd4530cb752c06586849ac8a9dc9", size = 227456, upload-time = "2025-06-09T22:54:11.828Z" }, + { url = "https://files.pythonhosted.org/packages/de/03/07d992ccb6d930398689187e1b3c718339a1c06b8b145a8d9650e4726166/propcache-0.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62180e0b8dbb6b004baec00a7983e4cc52f5ada9cd11f48c3528d8cfa7b96a66", size = 225429, upload-time = "2025-06-09T22:54:13.823Z" }, + { url = "https://files.pythonhosted.org/packages/5d/e6/116ba39448753b1330f48ab8ba927dcd6cf0baea8a0ccbc512dfb49ba670/propcache-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c144ca294a204c470f18cf4c9d78887810d04a3e2fbb30eea903575a779159df", size = 213472, upload-time = "2025-06-09T22:54:15.232Z" }, + { url = "https://files.pythonhosted.org/packages/a6/85/f01f5d97e54e428885a5497ccf7f54404cbb4f906688a1690cd51bf597dc/propcache-0.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5c2a784234c28854878d68978265617aa6dc0780e53d44b4d67f3651a17a9a2", size = 204480, upload-time = "2025-06-09T22:54:17.104Z" }, + { url = "https://files.pythonhosted.org/packages/e3/79/7bf5ab9033b8b8194cc3f7cf1aaa0e9c3256320726f64a3e1f113a812dce/propcache-0.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5745bc7acdafa978ca1642891b82c19238eadc78ba2aaa293c6863b304e552d7", size = 214530, upload-time = "2025-06-09T22:54:18.512Z" }, + { url = "https://files.pythonhosted.org/packages/31/0b/bd3e0c00509b609317df4a18e6b05a450ef2d9a963e1d8bc9c9415d86f30/propcache-0.3.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:c0075bf773d66fa8c9d41f66cc132ecc75e5bb9dd7cce3cfd14adc5ca184cb95", size = 205230, upload-time = "2025-06-09T22:54:19.947Z" }, + { url = "https://files.pythonhosted.org/packages/7a/23/fae0ff9b54b0de4e819bbe559508da132d5683c32d84d0dc2ccce3563ed4/propcache-0.3.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5f57aa0847730daceff0497f417c9de353c575d8da3579162cc74ac294c5369e", size = 206754, upload-time = "2025-06-09T22:54:21.716Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7f/ad6a3c22630aaa5f618b4dc3c3598974a72abb4c18e45a50b3cdd091eb2f/propcache-0.3.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:eef914c014bf72d18efb55619447e0aecd5fb7c2e3fa7441e2e5d6099bddff7e", size = 218430, upload-time = "2025-06-09T22:54:23.17Z" }, + { url = "https://files.pythonhosted.org/packages/5b/2c/ba4f1c0e8a4b4c75910742f0d333759d441f65a1c7f34683b4a74c0ee015/propcache-0.3.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2a4092e8549031e82facf3decdbc0883755d5bbcc62d3aea9d9e185549936dcf", size = 223884, upload-time = "2025-06-09T22:54:25.539Z" }, + { url = "https://files.pythonhosted.org/packages/88/e4/ebe30fc399e98572019eee82ad0caf512401661985cbd3da5e3140ffa1b0/propcache-0.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:85871b050f174bc0bfb437efbdb68aaf860611953ed12418e4361bc9c392749e", size = 211480, upload-time = "2025-06-09T22:54:26.892Z" }, + { url = "https://files.pythonhosted.org/packages/96/0a/7d5260b914e01d1d0906f7f38af101f8d8ed0dc47426219eeaf05e8ea7c2/propcache-0.3.2-cp311-cp311-win32.whl", hash = "sha256:36c8d9b673ec57900c3554264e630d45980fd302458e4ac801802a7fd2ef7897", size = 37757, upload-time = "2025-06-09T22:54:28.241Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2d/89fe4489a884bc0da0c3278c552bd4ffe06a1ace559db5ef02ef24ab446b/propcache-0.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53af8cb6a781b02d2ea079b5b853ba9430fcbe18a8e3ce647d5982a3ff69f39", size = 41500, upload-time = "2025-06-09T22:54:29.4Z" }, + { url = "https://files.pythonhosted.org/packages/a8/42/9ca01b0a6f48e81615dca4765a8f1dd2c057e0540f6116a27dc5ee01dfb6/propcache-0.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8de106b6c84506b31c27168582cd3cb3000a6412c16df14a8628e5871ff83c10", size = 73674, upload-time = "2025-06-09T22:54:30.551Z" }, + { url = "https://files.pythonhosted.org/packages/af/6e/21293133beb550f9c901bbece755d582bfaf2176bee4774000bd4dd41884/propcache-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:28710b0d3975117239c76600ea351934ac7b5ff56e60953474342608dbbb6154", size = 43570, upload-time = "2025-06-09T22:54:32.296Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c8/0393a0a3a2b8760eb3bde3c147f62b20044f0ddac81e9d6ed7318ec0d852/propcache-0.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce26862344bdf836650ed2487c3d724b00fbfec4233a1013f597b78c1cb73615", size = 43094, upload-time = "2025-06-09T22:54:33.929Z" }, + { url = "https://files.pythonhosted.org/packages/37/2c/489afe311a690399d04a3e03b069225670c1d489eb7b044a566511c1c498/propcache-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bca54bd347a253af2cf4544bbec232ab982f4868de0dd684246b67a51bc6b1db", size = 226958, upload-time = "2025-06-09T22:54:35.186Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ca/63b520d2f3d418c968bf596839ae26cf7f87bead026b6192d4da6a08c467/propcache-0.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55780d5e9a2ddc59711d727226bb1ba83a22dd32f64ee15594b9392b1f544eb1", size = 234894, upload-time = "2025-06-09T22:54:36.708Z" }, + { url = "https://files.pythonhosted.org/packages/11/60/1d0ed6fff455a028d678df30cc28dcee7af77fa2b0e6962ce1df95c9a2a9/propcache-0.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:035e631be25d6975ed87ab23153db6a73426a48db688070d925aa27e996fe93c", size = 233672, upload-time = "2025-06-09T22:54:38.062Z" }, + { url = "https://files.pythonhosted.org/packages/37/7c/54fd5301ef38505ab235d98827207176a5c9b2aa61939b10a460ca53e123/propcache-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6f22b6eaa39297c751d0e80c0d3a454f112f5c6481214fcf4c092074cecd67", size = 224395, upload-time = "2025-06-09T22:54:39.634Z" }, + { url = "https://files.pythonhosted.org/packages/ee/1a/89a40e0846f5de05fdc6779883bf46ba980e6df4d2ff8fb02643de126592/propcache-0.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ca3aee1aa955438c4dba34fc20a9f390e4c79967257d830f137bd5a8a32ed3b", size = 212510, upload-time = "2025-06-09T22:54:41.565Z" }, + { url = "https://files.pythonhosted.org/packages/5e/33/ca98368586c9566a6b8d5ef66e30484f8da84c0aac3f2d9aec6d31a11bd5/propcache-0.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4f30862869fa2b68380d677cc1c5fcf1e0f2b9ea0cf665812895c75d0ca3b8", size = 222949, upload-time = "2025-06-09T22:54:43.038Z" }, + { url = "https://files.pythonhosted.org/packages/ba/11/ace870d0aafe443b33b2f0b7efdb872b7c3abd505bfb4890716ad7865e9d/propcache-0.3.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b77ec3c257d7816d9f3700013639db7491a434644c906a2578a11daf13176251", size = 217258, upload-time = "2025-06-09T22:54:44.376Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d2/86fd6f7adffcfc74b42c10a6b7db721d1d9ca1055c45d39a1a8f2a740a21/propcache-0.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cab90ac9d3f14b2d5050928483d3d3b8fb6b4018893fc75710e6aa361ecb2474", size = 213036, upload-time = "2025-06-09T22:54:46.243Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/2d7d1e328f45ff34a0a284cf5a2847013701e24c2a53117e7c280a4316b3/propcache-0.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0b504d29f3c47cf6b9e936c1852246c83d450e8e063d50562115a6be6d3a2535", size = 227684, upload-time = "2025-06-09T22:54:47.63Z" }, + { url = "https://files.pythonhosted.org/packages/b7/05/37ae63a0087677e90b1d14710e532ff104d44bc1efa3b3970fff99b891dc/propcache-0.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:ce2ac2675a6aa41ddb2a0c9cbff53780a617ac3d43e620f8fd77ba1c84dcfc06", size = 234562, upload-time = "2025-06-09T22:54:48.982Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7c/3f539fcae630408d0bd8bf3208b9a647ccad10976eda62402a80adf8fc34/propcache-0.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b4239611205294cc433845b914131b2a1f03500ff3c1ed093ed216b82621e1", size = 222142, upload-time = "2025-06-09T22:54:50.424Z" }, + { url = "https://files.pythonhosted.org/packages/7c/d2/34b9eac8c35f79f8a962546b3e97e9d4b990c420ee66ac8255d5d9611648/propcache-0.3.2-cp312-cp312-win32.whl", hash = "sha256:df4a81b9b53449ebc90cc4deefb052c1dd934ba85012aa912c7ea7b7e38b60c1", size = 37711, upload-time = "2025-06-09T22:54:52.072Z" }, + { url = "https://files.pythonhosted.org/packages/19/61/d582be5d226cf79071681d1b46b848d6cb03d7b70af7063e33a2787eaa03/propcache-0.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7046e79b989d7fe457bb755844019e10f693752d169076138abf17f31380800c", size = 41479, upload-time = "2025-06-09T22:54:53.234Z" }, + { url = "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", size = 71286, upload-time = "2025-06-09T22:54:54.369Z" }, + { url = "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", size = 42425, upload-time = "2025-06-09T22:54:55.642Z" }, + { url = "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", size = 41846, upload-time = "2025-06-09T22:54:57.246Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", size = 208871, upload-time = "2025-06-09T22:54:58.975Z" }, + { url = "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", size = 215720, upload-time = "2025-06-09T22:55:00.471Z" }, + { url = "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", size = 215203, upload-time = "2025-06-09T22:55:01.834Z" }, + { url = "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", size = 206365, upload-time = "2025-06-09T22:55:03.199Z" }, + { url = "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", size = 196016, upload-time = "2025-06-09T22:55:04.518Z" }, + { url = "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", size = 205596, upload-time = "2025-06-09T22:55:05.942Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", size = 200977, upload-time = "2025-06-09T22:55:07.792Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", size = 197220, upload-time = "2025-06-09T22:55:09.173Z" }, + { url = "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", size = 210642, upload-time = "2025-06-09T22:55:10.62Z" }, + { url = "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", size = 212789, upload-time = "2025-06-09T22:55:12.029Z" }, + { url = "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", size = 205880, upload-time = "2025-06-09T22:55:13.45Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e5/9076a0bbbfb65d1198007059c65639dfd56266cf8e477a9707e4b1999ff4/propcache-0.3.2-cp313-cp313-win32.whl", hash = "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", size = 37220, upload-time = "2025-06-09T22:55:15.284Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f5/b369e026b09a26cd77aa88d8fffd69141d2ae00a2abaaf5380d2603f4b7f/propcache-0.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", size = 40678, upload-time = "2025-06-09T22:55:16.445Z" }, + { url = "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", size = 76560, upload-time = "2025-06-09T22:55:17.598Z" }, + { url = "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", size = 44676, upload-time = "2025-06-09T22:55:18.922Z" }, + { url = "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", size = 44701, upload-time = "2025-06-09T22:55:20.106Z" }, + { url = "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", size = 276934, upload-time = "2025-06-09T22:55:21.5Z" }, + { url = "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", size = 278316, upload-time = "2025-06-09T22:55:22.918Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", size = 282619, upload-time = "2025-06-09T22:55:24.651Z" }, + { url = "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", size = 265896, upload-time = "2025-06-09T22:55:26.049Z" }, + { url = "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", size = 252111, upload-time = "2025-06-09T22:55:27.381Z" }, + { url = "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", size = 268334, upload-time = "2025-06-09T22:55:28.747Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", size = 255026, upload-time = "2025-06-09T22:55:30.184Z" }, + { url = "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", size = 250724, upload-time = "2025-06-09T22:55:31.646Z" }, + { url = "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", size = 268868, upload-time = "2025-06-09T22:55:33.209Z" }, + { url = "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", size = 271322, upload-time = "2025-06-09T22:55:35.065Z" }, + { url = "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", size = 265778, upload-time = "2025-06-09T22:55:36.45Z" }, + { url = "https://files.pythonhosted.org/packages/9a/4c/b0fe775a2bdd01e176b14b574be679d84fc83958335790f7c9a686c1f468/propcache-0.3.2-cp313-cp313t-win32.whl", hash = "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", size = 41175, upload-time = "2025-06-09T22:55:38.436Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ff/47f08595e3d9b5e149c150f88d9714574f1a7cbd89fe2817158a952674bf/propcache-0.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", size = 44857, upload-time = "2025-06-09T22:55:39.687Z" }, + { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, +] + +[[package]] +name = "pyarrow" +version = "20.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/ee/a7810cb9f3d6e9238e61d312076a9859bf3668fd21c69744de9532383912/pyarrow-20.0.0.tar.gz", hash = "sha256:febc4a913592573c8d5805091a6c2b5064c8bd6e002131f01061797d91c783c1", size = 1125187, upload-time = "2025-04-27T12:34:23.264Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/23/77094eb8ee0dbe88441689cb6afc40ac312a1e15d3a7acc0586999518222/pyarrow-20.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:c7dd06fd7d7b410ca5dc839cc9d485d2bc4ae5240851bcd45d85105cc90a47d7", size = 30832591, upload-time = "2025-04-27T12:27:27.89Z" }, + { url = "https://files.pythonhosted.org/packages/c3/d5/48cc573aff00d62913701d9fac478518f693b30c25f2c157550b0b2565cb/pyarrow-20.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:d5382de8dc34c943249b01c19110783d0d64b207167c728461add1ecc2db88e4", size = 32273686, upload-time = "2025-04-27T12:27:36.816Z" }, + { url = "https://files.pythonhosted.org/packages/37/df/4099b69a432b5cb412dd18adc2629975544d656df3d7fda6d73c5dba935d/pyarrow-20.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6415a0d0174487456ddc9beaead703d0ded5966129fa4fd3114d76b5d1c5ceae", size = 41337051, upload-time = "2025-04-27T12:27:44.4Z" }, + { url = "https://files.pythonhosted.org/packages/4c/27/99922a9ac1c9226f346e3a1e15e63dee6f623ed757ff2893f9d6994a69d3/pyarrow-20.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15aa1b3b2587e74328a730457068dc6c89e6dcbf438d4369f572af9d320a25ee", size = 42404659, upload-time = "2025-04-27T12:27:51.715Z" }, + { url = "https://files.pythonhosted.org/packages/21/d1/71d91b2791b829c9e98f1e0d85be66ed93aff399f80abb99678511847eaa/pyarrow-20.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:5605919fbe67a7948c1f03b9f3727d82846c053cd2ce9303ace791855923fd20", size = 40695446, upload-time = "2025-04-27T12:27:59.643Z" }, + { url = "https://files.pythonhosted.org/packages/f1/ca/ae10fba419a6e94329707487835ec721f5a95f3ac9168500bcf7aa3813c7/pyarrow-20.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a5704f29a74b81673d266e5ec1fe376f060627c2e42c5c7651288ed4b0db29e9", size = 42278528, upload-time = "2025-04-27T12:28:07.297Z" }, + { url = "https://files.pythonhosted.org/packages/7a/a6/aba40a2bf01b5d00cf9cd16d427a5da1fad0fb69b514ce8c8292ab80e968/pyarrow-20.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:00138f79ee1b5aca81e2bdedb91e3739b987245e11fa3c826f9e57c5d102fb75", size = 42918162, upload-time = "2025-04-27T12:28:15.716Z" }, + { url = "https://files.pythonhosted.org/packages/93/6b/98b39650cd64f32bf2ec6d627a9bd24fcb3e4e6ea1873c5e1ea8a83b1a18/pyarrow-20.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f2d67ac28f57a362f1a2c1e6fa98bfe2f03230f7e15927aecd067433b1e70ce8", size = 44550319, upload-time = "2025-04-27T12:28:27.026Z" }, + { url = "https://files.pythonhosted.org/packages/ab/32/340238be1eb5037e7b5de7e640ee22334417239bc347eadefaf8c373936d/pyarrow-20.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:4a8b029a07956b8d7bd742ffca25374dd3f634b35e46cc7a7c3fa4c75b297191", size = 25770759, upload-time = "2025-04-27T12:28:33.702Z" }, + { url = "https://files.pythonhosted.org/packages/47/a2/b7930824181ceadd0c63c1042d01fa4ef63eee233934826a7a2a9af6e463/pyarrow-20.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:24ca380585444cb2a31324c546a9a56abbe87e26069189e14bdba19c86c049f0", size = 30856035, upload-time = "2025-04-27T12:28:40.78Z" }, + { url = "https://files.pythonhosted.org/packages/9b/18/c765770227d7f5bdfa8a69f64b49194352325c66a5c3bb5e332dfd5867d9/pyarrow-20.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:95b330059ddfdc591a3225f2d272123be26c8fa76e8c9ee1a77aad507361cfdb", size = 32309552, upload-time = "2025-04-27T12:28:47.051Z" }, + { url = "https://files.pythonhosted.org/packages/44/fb/dfb2dfdd3e488bb14f822d7335653092dde150cffc2da97de6e7500681f9/pyarrow-20.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f0fb1041267e9968c6d0d2ce3ff92e3928b243e2b6d11eeb84d9ac547308232", size = 41334704, upload-time = "2025-04-27T12:28:55.064Z" }, + { url = "https://files.pythonhosted.org/packages/58/0d/08a95878d38808051a953e887332d4a76bc06c6ee04351918ee1155407eb/pyarrow-20.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8ff87cc837601532cc8242d2f7e09b4e02404de1b797aee747dd4ba4bd6313f", size = 42399836, upload-time = "2025-04-27T12:29:02.13Z" }, + { url = "https://files.pythonhosted.org/packages/f3/cd/efa271234dfe38f0271561086eedcad7bc0f2ddd1efba423916ff0883684/pyarrow-20.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:7a3a5dcf54286e6141d5114522cf31dd67a9e7c9133d150799f30ee302a7a1ab", size = 40711789, upload-time = "2025-04-27T12:29:09.951Z" }, + { url = "https://files.pythonhosted.org/packages/46/1f/7f02009bc7fc8955c391defee5348f510e589a020e4b40ca05edcb847854/pyarrow-20.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a6ad3e7758ecf559900261a4df985662df54fb7fdb55e8e3b3aa99b23d526b62", size = 42301124, upload-time = "2025-04-27T12:29:17.187Z" }, + { url = "https://files.pythonhosted.org/packages/4f/92/692c562be4504c262089e86757a9048739fe1acb4024f92d39615e7bab3f/pyarrow-20.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6bb830757103a6cb300a04610e08d9636f0cd223d32f388418ea893a3e655f1c", size = 42916060, upload-time = "2025-04-27T12:29:24.253Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ec/9f5c7e7c828d8e0a3c7ef50ee62eca38a7de2fa6eb1b8fa43685c9414fef/pyarrow-20.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:96e37f0766ecb4514a899d9a3554fadda770fb57ddf42b63d80f14bc20aa7db3", size = 44547640, upload-time = "2025-04-27T12:29:32.782Z" }, + { url = "https://files.pythonhosted.org/packages/54/96/46613131b4727f10fd2ffa6d0d6f02efcc09a0e7374eff3b5771548aa95b/pyarrow-20.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:3346babb516f4b6fd790da99b98bed9708e3f02e734c84971faccb20736848dc", size = 25781491, upload-time = "2025-04-27T12:29:38.464Z" }, + { url = "https://files.pythonhosted.org/packages/a1/d6/0c10e0d54f6c13eb464ee9b67a68b8c71bcf2f67760ef5b6fbcddd2ab05f/pyarrow-20.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:75a51a5b0eef32727a247707d4755322cb970be7e935172b6a3a9f9ae98404ba", size = 30815067, upload-time = "2025-04-27T12:29:44.384Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e2/04e9874abe4094a06fd8b0cbb0f1312d8dd7d707f144c2ec1e5e8f452ffa/pyarrow-20.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:211d5e84cecc640c7a3ab900f930aaff5cd2702177e0d562d426fb7c4f737781", size = 32297128, upload-time = "2025-04-27T12:29:52.038Z" }, + { url = "https://files.pythonhosted.org/packages/31/fd/c565e5dcc906a3b471a83273039cb75cb79aad4a2d4a12f76cc5ae90a4b8/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ba3cf4182828be7a896cbd232aa8dd6a31bd1f9e32776cc3796c012855e1199", size = 41334890, upload-time = "2025-04-27T12:29:59.452Z" }, + { url = "https://files.pythonhosted.org/packages/af/a9/3bdd799e2c9b20c1ea6dc6fa8e83f29480a97711cf806e823f808c2316ac/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c3a01f313ffe27ac4126f4c2e5ea0f36a5fc6ab51f8726cf41fee4b256680bd", size = 42421775, upload-time = "2025-04-27T12:30:06.875Z" }, + { url = "https://files.pythonhosted.org/packages/10/f7/da98ccd86354c332f593218101ae56568d5dcedb460e342000bd89c49cc1/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:a2791f69ad72addd33510fec7bb14ee06c2a448e06b649e264c094c5b5f7ce28", size = 40687231, upload-time = "2025-04-27T12:30:13.954Z" }, + { url = "https://files.pythonhosted.org/packages/bb/1b/2168d6050e52ff1e6cefc61d600723870bf569cbf41d13db939c8cf97a16/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4250e28a22302ce8692d3a0e8ec9d9dde54ec00d237cff4dfa9c1fbf79e472a8", size = 42295639, upload-time = "2025-04-27T12:30:21.949Z" }, + { url = "https://files.pythonhosted.org/packages/b2/66/2d976c0c7158fd25591c8ca55aee026e6d5745a021915a1835578707feb3/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:89e030dc58fc760e4010148e6ff164d2f44441490280ef1e97a542375e41058e", size = 42908549, upload-time = "2025-04-27T12:30:29.551Z" }, + { url = "https://files.pythonhosted.org/packages/31/a9/dfb999c2fc6911201dcbf348247f9cc382a8990f9ab45c12eabfd7243a38/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6102b4864d77102dbbb72965618e204e550135a940c2534711d5ffa787df2a5a", size = 44557216, upload-time = "2025-04-27T12:30:36.977Z" }, + { url = "https://files.pythonhosted.org/packages/a0/8e/9adee63dfa3911be2382fb4d92e4b2e7d82610f9d9f668493bebaa2af50f/pyarrow-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:96d6a0a37d9c98be08f5ed6a10831d88d52cac7b13f5287f1e0f625a0de8062b", size = 25660496, upload-time = "2025-04-27T12:30:42.809Z" }, + { url = "https://files.pythonhosted.org/packages/9b/aa/daa413b81446d20d4dad2944110dcf4cf4f4179ef7f685dd5a6d7570dc8e/pyarrow-20.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:a15532e77b94c61efadde86d10957950392999503b3616b2ffcef7621a002893", size = 30798501, upload-time = "2025-04-27T12:30:48.351Z" }, + { url = "https://files.pythonhosted.org/packages/ff/75/2303d1caa410925de902d32ac215dc80a7ce7dd8dfe95358c165f2adf107/pyarrow-20.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:dd43f58037443af715f34f1322c782ec463a3c8a94a85fdb2d987ceb5658e061", size = 32277895, upload-time = "2025-04-27T12:30:55.238Z" }, + { url = "https://files.pythonhosted.org/packages/92/41/fe18c7c0b38b20811b73d1bdd54b1fccba0dab0e51d2048878042d84afa8/pyarrow-20.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa0d288143a8585806e3cc7c39566407aab646fb9ece164609dac1cfff45f6ae", size = 41327322, upload-time = "2025-04-27T12:31:05.587Z" }, + { url = "https://files.pythonhosted.org/packages/da/ab/7dbf3d11db67c72dbf36ae63dcbc9f30b866c153b3a22ef728523943eee6/pyarrow-20.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6953f0114f8d6f3d905d98e987d0924dabce59c3cda380bdfaa25a6201563b4", size = 42411441, upload-time = "2025-04-27T12:31:15.675Z" }, + { url = "https://files.pythonhosted.org/packages/90/c3/0c7da7b6dac863af75b64e2f827e4742161128c350bfe7955b426484e226/pyarrow-20.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:991f85b48a8a5e839b2128590ce07611fae48a904cae6cab1f089c5955b57eb5", size = 40677027, upload-time = "2025-04-27T12:31:24.631Z" }, + { url = "https://files.pythonhosted.org/packages/be/27/43a47fa0ff9053ab5203bb3faeec435d43c0d8bfa40179bfd076cdbd4e1c/pyarrow-20.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:97c8dc984ed09cb07d618d57d8d4b67a5100a30c3818c2fb0b04599f0da2de7b", size = 42281473, upload-time = "2025-04-27T12:31:31.311Z" }, + { url = "https://files.pythonhosted.org/packages/bc/0b/d56c63b078876da81bbb9ba695a596eabee9b085555ed12bf6eb3b7cab0e/pyarrow-20.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9b71daf534f4745818f96c214dbc1e6124d7daf059167330b610fc69b6f3d3e3", size = 42893897, upload-time = "2025-04-27T12:31:39.406Z" }, + { url = "https://files.pythonhosted.org/packages/92/ac/7d4bd020ba9145f354012838692d48300c1b8fe5634bfda886abcada67ed/pyarrow-20.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e8b88758f9303fa5a83d6c90e176714b2fd3852e776fc2d7e42a22dd6c2fb368", size = 44543847, upload-time = "2025-04-27T12:31:45.997Z" }, + { url = "https://files.pythonhosted.org/packages/9d/07/290f4abf9ca702c5df7b47739c1b2c83588641ddfa2cc75e34a301d42e55/pyarrow-20.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:30b3051b7975801c1e1d387e17c588d8ab05ced9b1e14eec57915f79869b5031", size = 25653219, upload-time = "2025-04-27T12:31:54.11Z" }, + { url = "https://files.pythonhosted.org/packages/95/df/720bb17704b10bd69dde086e1400b8eefb8f58df3f8ac9cff6c425bf57f1/pyarrow-20.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:ca151afa4f9b7bc45bcc791eb9a89e90a9eb2772767d0b1e5389609c7d03db63", size = 30853957, upload-time = "2025-04-27T12:31:59.215Z" }, + { url = "https://files.pythonhosted.org/packages/d9/72/0d5f875efc31baef742ba55a00a25213a19ea64d7176e0fe001c5d8b6e9a/pyarrow-20.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:4680f01ecd86e0dd63e39eb5cd59ef9ff24a9d166db328679e36c108dc993d4c", size = 32247972, upload-time = "2025-04-27T12:32:05.369Z" }, + { url = "https://files.pythonhosted.org/packages/d5/bc/e48b4fa544d2eea72f7844180eb77f83f2030b84c8dad860f199f94307ed/pyarrow-20.0.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f4c8534e2ff059765647aa69b75d6543f9fef59e2cd4c6d18015192565d2b70", size = 41256434, upload-time = "2025-04-27T12:32:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/c3/01/974043a29874aa2cf4f87fb07fd108828fc7362300265a2a64a94965e35b/pyarrow-20.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e1f8a47f4b4ae4c69c4d702cfbdfe4d41e18e5c7ef6f1bb1c50918c1e81c57b", size = 42353648, upload-time = "2025-04-27T12:32:20.766Z" }, + { url = "https://files.pythonhosted.org/packages/68/95/cc0d3634cde9ca69b0e51cbe830d8915ea32dda2157560dda27ff3b3337b/pyarrow-20.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:a1f60dc14658efaa927f8214734f6a01a806d7690be4b3232ba526836d216122", size = 40619853, upload-time = "2025-04-27T12:32:28.1Z" }, + { url = "https://files.pythonhosted.org/packages/29/c2/3ad40e07e96a3e74e7ed7cc8285aadfa84eb848a798c98ec0ad009eb6bcc/pyarrow-20.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:204a846dca751428991346976b914d6d2a82ae5b8316a6ed99789ebf976551e6", size = 42241743, upload-time = "2025-04-27T12:32:35.792Z" }, + { url = "https://files.pythonhosted.org/packages/eb/cb/65fa110b483339add6a9bc7b6373614166b14e20375d4daa73483755f830/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:f3b117b922af5e4c6b9a9115825726cac7d8b1421c37c2b5e24fbacc8930612c", size = 42839441, upload-time = "2025-04-27T12:32:46.64Z" }, + { url = "https://files.pythonhosted.org/packages/98/7b/f30b1954589243207d7a0fbc9997401044bf9a033eec78f6cb50da3f304a/pyarrow-20.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e724a3fd23ae5b9c010e7be857f4405ed5e679db5c93e66204db1a69f733936a", size = 44503279, upload-time = "2025-04-27T12:32:56.503Z" }, + { url = "https://files.pythonhosted.org/packages/37/40/ad395740cd641869a13bcf60851296c89624662575621968dcfafabaa7f6/pyarrow-20.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:82f1ee5133bd8f49d31be1299dc07f585136679666b502540db854968576faf9", size = 25944982, upload-time = "2025-04-27T12:33:04.72Z" }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, +] + +[[package]] +name = "pydantic" +version = "2.9.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/b7/d9e3f12af310e1120c21603644a1cd86f59060e040ec5c3a80b8f05fae30/pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f", size = 769917, upload-time = "2024-09-17T15:59:54.273Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/e4/ba44652d562cbf0bf320e0f3810206149c8a4e99cdbf66da82e97ab53a15/pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12", size = 434928, upload-time = "2024-09-17T15:59:51.827Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.23.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e2/aa/6b6a9b9f8537b872f552ddd46dd3da230367754b6f707b8e1e963f515ea3/pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863", size = 402156, upload-time = "2024-09-16T16:06:44.786Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/8b/d3ae387f66277bd8104096d6ec0a145f4baa2966ebb2cad746c0920c9526/pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b", size = 1867835, upload-time = "2024-09-16T16:03:57.223Z" }, + { url = "https://files.pythonhosted.org/packages/46/76/f68272e4c3a7df8777798282c5e47d508274917f29992d84e1898f8908c7/pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166", size = 1776689, upload-time = "2024-09-16T16:03:59.266Z" }, + { url = "https://files.pythonhosted.org/packages/cc/69/5f945b4416f42ea3f3bc9d2aaec66c76084a6ff4ff27555bf9415ab43189/pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb", size = 1800748, upload-time = "2024-09-16T16:04:01.011Z" }, + { url = "https://files.pythonhosted.org/packages/50/ab/891a7b0054bcc297fb02d44d05c50e68154e31788f2d9d41d0b72c89fdf7/pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916", size = 1806469, upload-time = "2024-09-16T16:04:02.323Z" }, + { url = "https://files.pythonhosted.org/packages/31/7c/6e3fa122075d78f277a8431c4c608f061881b76c2b7faca01d317ee39b5d/pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07", size = 2002246, upload-time = "2024-09-16T16:04:03.688Z" }, + { url = "https://files.pythonhosted.org/packages/ad/6f/22d5692b7ab63fc4acbc74de6ff61d185804a83160adba5e6cc6068e1128/pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232", size = 2659404, upload-time = "2024-09-16T16:04:05.299Z" }, + { url = "https://files.pythonhosted.org/packages/11/ac/1e647dc1121c028b691028fa61a4e7477e6aeb5132628fde41dd34c1671f/pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2", size = 2053940, upload-time = "2024-09-16T16:04:06.604Z" }, + { url = "https://files.pythonhosted.org/packages/91/75/984740c17f12c3ce18b5a2fcc4bdceb785cce7df1511a4ce89bca17c7e2d/pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f", size = 1921437, upload-time = "2024-09-16T16:04:08.071Z" }, + { url = "https://files.pythonhosted.org/packages/a0/74/13c5f606b64d93f0721e7768cd3e8b2102164866c207b8cd6f90bb15d24f/pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3", size = 1966129, upload-time = "2024-09-16T16:04:10.363Z" }, + { url = "https://files.pythonhosted.org/packages/18/03/9c4aa5919457c7b57a016c1ab513b1a926ed9b2bb7915bf8e506bf65c34b/pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071", size = 2110908, upload-time = "2024-09-16T16:04:12.412Z" }, + { url = "https://files.pythonhosted.org/packages/92/2c/053d33f029c5dc65e5cf44ff03ceeefb7cce908f8f3cca9265e7f9b540c8/pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119", size = 1735278, upload-time = "2024-09-16T16:04:13.732Z" }, + { url = "https://files.pythonhosted.org/packages/de/81/7dfe464eca78d76d31dd661b04b5f2036ec72ea8848dd87ab7375e185c23/pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f", size = 1917453, upload-time = "2024-09-16T16:04:15.996Z" }, + { url = "https://files.pythonhosted.org/packages/5d/30/890a583cd3f2be27ecf32b479d5d615710bb926d92da03e3f7838ff3e58b/pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8", size = 1865160, upload-time = "2024-09-16T16:04:18.628Z" }, + { url = "https://files.pythonhosted.org/packages/1d/9a/b634442e1253bc6889c87afe8bb59447f106ee042140bd57680b3b113ec7/pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d", size = 1776777, upload-time = "2024-09-16T16:04:20.038Z" }, + { url = "https://files.pythonhosted.org/packages/75/9a/7816295124a6b08c24c96f9ce73085032d8bcbaf7e5a781cd41aa910c891/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e", size = 1799244, upload-time = "2024-09-16T16:04:21.799Z" }, + { url = "https://files.pythonhosted.org/packages/a9/8f/89c1405176903e567c5f99ec53387449e62f1121894aa9fc2c4fdc51a59b/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607", size = 1805307, upload-time = "2024-09-16T16:04:23.324Z" }, + { url = "https://files.pythonhosted.org/packages/d5/a5/1a194447d0da1ef492e3470680c66048fef56fc1f1a25cafbea4bc1d1c48/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd", size = 2000663, upload-time = "2024-09-16T16:04:25.203Z" }, + { url = "https://files.pythonhosted.org/packages/13/a5/1df8541651de4455e7d587cf556201b4f7997191e110bca3b589218745a5/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea", size = 2655941, upload-time = "2024-09-16T16:04:27.211Z" }, + { url = "https://files.pythonhosted.org/packages/44/31/a3899b5ce02c4316865e390107f145089876dff7e1dfc770a231d836aed8/pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e", size = 2052105, upload-time = "2024-09-16T16:04:28.611Z" }, + { url = "https://files.pythonhosted.org/packages/1b/aa/98e190f8745d5ec831f6d5449344c48c0627ac5fed4e5340a44b74878f8e/pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b", size = 1919967, upload-time = "2024-09-16T16:04:30.045Z" }, + { url = "https://files.pythonhosted.org/packages/ae/35/b6e00b6abb2acfee3e8f85558c02a0822e9a8b2f2d812ea8b9079b118ba0/pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0", size = 1964291, upload-time = "2024-09-16T16:04:32.376Z" }, + { url = "https://files.pythonhosted.org/packages/13/46/7bee6d32b69191cd649bbbd2361af79c472d72cb29bb2024f0b6e350ba06/pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64", size = 2109666, upload-time = "2024-09-16T16:04:33.923Z" }, + { url = "https://files.pythonhosted.org/packages/39/ef/7b34f1b122a81b68ed0a7d0e564da9ccdc9a2924c8d6c6b5b11fa3a56970/pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f", size = 1732940, upload-time = "2024-09-16T16:04:35.467Z" }, + { url = "https://files.pythonhosted.org/packages/2f/76/37b7e76c645843ff46c1d73e046207311ef298d3f7b2f7d8f6ac60113071/pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3", size = 1916804, upload-time = "2024-09-16T16:04:37.06Z" }, + { url = "https://files.pythonhosted.org/packages/74/7b/8e315f80666194b354966ec84b7d567da77ad927ed6323db4006cf915f3f/pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231", size = 1856459, upload-time = "2024-09-16T16:04:38.438Z" }, + { url = "https://files.pythonhosted.org/packages/14/de/866bdce10ed808323d437612aca1ec9971b981e1c52e5e42ad9b8e17a6f6/pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee", size = 1770007, upload-time = "2024-09-16T16:04:40.229Z" }, + { url = "https://files.pythonhosted.org/packages/dc/69/8edd5c3cd48bb833a3f7ef9b81d7666ccddd3c9a635225214e044b6e8281/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87", size = 1790245, upload-time = "2024-09-16T16:04:41.794Z" }, + { url = "https://files.pythonhosted.org/packages/80/33/9c24334e3af796ce80d2274940aae38dd4e5676298b4398eff103a79e02d/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8", size = 1801260, upload-time = "2024-09-16T16:04:43.991Z" }, + { url = "https://files.pythonhosted.org/packages/a5/6f/e9567fd90104b79b101ca9d120219644d3314962caa7948dd8b965e9f83e/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327", size = 1996872, upload-time = "2024-09-16T16:04:45.593Z" }, + { url = "https://files.pythonhosted.org/packages/2d/ad/b5f0fe9e6cfee915dd144edbd10b6e9c9c9c9d7a56b69256d124b8ac682e/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2", size = 2661617, upload-time = "2024-09-16T16:04:47.3Z" }, + { url = "https://files.pythonhosted.org/packages/06/c8/7d4b708f8d05a5cbfda3243aad468052c6e99de7d0937c9146c24d9f12e9/pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36", size = 2071831, upload-time = "2024-09-16T16:04:48.893Z" }, + { url = "https://files.pythonhosted.org/packages/89/4d/3079d00c47f22c9a9a8220db088b309ad6e600a73d7a69473e3a8e5e3ea3/pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126", size = 1917453, upload-time = "2024-09-16T16:04:51.099Z" }, + { url = "https://files.pythonhosted.org/packages/e9/88/9df5b7ce880a4703fcc2d76c8c2d8eb9f861f79d0c56f4b8f5f2607ccec8/pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e", size = 1968793, upload-time = "2024-09-16T16:04:52.604Z" }, + { url = "https://files.pythonhosted.org/packages/e3/b9/41f7efe80f6ce2ed3ee3c2dcfe10ab7adc1172f778cc9659509a79518c43/pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24", size = 2116872, upload-time = "2024-09-16T16:04:54.41Z" }, + { url = "https://files.pythonhosted.org/packages/63/08/b59b7a92e03dd25554b0436554bf23e7c29abae7cce4b1c459cd92746811/pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84", size = 1738535, upload-time = "2024-09-16T16:04:55.828Z" }, + { url = "https://files.pythonhosted.org/packages/88/8d/479293e4d39ab409747926eec4329de5b7129beaedc3786eca070605d07f/pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9", size = 1917992, upload-time = "2024-09-16T16:04:57.395Z" }, + { url = "https://files.pythonhosted.org/packages/ad/ef/16ee2df472bf0e419b6bc68c05bf0145c49247a1095e85cee1463c6a44a1/pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc", size = 1856143, upload-time = "2024-09-16T16:04:59.062Z" }, + { url = "https://files.pythonhosted.org/packages/da/fa/bc3dbb83605669a34a93308e297ab22be82dfb9dcf88c6cf4b4f264e0a42/pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd", size = 1770063, upload-time = "2024-09-16T16:05:00.522Z" }, + { url = "https://files.pythonhosted.org/packages/4e/48/e813f3bbd257a712303ebdf55c8dc46f9589ec74b384c9f652597df3288d/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05", size = 1790013, upload-time = "2024-09-16T16:05:02.619Z" }, + { url = "https://files.pythonhosted.org/packages/b4/e0/56eda3a37929a1d297fcab1966db8c339023bcca0b64c5a84896db3fcc5c/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d", size = 1801077, upload-time = "2024-09-16T16:05:04.154Z" }, + { url = "https://files.pythonhosted.org/packages/04/be/5e49376769bfbf82486da6c5c1683b891809365c20d7c7e52792ce4c71f3/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510", size = 1996782, upload-time = "2024-09-16T16:05:06.931Z" }, + { url = "https://files.pythonhosted.org/packages/bc/24/e3ee6c04f1d58cc15f37bcc62f32c7478ff55142b7b3e6d42ea374ea427c/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6", size = 2661375, upload-time = "2024-09-16T16:05:08.773Z" }, + { url = "https://files.pythonhosted.org/packages/c1/f8/11a9006de4e89d016b8de74ebb1db727dc100608bb1e6bbe9d56a3cbbcce/pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b", size = 2071635, upload-time = "2024-09-16T16:05:10.456Z" }, + { url = "https://files.pythonhosted.org/packages/7c/45/bdce5779b59f468bdf262a5bc9eecbae87f271c51aef628d8c073b4b4b4c/pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327", size = 1916994, upload-time = "2024-09-16T16:05:12.051Z" }, + { url = "https://files.pythonhosted.org/packages/d8/fa/c648308fe711ee1f88192cad6026ab4f925396d1293e8356de7e55be89b5/pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6", size = 1968877, upload-time = "2024-09-16T16:05:14.021Z" }, + { url = "https://files.pythonhosted.org/packages/16/16/b805c74b35607d24d37103007f899abc4880923b04929547ae68d478b7f4/pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f", size = 2116814, upload-time = "2024-09-16T16:05:15.684Z" }, + { url = "https://files.pythonhosted.org/packages/d1/58/5305e723d9fcdf1c5a655e6a4cc2a07128bf644ff4b1d98daf7a9dbf57da/pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769", size = 1738360, upload-time = "2024-09-16T16:05:17.258Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ae/e14b0ff8b3f48e02394d8acd911376b7b66e164535687ef7dc24ea03072f/pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5", size = 1919411, upload-time = "2024-09-16T16:05:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/13/a9/5d582eb3204464284611f636b55c0a7410d748ff338756323cb1ce721b96/pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5", size = 1857135, upload-time = "2024-09-16T16:06:10.45Z" }, + { url = "https://files.pythonhosted.org/packages/2c/57/faf36290933fe16717f97829eabfb1868182ac495f99cf0eda9f59687c9d/pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec", size = 1740583, upload-time = "2024-09-16T16:06:12.298Z" }, + { url = "https://files.pythonhosted.org/packages/91/7c/d99e3513dc191c4fec363aef1bf4c8af9125d8fa53af7cb97e8babef4e40/pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480", size = 1793637, upload-time = "2024-09-16T16:06:14.092Z" }, + { url = "https://files.pythonhosted.org/packages/29/18/812222b6d18c2d13eebbb0f7cdc170a408d9ced65794fdb86147c77e1982/pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068", size = 1941963, upload-time = "2024-09-16T16:06:16.757Z" }, + { url = "https://files.pythonhosted.org/packages/0f/36/c1f3642ac3f05e6bb4aec3ffc399fa3f84895d259cf5f0ce3054b7735c29/pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801", size = 1915332, upload-time = "2024-09-16T16:06:18.677Z" }, + { url = "https://files.pythonhosted.org/packages/f7/ca/9c0854829311fb446020ebb540ee22509731abad886d2859c855dd29b904/pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728", size = 1957926, upload-time = "2024-09-16T16:06:20.591Z" }, + { url = "https://files.pythonhosted.org/packages/c0/1c/7836b67c42d0cd4441fcd9fafbf6a027ad4b79b6559f80cf11f89fd83648/pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433", size = 2100342, upload-time = "2024-09-16T16:06:22.888Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f9/b6bcaf874f410564a78908739c80861a171788ef4d4f76f5009656672dfe/pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753", size = 1920344, upload-time = "2024-09-16T16:06:24.849Z" }, +] + +[[package]] +name = "pyproject-api" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/fd/437901c891f58a7b9096511750247535e891d2d5a5a6eefbc9386a2b41d5/pyproject_api-1.9.1.tar.gz", hash = "sha256:43c9918f49daab37e302038fc1aed54a8c7a91a9fa935d00b9a485f37e0f5335", size = 22710, upload-time = "2025-05-12T14:41:58.025Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/e6/c293c06695d4a3ab0260ef124a74ebadba5f4c511ce3a4259e976902c00b/pyproject_api-1.9.1-py3-none-any.whl", hash = "sha256:7d6238d92f8962773dd75b5f0c4a6a27cce092a14b623b811dba656f3b628948", size = 13158, upload-time = "2025-05-12T14:41:56.217Z" }, +] + +[[package]] +name = "pytest" +version = "8.3.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" }, +] + +[[package]] +name = "pytest-cov" +version = "6.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", extra = ["toml"] }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/be/45/9b538de8cef30e17c7b45ef42f538a94889ed6a16f2387a6c89e73220651/pytest-cov-6.0.0.tar.gz", hash = "sha256:fde0b595ca248bb8e2d76f020b465f3b107c9632e6a1d1705f17834c89dcadc0", size = 66945, upload-time = "2024-10-29T20:13:35.363Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/3b/48e79f2cd6a61dbbd4807b4ed46cb564b4fd50a76166b1c4ea5c1d9e2371/pytest_cov-6.0.0-py3-none-any.whl", hash = "sha256:eee6f1b9e61008bd34975a4d5bab25801eb31898b032dd55addc93e96fcaaa35", size = 22949, upload-time = "2024-10-29T20:13:33.215Z" }, +] + +[[package]] +name = "pytest-mock" +version = "3.14.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/28/67172c96ba684058a4d24ffe144d64783d2a270d0af0d9e792737bddc75c/pytest_mock-3.14.1.tar.gz", hash = "sha256:159e9edac4c451ce77a5cdb9fc5d1100708d2dd4ba3c3df572f14097351af80e", size = 33241, upload-time = "2025-05-26T13:58:45.167Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/05/77b60e520511c53d1c1ca75f1930c7dd8e971d0c4379b7f4b3f9644685ba/pytest_mock-3.14.1-py3-none-any.whl", hash = "sha256:178aefcd11307d874b4cd3100344e7e2d888d9791a6a1d9bfe90fbc1b74fd1d0", size = 9923, upload-time = "2025-05-26T13:58:43.487Z" }, +] + +[[package]] +name = "pytest-order" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1d/66/02ae17461b14a52ce5a29ae2900156b9110d1de34721ccc16ccd79419876/pytest_order-1.3.0.tar.gz", hash = "sha256:51608fec3d3ee9c0adaea94daa124a5c4c1d2bb99b00269f098f414307f23dde", size = 47544, upload-time = "2024-08-22T12:29:54.512Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/73/59b038d1aafca89f8e9936eaa8ffa6bb6138d00459d13a32ce070be4f280/pytest_order-1.3.0-py3-none-any.whl", hash = "sha256:2cd562a21380345dd8d5774aa5fd38b7849b6ee7397ca5f6999bbe6e89f07f6e", size = 14609, upload-time = "2024-08-22T12:29:53.156Z" }, +] + +[[package]] +name = "pytest-snapshot" +version = "0.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/7b/ab8f1fc1e687218aa66acec1c3674d9c443f6a2dc8cb6a50f464548ffa34/pytest-snapshot-0.9.0.tar.gz", hash = "sha256:c7013c3abc3e860f9feff899f8b4debe3708650d8d8242a61bf2625ff64db7f3", size = 19877, upload-time = "2022-04-23T17:35:31.751Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/29/518f32faf6edad9f56d6e0107217f7de6b79f297a47170414a2bd4be7f01/pytest_snapshot-0.9.0-py3-none-any.whl", hash = "sha256:4b9fe1c21c868fe53a545e4e3184d36bc1c88946e3f5c1d9dd676962a9b3d4ab", size = 10715, upload-time = "2022-04-23T17:35:30.288Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", size = 39115, upload-time = "2024-01-23T06:33:00.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863, upload-time = "2024-01-23T06:32:58.246Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, +] + +[[package]] +name = "readerwriterlock" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a4/b9/6b7c390440ec23bf5fdf33e76d6c3b697a788b983c11cb2739d6541835d6/readerwriterlock-1.0.9.tar.gz", hash = "sha256:b7c4cc003435d7a8ff15b312b0a62a88d9800ba6164af88991f87f8b748f9bea", size = 16595, upload-time = "2021-09-06T03:41:21.75Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/5a/2f2e7fc026d5e64b5408aa3fbe0296a6407b8481196cae4daacacb3a3ae0/readerwriterlock-1.0.9-py3-none-any.whl", hash = "sha256:8c4b704e60d15991462081a27ef46762fea49b478aa4426644f2146754759ca7", size = 9999, upload-time = "2021-09-06T03:41:19.435Z" }, +] + +[[package]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, +] + +[[package]] +name = "requests" +version = "2.32.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" }, +] + +[[package]] +name = "responses" +version = "0.25.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, + { name = "requests" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/95/89c054ad70bfef6da605338b009b2e283485835351a9935c7bfbfaca7ffc/responses-0.25.8.tar.gz", hash = "sha256:9374d047a575c8f781b94454db5cab590b6029505f488d12899ddb10a4af1cf4", size = 79320, upload-time = "2025-08-08T19:01:46.709Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/4c/cc276ce57e572c102d9542d383b2cfd551276581dc60004cb94fe8774c11/responses-0.25.8-py3-none-any.whl", hash = "sha256:0c710af92def29c8352ceadff0c3fe340ace27cf5af1bbe46fb71275bcd2831c", size = 34769, upload-time = "2025-08-08T19:01:45.018Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.25.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/a6/60184b7fc00dd3ca80ac635dd5b8577d444c57e8e8742cecabfacb829921/rpds_py-0.25.1.tar.gz", hash = "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", size = 27304, upload-time = "2025-05-21T12:46:12.502Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/09/e1158988e50905b7f8306487a576b52d32aa9a87f79f7ab24ee8db8b6c05/rpds_py-0.25.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f4ad628b5174d5315761b67f212774a32f5bad5e61396d38108bd801c0a8f5d9", size = 373140, upload-time = "2025-05-21T12:42:38.834Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4b/a284321fb3c45c02fc74187171504702b2934bfe16abab89713eedfe672e/rpds_py-0.25.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8c742af695f7525e559c16f1562cf2323db0e3f0fbdcabdf6865b095256b2d40", size = 358860, upload-time = "2025-05-21T12:42:41.394Z" }, + { url = "https://files.pythonhosted.org/packages/4e/46/8ac9811150c75edeae9fc6fa0e70376c19bc80f8e1f7716981433905912b/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:605ffe7769e24b1800b4d024d24034405d9404f0bc2f55b6db3362cd34145a6f", size = 386179, upload-time = "2025-05-21T12:42:43.213Z" }, + { url = "https://files.pythonhosted.org/packages/f3/ec/87eb42d83e859bce91dcf763eb9f2ab117142a49c9c3d17285440edb5b69/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ccc6f3ddef93243538be76f8e47045b4aad7a66a212cd3a0f23e34469473d36b", size = 400282, upload-time = "2025-05-21T12:42:44.92Z" }, + { url = "https://files.pythonhosted.org/packages/68/c8/2a38e0707d7919c8c78e1d582ab15cf1255b380bcb086ca265b73ed6db23/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f70316f760174ca04492b5ab01be631a8ae30cadab1d1081035136ba12738cfa", size = 521824, upload-time = "2025-05-21T12:42:46.856Z" }, + { url = "https://files.pythonhosted.org/packages/5e/2c/6a92790243569784dde84d144bfd12bd45102f4a1c897d76375076d730ab/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1dafef8df605fdb46edcc0bf1573dea0d6d7b01ba87f85cd04dc855b2b4479e", size = 411644, upload-time = "2025-05-21T12:42:48.838Z" }, + { url = "https://files.pythonhosted.org/packages/eb/76/66b523ffc84cf47db56efe13ae7cf368dee2bacdec9d89b9baca5e2e6301/rpds_py-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0701942049095741a8aeb298a31b203e735d1c61f4423511d2b1a41dcd8a16da", size = 386955, upload-time = "2025-05-21T12:42:50.835Z" }, + { url = "https://files.pythonhosted.org/packages/b6/b9/a362d7522feaa24dc2b79847c6175daa1c642817f4a19dcd5c91d3e2c316/rpds_py-0.25.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e87798852ae0b37c88babb7f7bbbb3e3fecc562a1c340195b44c7e24d403e380", size = 421039, upload-time = "2025-05-21T12:42:52.348Z" }, + { url = "https://files.pythonhosted.org/packages/0f/c4/b5b6f70b4d719b6584716889fd3413102acf9729540ee76708d56a76fa97/rpds_py-0.25.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3bcce0edc1488906c2d4c75c94c70a0417e83920dd4c88fec1078c94843a6ce9", size = 563290, upload-time = "2025-05-21T12:42:54.404Z" }, + { url = "https://files.pythonhosted.org/packages/87/a3/2e6e816615c12a8f8662c9d8583a12eb54c52557521ef218cbe3095a8afa/rpds_py-0.25.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e2f6a2347d3440ae789505693a02836383426249d5293541cd712e07e7aecf54", size = 592089, upload-time = "2025-05-21T12:42:55.976Z" }, + { url = "https://files.pythonhosted.org/packages/c0/08/9b8e1050e36ce266135994e2c7ec06e1841f1c64da739daeb8afe9cb77a4/rpds_py-0.25.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4fd52d3455a0aa997734f3835cbc4c9f32571345143960e7d7ebfe7b5fbfa3b2", size = 558400, upload-time = "2025-05-21T12:42:58.032Z" }, + { url = "https://files.pythonhosted.org/packages/f2/df/b40b8215560b8584baccd839ff5c1056f3c57120d79ac41bd26df196da7e/rpds_py-0.25.1-cp310-cp310-win32.whl", hash = "sha256:3f0b1798cae2bbbc9b9db44ee068c556d4737911ad53a4e5093d09d04b3bbc24", size = 219741, upload-time = "2025-05-21T12:42:59.479Z" }, + { url = "https://files.pythonhosted.org/packages/10/99/e4c58be18cf5d8b40b8acb4122bc895486230b08f978831b16a3916bd24d/rpds_py-0.25.1-cp310-cp310-win_amd64.whl", hash = "sha256:3ebd879ab996537fc510a2be58c59915b5dd63bccb06d1ef514fee787e05984a", size = 231553, upload-time = "2025-05-21T12:43:01.425Z" }, + { url = "https://files.pythonhosted.org/packages/95/e1/df13fe3ddbbea43567e07437f097863b20c99318ae1f58a0fe389f763738/rpds_py-0.25.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5f048bbf18b1f9120685c6d6bb70cc1a52c8cc11bdd04e643d28d3be0baf666d", size = 373341, upload-time = "2025-05-21T12:43:02.978Z" }, + { url = "https://files.pythonhosted.org/packages/7a/58/deef4d30fcbcbfef3b6d82d17c64490d5c94585a2310544ce8e2d3024f83/rpds_py-0.25.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4fbb0dbba559959fcb5d0735a0f87cdbca9e95dac87982e9b95c0f8f7ad10255", size = 359111, upload-time = "2025-05-21T12:43:05.128Z" }, + { url = "https://files.pythonhosted.org/packages/bb/7e/39f1f4431b03e96ebaf159e29a0f82a77259d8f38b2dd474721eb3a8ac9b/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4ca54b9cf9d80b4016a67a0193ebe0bcf29f6b0a96f09db942087e294d3d4c2", size = 386112, upload-time = "2025-05-21T12:43:07.13Z" }, + { url = "https://files.pythonhosted.org/packages/db/e7/847068a48d63aec2ae695a1646089620b3b03f8ccf9f02c122ebaf778f3c/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ee3e26eb83d39b886d2cb6e06ea701bba82ef30a0de044d34626ede51ec98b0", size = 400362, upload-time = "2025-05-21T12:43:08.693Z" }, + { url = "https://files.pythonhosted.org/packages/3b/3d/9441d5db4343d0cee759a7ab4d67420a476cebb032081763de934719727b/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:89706d0683c73a26f76a5315d893c051324d771196ae8b13e6ffa1ffaf5e574f", size = 522214, upload-time = "2025-05-21T12:43:10.694Z" }, + { url = "https://files.pythonhosted.org/packages/a2/ec/2cc5b30d95f9f1a432c79c7a2f65d85e52812a8f6cbf8768724571710786/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2013ee878c76269c7b557a9a9c042335d732e89d482606990b70a839635feb7", size = 411491, upload-time = "2025-05-21T12:43:12.739Z" }, + { url = "https://files.pythonhosted.org/packages/dc/6c/44695c1f035077a017dd472b6a3253553780837af2fac9b6ac25f6a5cb4d/rpds_py-0.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45e484db65e5380804afbec784522de84fa95e6bb92ef1bd3325d33d13efaebd", size = 386978, upload-time = "2025-05-21T12:43:14.25Z" }, + { url = "https://files.pythonhosted.org/packages/b1/74/b4357090bb1096db5392157b4e7ed8bb2417dc7799200fcbaee633a032c9/rpds_py-0.25.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:48d64155d02127c249695abb87d39f0faf410733428d499867606be138161d65", size = 420662, upload-time = "2025-05-21T12:43:15.8Z" }, + { url = "https://files.pythonhosted.org/packages/26/dd/8cadbebf47b96e59dfe8b35868e5c38a42272699324e95ed522da09d3a40/rpds_py-0.25.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:048893e902132fd6548a2e661fb38bf4896a89eea95ac5816cf443524a85556f", size = 563385, upload-time = "2025-05-21T12:43:17.78Z" }, + { url = "https://files.pythonhosted.org/packages/c3/ea/92960bb7f0e7a57a5ab233662f12152085c7dc0d5468534c65991a3d48c9/rpds_py-0.25.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0317177b1e8691ab5879f4f33f4b6dc55ad3b344399e23df2e499de7b10a548d", size = 592047, upload-time = "2025-05-21T12:43:19.457Z" }, + { url = "https://files.pythonhosted.org/packages/61/ad/71aabc93df0d05dabcb4b0c749277881f8e74548582d96aa1bf24379493a/rpds_py-0.25.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bffcf57826d77a4151962bf1701374e0fc87f536e56ec46f1abdd6a903354042", size = 557863, upload-time = "2025-05-21T12:43:21.69Z" }, + { url = "https://files.pythonhosted.org/packages/93/0f/89df0067c41f122b90b76f3660028a466eb287cbe38efec3ea70e637ca78/rpds_py-0.25.1-cp311-cp311-win32.whl", hash = "sha256:cda776f1967cb304816173b30994faaf2fd5bcb37e73118a47964a02c348e1bc", size = 219627, upload-time = "2025-05-21T12:43:23.311Z" }, + { url = "https://files.pythonhosted.org/packages/7c/8d/93b1a4c1baa903d0229374d9e7aa3466d751f1d65e268c52e6039c6e338e/rpds_py-0.25.1-cp311-cp311-win_amd64.whl", hash = "sha256:dc3c1ff0abc91444cd20ec643d0f805df9a3661fcacf9c95000329f3ddf268a4", size = 231603, upload-time = "2025-05-21T12:43:25.145Z" }, + { url = "https://files.pythonhosted.org/packages/cb/11/392605e5247bead2f23e6888e77229fbd714ac241ebbebb39a1e822c8815/rpds_py-0.25.1-cp311-cp311-win_arm64.whl", hash = "sha256:5a3ddb74b0985c4387719fc536faced33cadf2172769540c62e2a94b7b9be1c4", size = 223967, upload-time = "2025-05-21T12:43:26.566Z" }, + { url = "https://files.pythonhosted.org/packages/7f/81/28ab0408391b1dc57393653b6a0cf2014cc282cc2909e4615e63e58262be/rpds_py-0.25.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c", size = 364647, upload-time = "2025-05-21T12:43:28.559Z" }, + { url = "https://files.pythonhosted.org/packages/2c/9a/7797f04cad0d5e56310e1238434f71fc6939d0bc517192a18bb99a72a95f/rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b", size = 350454, upload-time = "2025-05-21T12:43:30.615Z" }, + { url = "https://files.pythonhosted.org/packages/69/3c/93d2ef941b04898011e5d6eaa56a1acf46a3b4c9f4b3ad1bbcbafa0bee1f/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa", size = 389665, upload-time = "2025-05-21T12:43:32.629Z" }, + { url = "https://files.pythonhosted.org/packages/c1/57/ad0e31e928751dde8903a11102559628d24173428a0f85e25e187defb2c1/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda", size = 403873, upload-time = "2025-05-21T12:43:34.576Z" }, + { url = "https://files.pythonhosted.org/packages/16/ad/c0c652fa9bba778b4f54980a02962748479dc09632e1fd34e5282cf2556c/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309", size = 525866, upload-time = "2025-05-21T12:43:36.123Z" }, + { url = "https://files.pythonhosted.org/packages/2a/39/3e1839bc527e6fcf48d5fec4770070f872cdee6c6fbc9b259932f4e88a38/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b", size = 416886, upload-time = "2025-05-21T12:43:38.034Z" }, + { url = "https://files.pythonhosted.org/packages/7a/95/dd6b91cd4560da41df9d7030a038298a67d24f8ca38e150562644c829c48/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea", size = 390666, upload-time = "2025-05-21T12:43:40.065Z" }, + { url = "https://files.pythonhosted.org/packages/64/48/1be88a820e7494ce0a15c2d390ccb7c52212370badabf128e6a7bb4cb802/rpds_py-0.25.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65", size = 425109, upload-time = "2025-05-21T12:43:42.263Z" }, + { url = "https://files.pythonhosted.org/packages/cf/07/3e2a17927ef6d7720b9949ec1b37d1e963b829ad0387f7af18d923d5cfa5/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c", size = 567244, upload-time = "2025-05-21T12:43:43.846Z" }, + { url = "https://files.pythonhosted.org/packages/d2/e5/76cf010998deccc4f95305d827847e2eae9c568099c06b405cf96384762b/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd", size = 596023, upload-time = "2025-05-21T12:43:45.932Z" }, + { url = "https://files.pythonhosted.org/packages/52/9a/df55efd84403736ba37a5a6377b70aad0fd1cb469a9109ee8a1e21299a1c/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb", size = 561634, upload-time = "2025-05-21T12:43:48.263Z" }, + { url = "https://files.pythonhosted.org/packages/ab/aa/dc3620dd8db84454aaf9374bd318f1aa02578bba5e567f5bf6b79492aca4/rpds_py-0.25.1-cp312-cp312-win32.whl", hash = "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe", size = 222713, upload-time = "2025-05-21T12:43:49.897Z" }, + { url = "https://files.pythonhosted.org/packages/a3/7f/7cef485269a50ed5b4e9bae145f512d2a111ca638ae70cc101f661b4defd/rpds_py-0.25.1-cp312-cp312-win_amd64.whl", hash = "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192", size = 235280, upload-time = "2025-05-21T12:43:51.893Z" }, + { url = "https://files.pythonhosted.org/packages/99/f2/c2d64f6564f32af913bf5f3f7ae41c7c263c5ae4c4e8f1a17af8af66cd46/rpds_py-0.25.1-cp312-cp312-win_arm64.whl", hash = "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728", size = 225399, upload-time = "2025-05-21T12:43:53.351Z" }, + { url = "https://files.pythonhosted.org/packages/2b/da/323848a2b62abe6a0fec16ebe199dc6889c5d0a332458da8985b2980dffe/rpds_py-0.25.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559", size = 364498, upload-time = "2025-05-21T12:43:54.841Z" }, + { url = "https://files.pythonhosted.org/packages/1f/b4/4d3820f731c80fd0cd823b3e95b9963fec681ae45ba35b5281a42382c67d/rpds_py-0.25.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1", size = 350083, upload-time = "2025-05-21T12:43:56.428Z" }, + { url = "https://files.pythonhosted.org/packages/d5/b1/3a8ee1c9d480e8493619a437dec685d005f706b69253286f50f498cbdbcf/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c", size = 389023, upload-time = "2025-05-21T12:43:57.995Z" }, + { url = "https://files.pythonhosted.org/packages/3b/31/17293edcfc934dc62c3bf74a0cb449ecd549531f956b72287203e6880b87/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb", size = 403283, upload-time = "2025-05-21T12:43:59.546Z" }, + { url = "https://files.pythonhosted.org/packages/d1/ca/e0f0bc1a75a8925024f343258c8ecbd8828f8997ea2ac71e02f67b6f5299/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40", size = 524634, upload-time = "2025-05-21T12:44:01.087Z" }, + { url = "https://files.pythonhosted.org/packages/3e/03/5d0be919037178fff33a6672ffc0afa04ea1cfcb61afd4119d1b5280ff0f/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79", size = 416233, upload-time = "2025-05-21T12:44:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/05/7c/8abb70f9017a231c6c961a8941403ed6557664c0913e1bf413cbdc039e75/rpds_py-0.25.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325", size = 390375, upload-time = "2025-05-21T12:44:04.162Z" }, + { url = "https://files.pythonhosted.org/packages/7a/ac/a87f339f0e066b9535074a9f403b9313fd3892d4a164d5d5f5875ac9f29f/rpds_py-0.25.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295", size = 424537, upload-time = "2025-05-21T12:44:06.175Z" }, + { url = "https://files.pythonhosted.org/packages/1f/8f/8d5c1567eaf8c8afe98a838dd24de5013ce6e8f53a01bd47fe8bb06b5533/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b", size = 566425, upload-time = "2025-05-21T12:44:08.242Z" }, + { url = "https://files.pythonhosted.org/packages/95/33/03016a6be5663b389c8ab0bbbcca68d9e96af14faeff0a04affcb587e776/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98", size = 595197, upload-time = "2025-05-21T12:44:10.449Z" }, + { url = "https://files.pythonhosted.org/packages/33/8d/da9f4d3e208c82fda311bff0cf0a19579afceb77cf456e46c559a1c075ba/rpds_py-0.25.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd", size = 561244, upload-time = "2025-05-21T12:44:12.387Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b3/39d5dcf7c5f742ecd6dbc88f6f84ae54184b92f5f387a4053be2107b17f1/rpds_py-0.25.1-cp313-cp313-win32.whl", hash = "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31", size = 222254, upload-time = "2025-05-21T12:44:14.261Z" }, + { url = "https://files.pythonhosted.org/packages/5f/19/2d6772c8eeb8302c5f834e6d0dfd83935a884e7c5ce16340c7eaf89ce925/rpds_py-0.25.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500", size = 234741, upload-time = "2025-05-21T12:44:16.236Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/145ada26cfaf86018d0eb304fe55eafdd4f0b6b84530246bb4a7c4fb5c4b/rpds_py-0.25.1-cp313-cp313-win_arm64.whl", hash = "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5", size = 224830, upload-time = "2025-05-21T12:44:17.749Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ca/d435844829c384fd2c22754ff65889c5c556a675d2ed9eb0e148435c6690/rpds_py-0.25.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129", size = 359668, upload-time = "2025-05-21T12:44:19.322Z" }, + { url = "https://files.pythonhosted.org/packages/1f/01/b056f21db3a09f89410d493d2f6614d87bb162499f98b649d1dbd2a81988/rpds_py-0.25.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d", size = 345649, upload-time = "2025-05-21T12:44:20.962Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0f/e0d00dc991e3d40e03ca36383b44995126c36b3eafa0ccbbd19664709c88/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72", size = 384776, upload-time = "2025-05-21T12:44:22.516Z" }, + { url = "https://files.pythonhosted.org/packages/9f/a2/59374837f105f2ca79bde3c3cd1065b2f8c01678900924949f6392eab66d/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34", size = 395131, upload-time = "2025-05-21T12:44:24.147Z" }, + { url = "https://files.pythonhosted.org/packages/9c/dc/48e8d84887627a0fe0bac53f0b4631e90976fd5d35fff8be66b8e4f3916b/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9", size = 520942, upload-time = "2025-05-21T12:44:25.915Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f5/ee056966aeae401913d37befeeab57a4a43a4f00099e0a20297f17b8f00c/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5", size = 411330, upload-time = "2025-05-21T12:44:27.638Z" }, + { url = "https://files.pythonhosted.org/packages/ab/74/b2cffb46a097cefe5d17f94ede7a174184b9d158a0aeb195f39f2c0361e8/rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194", size = 387339, upload-time = "2025-05-21T12:44:29.292Z" }, + { url = "https://files.pythonhosted.org/packages/7f/9a/0ff0b375dcb5161c2b7054e7d0b7575f1680127505945f5cabaac890bc07/rpds_py-0.25.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6", size = 418077, upload-time = "2025-05-21T12:44:30.877Z" }, + { url = "https://files.pythonhosted.org/packages/0d/a1/fda629bf20d6b698ae84c7c840cfb0e9e4200f664fc96e1f456f00e4ad6e/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78", size = 562441, upload-time = "2025-05-21T12:44:32.541Z" }, + { url = "https://files.pythonhosted.org/packages/20/15/ce4b5257f654132f326f4acd87268e1006cc071e2c59794c5bdf4bebbb51/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72", size = 590750, upload-time = "2025-05-21T12:44:34.557Z" }, + { url = "https://files.pythonhosted.org/packages/fb/ab/e04bf58a8d375aeedb5268edcc835c6a660ebf79d4384d8e0889439448b0/rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66", size = 558891, upload-time = "2025-05-21T12:44:37.358Z" }, + { url = "https://files.pythonhosted.org/packages/90/82/cb8c6028a6ef6cd2b7991e2e4ced01c854b6236ecf51e81b64b569c43d73/rpds_py-0.25.1-cp313-cp313t-win32.whl", hash = "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523", size = 218718, upload-time = "2025-05-21T12:44:38.969Z" }, + { url = "https://files.pythonhosted.org/packages/b6/97/5a4b59697111c89477d20ba8a44df9ca16b41e737fa569d5ae8bff99e650/rpds_py-0.25.1-cp313-cp313t-win_amd64.whl", hash = "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763", size = 232218, upload-time = "2025-05-21T12:44:40.512Z" }, + { url = "https://files.pythonhosted.org/packages/78/ff/566ce53529b12b4f10c0a348d316bd766970b7060b4fd50f888be3b3b281/rpds_py-0.25.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28", size = 373931, upload-time = "2025-05-21T12:45:05.01Z" }, + { url = "https://files.pythonhosted.org/packages/83/5d/deba18503f7c7878e26aa696e97f051175788e19d5336b3b0e76d3ef9256/rpds_py-0.25.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f", size = 359074, upload-time = "2025-05-21T12:45:06.714Z" }, + { url = "https://files.pythonhosted.org/packages/0d/74/313415c5627644eb114df49c56a27edba4d40cfd7c92bd90212b3604ca84/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13", size = 387255, upload-time = "2025-05-21T12:45:08.669Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c8/c723298ed6338963d94e05c0f12793acc9b91d04ed7c4ba7508e534b7385/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c9409b47ba0650544b0bb3c188243b83654dfe55dcc173a86832314e1a6a35d", size = 400714, upload-time = "2025-05-21T12:45:10.39Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/51f1f6aa653c2e110ed482ef2ae94140d56c910378752a1b483af11019ee/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:796ad874c89127c91970652a4ee8b00d56368b7e00d3477f4415fe78164c8000", size = 523105, upload-time = "2025-05-21T12:45:12.273Z" }, + { url = "https://files.pythonhosted.org/packages/c7/a4/7873d15c088ad3bff36910b29ceb0f178e4b3232c2adbe9198de68a41e63/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85608eb70a659bf4c1142b2781083d4b7c0c4e2c90eff11856a9754e965b2540", size = 411499, upload-time = "2025-05-21T12:45:13.95Z" }, + { url = "https://files.pythonhosted.org/packages/90/f3/0ce1437befe1410766d11d08239333ac1b2d940f8a64234ce48a7714669c/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4feb9211d15d9160bc85fa72fed46432cdc143eb9cf6d5ca377335a921ac37b", size = 387918, upload-time = "2025-05-21T12:45:15.649Z" }, + { url = "https://files.pythonhosted.org/packages/94/d4/5551247988b2a3566afb8a9dba3f1d4a3eea47793fd83000276c1a6c726e/rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ccfa689b9246c48947d31dd9d8b16d89a0ecc8e0e26ea5253068efb6c542b76e", size = 421705, upload-time = "2025-05-21T12:45:17.788Z" }, + { url = "https://files.pythonhosted.org/packages/b0/25/5960f28f847bf736cc7ee3c545a7e1d2f3b5edaf82c96fb616c2f5ed52d0/rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3c5b317ecbd8226887994852e85de562f7177add602514d4ac40f87de3ae45a8", size = 564489, upload-time = "2025-05-21T12:45:19.466Z" }, + { url = "https://files.pythonhosted.org/packages/02/66/1c99884a0d44e8c2904d3c4ec302f995292d5dde892c3bf7685ac1930146/rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:454601988aab2c6e8fd49e7634c65476b2b919647626208e376afcd22019eeb8", size = 592557, upload-time = "2025-05-21T12:45:21.362Z" }, + { url = "https://files.pythonhosted.org/packages/55/ae/4aeac84ebeffeac14abb05b3bb1d2f728d00adb55d3fb7b51c9fa772e760/rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:1c0c434a53714358532d13539272db75a5ed9df75a4a090a753ac7173ec14e11", size = 558691, upload-time = "2025-05-21T12:45:23.084Z" }, + { url = "https://files.pythonhosted.org/packages/41/b3/728a08ff6f5e06fe3bb9af2e770e9d5fd20141af45cff8dfc62da4b2d0b3/rpds_py-0.25.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f73ce1512e04fbe2bc97836e89830d6b4314c171587a99688082d090f934d20a", size = 231651, upload-time = "2025-05-21T12:45:24.72Z" }, + { url = "https://files.pythonhosted.org/packages/49/74/48f3df0715a585cbf5d34919c9c757a4c92c1a9eba059f2d334e72471f70/rpds_py-0.25.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ee86d81551ec68a5c25373c5643d343150cc54672b5e9a0cafc93c1870a53954", size = 374208, upload-time = "2025-05-21T12:45:26.306Z" }, + { url = "https://files.pythonhosted.org/packages/55/b0/9b01bb11ce01ec03d05e627249cc2c06039d6aa24ea5a22a39c312167c10/rpds_py-0.25.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:89c24300cd4a8e4a51e55c31a8ff3918e6651b241ee8876a42cc2b2a078533ba", size = 359262, upload-time = "2025-05-21T12:45:28.322Z" }, + { url = "https://files.pythonhosted.org/packages/a9/eb/5395621618f723ebd5116c53282052943a726dba111b49cd2071f785b665/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:771c16060ff4e79584dc48902a91ba79fd93eade3aa3a12d6d2a4aadaf7d542b", size = 387366, upload-time = "2025-05-21T12:45:30.42Z" }, + { url = "https://files.pythonhosted.org/packages/68/73/3d51442bdb246db619d75039a50ea1cf8b5b4ee250c3e5cd5c3af5981cd4/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:785ffacd0ee61c3e60bdfde93baa6d7c10d86f15655bd706c89da08068dc5038", size = 400759, upload-time = "2025-05-21T12:45:32.516Z" }, + { url = "https://files.pythonhosted.org/packages/b7/4c/3a32d5955d7e6cb117314597bc0f2224efc798428318b13073efe306512a/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a40046a529cc15cef88ac5ab589f83f739e2d332cb4d7399072242400ed68c9", size = 523128, upload-time = "2025-05-21T12:45:34.396Z" }, + { url = "https://files.pythonhosted.org/packages/be/95/1ffccd3b0bb901ae60b1dd4b1be2ab98bb4eb834cd9b15199888f5702f7b/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85fc223d9c76cabe5d0bff82214459189720dc135db45f9f66aa7cffbf9ff6c1", size = 411597, upload-time = "2025-05-21T12:45:36.164Z" }, + { url = "https://files.pythonhosted.org/packages/ef/6d/6e6cd310180689db8b0d2de7f7d1eabf3fb013f239e156ae0d5a1a85c27f/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0be9965f93c222fb9b4cc254235b3b2b215796c03ef5ee64f995b1b69af0762", size = 388053, upload-time = "2025-05-21T12:45:38.45Z" }, + { url = "https://files.pythonhosted.org/packages/4a/87/ec4186b1fe6365ced6fa470960e68fc7804bafbe7c0cf5a36237aa240efa/rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8378fa4a940f3fb509c081e06cb7f7f2adae8cf46ef258b0e0ed7519facd573e", size = 421821, upload-time = "2025-05-21T12:45:40.732Z" }, + { url = "https://files.pythonhosted.org/packages/7a/60/84f821f6bf4e0e710acc5039d91f8f594fae0d93fc368704920d8971680d/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692", size = 564534, upload-time = "2025-05-21T12:45:42.672Z" }, + { url = "https://files.pythonhosted.org/packages/41/3a/bc654eb15d3b38f9330fe0f545016ba154d89cdabc6177b0295910cd0ebe/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf", size = 592674, upload-time = "2025-05-21T12:45:44.533Z" }, + { url = "https://files.pythonhosted.org/packages/2e/ba/31239736f29e4dfc7a58a45955c5db852864c306131fd6320aea214d5437/rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe", size = 558781, upload-time = "2025-05-21T12:45:46.281Z" }, +] + +[[package]] +name = "ruff" +version = "0.9.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/02/74/6c359f6b9ed85b88df6ef31febce18faeb852f6c9855651dfb1184a46845/ruff-0.9.5.tar.gz", hash = "sha256:11aecd7a633932875ab3cb05a484c99970b9d52606ce9ea912b690b02653d56c", size = 3634177, upload-time = "2025-02-06T19:47:15.41Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/4b/82b7c9ac874e72b82b19fd7eab57d122e2df44d2478d90825854f9232d02/ruff-0.9.5-py3-none-linux_armv6l.whl", hash = "sha256:d466d2abc05f39018d53f681fa1c0ffe9570e6d73cde1b65d23bb557c846f442", size = 11681264, upload-time = "2025-02-06T19:46:16.452Z" }, + { url = "https://files.pythonhosted.org/packages/27/5c/f5ae0a9564e04108c132e1139d60491c0abc621397fe79a50b3dc0bd704b/ruff-0.9.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:38840dbcef63948657fa7605ca363194d2fe8c26ce8f9ae12eee7f098c85ac8a", size = 11657554, upload-time = "2025-02-06T19:46:21.854Z" }, + { url = "https://files.pythonhosted.org/packages/2a/83/c6926fa3ccb97cdb3c438bb56a490b395770c750bf59f9bc1fe57ae88264/ruff-0.9.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d56ba06da53536b575fbd2b56517f6f95774ff7be0f62c80b9e67430391eeb36", size = 11088959, upload-time = "2025-02-06T19:46:25.109Z" }, + { url = "https://files.pythonhosted.org/packages/af/a7/42d1832b752fe969ffdbfcb1b4cb477cb271bed5835110fb0a16ef31ab81/ruff-0.9.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f7cb2a01da08244c50b20ccfaeb5972e4228c3c3a1989d3ece2bc4b1f996001", size = 11902041, upload-time = "2025-02-06T19:46:29.288Z" }, + { url = "https://files.pythonhosted.org/packages/53/cf/1fffa09fb518d646f560ccfba59f91b23c731e461d6a4dedd21a393a1ff1/ruff-0.9.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:96d5c76358419bc63a671caac70c18732d4fd0341646ecd01641ddda5c39ca0b", size = 11421069, upload-time = "2025-02-06T19:46:32.947Z" }, + { url = "https://files.pythonhosted.org/packages/09/27/bb8f1b7304e2a9431f631ae7eadc35550fe0cf620a2a6a0fc4aa3d736f94/ruff-0.9.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:deb8304636ed394211f3a6d46c0e7d9535b016f53adaa8340139859b2359a070", size = 12625095, upload-time = "2025-02-06T19:46:36.015Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/ab00bc9d3df35a5f1b64f5117458160a009f93ae5caf65894ebb63a1842d/ruff-0.9.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:df455000bf59e62b3e8c7ba5ed88a4a2bc64896f900f311dc23ff2dc38156440", size = 13257797, upload-time = "2025-02-06T19:46:39.556Z" }, + { url = "https://files.pythonhosted.org/packages/88/81/c639a082ae6d8392bc52256058ec60f493c6a4d06d5505bccface3767e61/ruff-0.9.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de92170dfa50c32a2b8206a647949590e752aca8100a0f6b8cefa02ae29dce80", size = 12763793, upload-time = "2025-02-06T19:46:43.294Z" }, + { url = "https://files.pythonhosted.org/packages/b3/d0/0a3d8f56d1e49af466dc770eeec5c125977ba9479af92e484b5b0251ce9c/ruff-0.9.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d28532d73b1f3f627ba88e1456f50748b37f3a345d2be76e4c653bec6c3e393", size = 14386234, upload-time = "2025-02-06T19:46:47.062Z" }, + { url = "https://files.pythonhosted.org/packages/04/70/e59c192a3ad476355e7f45fb3a87326f5219cc7c472e6b040c6c6595c8f0/ruff-0.9.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c746d7d1df64f31d90503ece5cc34d7007c06751a7a3bbeee10e5f2463d52d2", size = 12437505, upload-time = "2025-02-06T19:46:49.986Z" }, + { url = "https://files.pythonhosted.org/packages/55/4e/3abba60a259d79c391713e7a6ccabf7e2c96e5e0a19100bc4204f1a43a51/ruff-0.9.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:11417521d6f2d121fda376f0d2169fb529976c544d653d1d6044f4c5562516ee", size = 11884799, upload-time = "2025-02-06T19:46:53.593Z" }, + { url = "https://files.pythonhosted.org/packages/a3/db/b0183a01a9f25b4efcae919c18fb41d32f985676c917008620ad692b9d5f/ruff-0.9.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5b9d71c3879eb32de700f2f6fac3d46566f644a91d3130119a6378f9312a38e1", size = 11527411, upload-time = "2025-02-06T19:46:56.531Z" }, + { url = "https://files.pythonhosted.org/packages/0a/e4/3ebfcebca3dff1559a74c6becff76e0b64689cea02b7aab15b8b32ea245d/ruff-0.9.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2e36c61145e70febcb78483903c43444c6b9d40f6d2f800b5552fec6e4a7bb9a", size = 12078868, upload-time = "2025-02-06T19:46:59.28Z" }, + { url = "https://files.pythonhosted.org/packages/ec/b2/5ab808833e06c0a1b0d046a51c06ec5687b73c78b116e8d77687dc0cd515/ruff-0.9.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:2f71d09aeba026c922aa7aa19a08d7bd27c867aedb2f74285a2639644c1c12f5", size = 12524374, upload-time = "2025-02-06T19:47:02.897Z" }, + { url = "https://files.pythonhosted.org/packages/e0/51/1432afcc3b7aa6586c480142caae5323d59750925c3559688f2a9867343f/ruff-0.9.5-py3-none-win32.whl", hash = "sha256:134f958d52aa6fdec3b294b8ebe2320a950d10c041473c4316d2e7d7c2544723", size = 9853682, upload-time = "2025-02-06T19:47:05.576Z" }, + { url = "https://files.pythonhosted.org/packages/b7/ad/c7a900591bd152bb47fc4882a27654ea55c7973e6d5d6396298ad3fd6638/ruff-0.9.5-py3-none-win_amd64.whl", hash = "sha256:78cc6067f6d80b6745b67498fb84e87d32c6fc34992b52bffefbdae3442967d6", size = 10865744, upload-time = "2025-02-06T19:47:09.205Z" }, + { url = "https://files.pythonhosted.org/packages/75/d9/fde7610abd53c0c76b6af72fc679cb377b27c617ba704e25da834e0a0608/ruff-0.9.5-py3-none-win_arm64.whl", hash = "sha256:18a29f1a005bddb229e580795627d297dfa99f16b30c7039e73278cf6b5f9fa9", size = 10064595, upload-time = "2025-02-06T19:47:12.071Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.13.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/05/d52bf1e65044b4e5e27d4e63e8d1579dbdec54fce685908ae09bc3720030/s3transfer-0.13.1.tar.gz", hash = "sha256:c3fdba22ba1bd367922f27ec8032d6a1cf5f10c934fb5d68cf60fd5a23d936cf", size = 150589, upload-time = "2025-07-18T19:22:42.31Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/4f/d073e09df851cfa251ef7840007d04db3293a0482ce607d2b993926089be/s3transfer-0.13.1-py3-none-any.whl", hash = "sha256:a981aa7429be23fe6dfc13e80e4020057cbab622b08c0315288758d67cabc724", size = 85308, upload-time = "2025-07-18T19:22:40.947Z" }, +] + +[[package]] +name = "schema" +version = "0.7.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/01/0ea2e66bad2f13271e93b729c653747614784d3ebde219679e41ccdceecd/schema-0.7.7.tar.gz", hash = "sha256:7da553abd2958a19dc2547c388cde53398b39196175a9be59ea1caf5ab0a1807", size = 44245, upload-time = "2024-05-04T10:56:17.318Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ad/1b/81855a88c6db2b114d5b2e9f96339190d5ee4d1b981d217fa32127bb00e0/schema-0.7.7-py2.py3-none-any.whl", hash = "sha256:5d976a5b50f36e74e2157b47097b60002bd4d42e65425fcc9c9befadb4255dde", size = 18632, upload-time = "2024-05-04T10:56:13.86Z" }, +] + +[[package]] +name = "sh" +version = "1.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/09/89c28aaf2a49f226fef8587c90c6386bd2cc03a0295bc4ff7fc6ee43c01d/sh-1.14.3.tar.gz", hash = "sha256:e4045b6c732d9ce75d571c79f5ac2234edd9ae4f5fa9d59b09705082bdca18c7", size = 62851, upload-time = "2022-07-18T07:17:50.947Z" } + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "structlog" +version = "24.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/78/a3/e811a94ac3853826805253c906faa99219b79951c7d58605e89c79e65768/structlog-24.4.0.tar.gz", hash = "sha256:b27bfecede327a6d2da5fbc96bd859f114ecc398a6389d664f62085ee7ae6fc4", size = 1348634, upload-time = "2024-07-17T12:38:43.483Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/65/813fc133609ebcb1299be6a42e5aea99d6344afb35ccb43f67e7daaa3b92/structlog-24.4.0-py3-none-any.whl", hash = "sha256:597f61e80a91cc0749a9fd2a098ed76715a1c8a01f73e336b746504d1aad7610", size = 67180, upload-time = "2024-07-17T12:38:41.043Z" }, +] + +[[package]] +name = "tabulate" +version = "0.8.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7a/53/afac341569b3fd558bf2b5428e925e2eb8753ad9627c1f9188104c6e0c4a/tabulate-0.8.10.tar.gz", hash = "sha256:6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519", size = 60154, upload-time = "2022-06-21T16:26:42.76Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/4e/e5a13fdb3e6f81ce11893523ff289870c87c8f1f289a7369fb0e9840c3bb/tabulate-0.8.10-py3-none-any.whl", hash = "sha256:0ba055423dbaa164b9e456abe7920c5e8ed33fcc16f6d1b2f2d152c8e1e8b4fc", size = 29068, upload-time = "2022-06-21T16:26:37.943Z" }, +] + +[[package]] +name = "tbump" +version = "6.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cli-ui" }, + { name = "docopt" }, + { name = "schema" }, + { name = "tomlkit" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ab/1f/d02379532311192521a20b3597dc0f01bd37596e950a6cb40795ae9acb94/tbump-6.11.0.tar.gz", hash = "sha256:385e710eedf0a8a6ff959cf1e9f3cfd17c873617132fc0ec5f629af0c355c870", size = 28642, upload-time = "2023-09-09T11:22:59.039Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/41/c21994a64efe86ed81c1a0935aeec840548839a37a7f3716f74a75e54fc2/tbump-6.11.0-py3-none-any.whl", hash = "sha256:6b181fe6f3ae84ce0b9af8cc2009a8bca41ded34e73f623a7413b9684f1b4526", size = 35607, upload-time = "2023-09-09T11:22:56.581Z" }, +] + +[[package]] +name = "tests-support" +version = "1.0.0" +source = { editable = "packages/tests-support" } +dependencies = [ + { name = "pyyaml" }, + { name = "requests" }, +] + +[package.metadata] +requires-dist = [ + { name = "pyyaml", specifier = ">=6.0" }, + { name = "requests" }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, +] + +[[package]] +name = "tomlkit" +version = "0.11.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/10/37/dd53019ccb72ef7d73fff0bee9e20b16faff9658b47913a35d79e89978af/tomlkit-0.11.8.tar.gz", hash = "sha256:9330fc7faa1db67b541b28e62018c17d20be733177d290a13b24c62d1614e0c3", size = 188825, upload-time = "2023-04-27T10:39:21.201Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/a8/b1c193be753c02e2a94af6e37ee45d3378a74d44fe778c2434a63af92731/tomlkit-0.11.8-py3-none-any.whl", hash = "sha256:8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171", size = 35807, upload-time = "2023-04-27T10:39:19.629Z" }, +] + +[[package]] +name = "tox" +version = "4.26.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cachetools" }, + { name = "chardet" }, + { name = "colorama" }, + { name = "filelock" }, + { name = "packaging" }, + { name = "platformdirs" }, + { name = "pluggy" }, + { name = "pyproject-api" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fd/3c/dcec0c00321a107f7f697fd00754c5112572ea6dcacb40b16d8c3eea7c37/tox-4.26.0.tar.gz", hash = "sha256:a83b3b67b0159fa58e44e646505079e35a43317a62d2ae94725e0586266faeca", size = 197260, upload-time = "2025-05-13T15:04:28.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/14/f58b4087cf248b18c795b5c838c7a8d1428dfb07cb468dad3ec7f54041ab/tox-4.26.0-py3-none-any.whl", hash = "sha256:75f17aaf09face9b97bd41645028d9f722301e912be8b4c65a3f938024560224", size = 172761, upload-time = "2025-05-13T15:04:26.207Z" }, +] + +[[package]] +name = "tox-uv" +version = "1.26.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "tox" }, + { name = "uv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cf/00/98e564731fc361cc2f1e39c58d2feb0b4c9f9a7cb06f0c769cdeb9a98004/tox_uv-1.26.1.tar.gz", hash = "sha256:241cc530b4a80436c4487977c8303d9aace398c6561d5e7d8845606fa7d482ab", size = 21849, upload-time = "2025-06-23T20:17:54.96Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/0b/e47c1bb2bc9e20b22a6913ea2162b7bb5729d38924fa2c1d4eaf95d3b36f/tox_uv-1.26.1-py3-none-any.whl", hash = "sha256:edc25b254e5cdbb13fc5d23d6d05b511dee562ab72b0e99da4a874a78018c38e", size = 16661, upload-time = "2025-06-23T20:17:52.492Z" }, +] + +[[package]] +name = "types-awscrt" +version = "0.27.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/56/ce/5d84526a39f44c420ce61b16654193f8437d74b54f21597ea2ac65d89954/types_awscrt-0.27.6.tar.gz", hash = "sha256:9d3f1865a93b8b2c32f137514ac88cb048b5bc438739945ba19d972698995bfb", size = 16937, upload-time = "2025-08-13T01:54:54.659Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ac/af/e3d20e3e81d235b3964846adf46a334645a8a9b25a0d3d472743eb079552/types_awscrt-0.27.6-py3-none-any.whl", hash = "sha256:18aced46da00a57f02eb97637a32e5894dc5aa3dc6a905ba3e5ed85b9f3c526b", size = 39626, upload-time = "2025-08-13T01:54:53.454Z" }, +] + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20250516" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ef/88/d65ed807393285204ab6e2801e5d11fbbea811adcaa979a2ed3b67a5ef41/types_python_dateutil-2.9.0.20250516.tar.gz", hash = "sha256:13e80d6c9c47df23ad773d54b2826bd52dbbb41be87c3f339381c1700ad21ee5", size = 13943, upload-time = "2025-05-16T03:06:58.385Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/3f/b0e8db149896005adc938a1e7f371d6d7e9eca4053a29b108978ed15e0c2/types_python_dateutil-2.9.0.20250516-py3-none-any.whl", hash = "sha256:2b2b3f57f9c6a61fba26a9c0ffb9ea5681c9b83e69cd897c6b5f668d9c0cab93", size = 14356, upload-time = "2025-05-16T03:06:57.249Z" }, +] + +[[package]] +name = "types-pyyaml" +version = "6.0.12.20250516" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/22/59e2aeb48ceeee1f7cd4537db9568df80d62bdb44a7f9e743502ea8aab9c/types_pyyaml-6.0.12.20250516.tar.gz", hash = "sha256:9f21a70216fc0fa1b216a8176db5f9e0af6eb35d2f2932acb87689d03a5bf6ba", size = 17378, upload-time = "2025-05-16T03:08:04.897Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/5f/e0af6f7f6a260d9af67e1db4f54d732abad514252a7a378a6c4d17dd1036/types_pyyaml-6.0.12.20250516-py3-none-any.whl", hash = "sha256:8478208feaeb53a34cb5d970c56a7cd76b72659442e733e268a94dc72b2d0530", size = 20312, upload-time = "2025-05-16T03:08:04.019Z" }, +] + +[[package]] +name = "types-requests" +version = "2.31.0.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "types-urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f9/b8/c1e8d39996b4929b918aba10dba5de07a8b3f4c8487bb61bb79882544e69/types-requests-2.31.0.6.tar.gz", hash = "sha256:cd74ce3b53c461f1228a9b783929ac73a666658f223e28ed29753771477b3bd0", size = 15535, upload-time = "2023-09-27T06:19:38.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/a1/6f8dc74d9069e790d604ddae70cb46dcbac668f1bb08136e7b0f2f5cd3bf/types_requests-2.31.0.6-py3-none-any.whl", hash = "sha256:a2db9cb228a81da8348b49ad6db3f5519452dd20a9c1e1a868c83c5fe88fd1a9", size = 14516, upload-time = "2023-09-27T06:19:36.373Z" }, +] + +[[package]] +name = "types-s3transfer" +version = "0.13.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/42/c1/45038f259d6741c252801044e184fec4dbaeff939a58f6160d7c32bf4975/types_s3transfer-0.13.0.tar.gz", hash = "sha256:203dadcb9865c2f68fb44bc0440e1dc05b79197ba4a641c0976c26c9af75ef52", size = 14175, upload-time = "2025-05-28T02:16:07.614Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/5d/6bbe4bf6a79fb727945291aef88b5ecbdba857a603f1bbcf1a6be0d3f442/types_s3transfer-0.13.0-py3-none-any.whl", hash = "sha256:79c8375cbf48a64bff7654c02df1ec4b20d74f8c5672fc13e382f593ca5565b3", size = 19588, upload-time = "2025-05-28T02:16:06.709Z" }, +] + +[[package]] +name = "types-urllib3" +version = "1.26.25.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/73/de/b9d7a68ad39092368fb21dd6194b362b98a1daeea5dcfef5e1adb5031c7e/types-urllib3-1.26.25.14.tar.gz", hash = "sha256:229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f", size = 11239, upload-time = "2023-07-20T15:19:31.307Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/7b/3fc711b2efea5e85a7a0bbfe269ea944aa767bbba5ec52f9ee45d362ccf3/types_urllib3-1.26.25.14-py3-none-any.whl", hash = "sha256:9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e", size = 15377, upload-time = "2023-07-20T15:19:30.379Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "unidecode" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/7d/a8a765761bbc0c836e397a2e48d498305a865b70a8600fd7a942e85dcf63/Unidecode-1.4.0.tar.gz", hash = "sha256:ce35985008338b676573023acc382d62c264f307c8f7963733405add37ea2b23", size = 200149, upload-time = "2025-04-24T08:45:03.798Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/b7/559f59d57d18b44c6d1250d2eeaa676e028b9c527431f5d0736478a73ba1/Unidecode-1.4.0-py3-none-any.whl", hash = "sha256:c3c7606c27503ad8d501270406e345ddb480a7b5f38827eafe4fa82a137f0021", size = 235837, upload-time = "2025-04-24T08:45:01.609Z" }, +] + +[[package]] +name = "urllib3" +version = "1.26.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/a5/4eab74853625505725cefdf168f48661b2cd04e7843ab836f3f63abf81da/urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e", size = 295258, upload-time = "2022-03-16T13:28:19.197Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/03/062e6444ce4baf1eac17a6a0ebfe36bb1ad05e1df0e20b110de59c278498/urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14", size = 138990, upload-time = "2022-03-16T13:28:16.026Z" }, +] + +[[package]] +name = "uv" +version = "0.7.17" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3d/46/4caac2d83e892dc5af557c99ea85b83977509658d964f3176a0d89943bf0/uv-0.7.17.tar.gz", hash = "sha256:afa3bc3d9ef414a40d49ae1e97b388d86b453d5018af9a30a9742f0e0389b30a", size = 3348833, upload-time = "2025-06-29T14:20:03.217Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/6b/1ff0add7108845d457d405302ef20788f9b8382dbcc88e354f8303ae20a1/uv-0.7.17-py3-none-linux_armv6l.whl", hash = "sha256:5cce5694a3ed55c5064a27b296c21d1dcbc11dfa9f0c40a34933456f2a701a63", size = 17591460, upload-time = "2025-06-29T14:19:20.765Z" }, + { url = "https://files.pythonhosted.org/packages/f9/d2/3417f32c85f82acb99550497d6cf7aa1ca1f961a346c0901233d4e777ea5/uv-0.7.17-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:4f0789be0ce9c0188fd8304ce91c71f99a5a2f9945589ec7de2cafd53f007fbc", size = 17691434, upload-time = "2025-06-29T14:19:24.831Z" }, + { url = "https://files.pythonhosted.org/packages/33/65/41470bc69ec1cac0a49bd11e0a2d83d5d28d17e6b6e9f77be0004d2d9b81/uv-0.7.17-py3-none-macosx_11_0_arm64.whl", hash = "sha256:6aefa5b19dad73f585d86f4542778d39b8d7ef6d6983e9a15385be53a8d05a62", size = 16336037, upload-time = "2025-06-29T14:19:27.352Z" }, + { url = "https://files.pythonhosted.org/packages/ab/72/2d1f406b83d7b5abaa4064bba8d7a0c261ff2c990c1aedb1bf9dd0155d60/uv-0.7.17-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:311615fe6867edb8a4164724af60af45b247fa725f564e170da63e6ca97ba223", size = 16893232, upload-time = "2025-06-29T14:19:30.083Z" }, + { url = "https://files.pythonhosted.org/packages/a2/80/b7632a549f01dcae611d049eb2f577d09100d7bef529d9a2ad7e142966e7/uv-0.7.17-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fd757f5fa7a3cf9bdb86175bdf038ca749f5d4a9e4be4b3ea6de413d57933ed6", size = 17285966, upload-time = "2025-06-29T14:19:32.606Z" }, + { url = "https://files.pythonhosted.org/packages/81/bb/3e7518b0f0ff0f961da0519f3d7000b184b76c5350028e822c73e968c11e/uv-0.7.17-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df02470a988526262c8c575ae976ee80ad7503ee942a3948fca7e3474c024abd", size = 17971871, upload-time = "2025-06-29T14:19:35.082Z" }, + { url = "https://files.pythonhosted.org/packages/92/97/eb66b2c635f9645e945cd1d77f75689bd51a690b056f1d21339a65817a43/uv-0.7.17-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:87dd56ad44a4ea7138fb090d5ef1bf525bf07cd12f54d53a22fb666b31aa09c5", size = 19163402, upload-time = "2025-06-29T14:19:37.62Z" }, + { url = "https://files.pythonhosted.org/packages/f7/07/f5989caad49fd36f6e080ea29f5a5827c5bdc9d0e20aff4ada88e5060eb1/uv-0.7.17-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:764d64fd5f7fce6e5678fdcd1e2e80325b455aedaf47f3c82f0f91f4f510d570", size = 18950283, upload-time = "2025-06-29T14:19:39.997Z" }, + { url = "https://files.pythonhosted.org/packages/28/6a/1ccd2fae732d3950612ada9079882800b7ed4eda5916ebce80045b376c57/uv-0.7.17-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1070d1f8b6199bc6f83753fe8e76a052c2655466a82d28713f3b890541d75703", size = 18534501, upload-time = "2025-06-29T14:19:42.23Z" }, + { url = "https://files.pythonhosted.org/packages/81/bd/66abf16b0c16bae685d832affde946917723adbccc1edfca69a391f5dbda/uv-0.7.17-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17def57d55372556a72e5a274d440dff3cc7030a1c6fb389c356484d5d78ad51", size = 18423387, upload-time = "2025-06-29T14:19:44.461Z" }, + { url = "https://files.pythonhosted.org/packages/5a/98/c9b69f646f21208967e051ce2744de7fb6147d5ff92c621b1119254a7e3e/uv-0.7.17-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:223fa568f9bbb893ed008fb89fcbc4f1ebae2a3181409b4606024a0643d75f5e", size = 17128608, upload-time = "2025-06-29T14:19:46.825Z" }, + { url = "https://files.pythonhosted.org/packages/f5/ff/8f7f3aab879398fcb76caf498fae047e0f6a07ae9adb3b981a69ea81d80f/uv-0.7.17-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:75fd22d218b0c406cee622380d11f39d8989af1b094c5523d0e09cecb7574408", size = 17247399, upload-time = "2025-06-29T14:19:49.093Z" }, + { url = "https://files.pythonhosted.org/packages/cd/e1/694903910ca2531763b40b4958d537bee14e6a3e85276202e4e70841d256/uv-0.7.17-py3-none-musllinux_1_1_i686.whl", hash = "sha256:260ee846e7d5c8ca9d4be2cacbd5b4d469b4269a6a9a6a4efb6ab96aca38d896", size = 17479616, upload-time = "2025-06-29T14:19:51.606Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/178ea727f0260799eafea8e7aa4e5a590ac407cc88e709ccc41669323db3/uv-0.7.17-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:e660ec1845b5c1c0908084497982d5d854f97d288beac0d7a5b7449447516222", size = 18571399, upload-time = "2025-06-29T14:19:53.888Z" }, + { url = "https://files.pythonhosted.org/packages/7f/57/ca2bdf384a7916b290e75c5f4c50dc4afca943619789c1128a3ad43cade8/uv-0.7.17-py3-none-win32.whl", hash = "sha256:ad93835a5e563bb0f2c869e6ef6c3113154bb2ab729900ae4416776382682f65", size = 17608114, upload-time = "2025-06-29T14:19:56.552Z" }, + { url = "https://files.pythonhosted.org/packages/ff/17/f6d149ff4c274d54dffe14f560dbc2f913edc52724f60e045e5c5962a24a/uv-0.7.17-py3-none-win_amd64.whl", hash = "sha256:9c0a76fc1ccbf79c4902488c551bc47cad4a4121977a68ed54807c5e51f5e9f2", size = 19388189, upload-time = "2025-06-29T14:19:58.863Z" }, + { url = "https://files.pythonhosted.org/packages/8f/c0/253e160950cdc6969d134e91d44b3ce03719ab7d25c1d65ecf31f9b129e9/uv-0.7.17-py3-none-win_arm64.whl", hash = "sha256:2bffb08919cefa69e7f97c0eeaabd0f5378c10fb31967432c453c4ccdb85e7fa", size = 17817791, upload-time = "2025-06-29T14:20:01.344Z" }, +] + +[[package]] +name = "vcrpy" +version = "7.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, + { name = "urllib3" }, + { name = "wrapt" }, + { name = "yarl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/d3/856e06184d4572aada1dd559ddec3bedc46df1f2edc5ab2c91121a2cccdb/vcrpy-7.0.0.tar.gz", hash = "sha256:176391ad0425edde1680c5b20738ea3dc7fb942520a48d2993448050986b3a50", size = 85502, upload-time = "2024-12-31T00:07:57.894Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/5d/1f15b252890c968d42b348d1e9b0aa12d5bf3e776704178ec37cceccdb63/vcrpy-7.0.0-py2.py3-none-any.whl", hash = "sha256:55791e26c18daa363435054d8b35bd41a4ac441b6676167635d1b37a71dbe124", size = 42321, upload-time = "2024-12-31T00:07:55.277Z" }, +] + +[[package]] +name = "virtualenv" +version = "20.31.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "distlib" }, + { name = "filelock" }, + { name = "platformdirs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316, upload-time = "2025-05-08T17:58:23.811Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982, upload-time = "2025-05-08T17:58:21.15Z" }, +] + +[[package]] +name = "werkzeug" +version = "3.1.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9f/69/83029f1f6300c5fb2471d621ab06f6ec6b3324685a2ce0f9777fd4a8b71e/werkzeug-3.1.3.tar.gz", hash = "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746", size = 806925, upload-time = "2024-11-08T15:52:18.093Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/24/ab44c871b0f07f491e5d2ad12c9bd7358e527510618cb1b803a88e986db1/werkzeug-3.1.3-py3-none-any.whl", hash = "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e", size = 224498, upload-time = "2024-11-08T15:52:16.132Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/fc/e91cc220803d7bc4db93fb02facd8461c37364151b8494762cc88b0fbcef/wrapt-1.17.2.tar.gz", hash = "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", size = 55531, upload-time = "2025-01-14T10:35:45.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/d1/1daec934997e8b160040c78d7b31789f19b122110a75eca3d4e8da0049e1/wrapt-1.17.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3d57c572081fed831ad2d26fd430d565b76aa277ed1d30ff4d40670b1c0dd984", size = 53307, upload-time = "2025-01-14T10:33:13.616Z" }, + { url = "https://files.pythonhosted.org/packages/1b/7b/13369d42651b809389c1a7153baa01d9700430576c81a2f5c5e460df0ed9/wrapt-1.17.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b5e251054542ae57ac7f3fba5d10bfff615b6c2fb09abeb37d2f1463f841ae22", size = 38486, upload-time = "2025-01-14T10:33:15.947Z" }, + { url = "https://files.pythonhosted.org/packages/62/bf/e0105016f907c30b4bd9e377867c48c34dc9c6c0c104556c9c9126bd89ed/wrapt-1.17.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:80dd7db6a7cb57ffbc279c4394246414ec99537ae81ffd702443335a61dbf3a7", size = 38777, upload-time = "2025-01-14T10:33:17.462Z" }, + { url = "https://files.pythonhosted.org/packages/27/70/0f6e0679845cbf8b165e027d43402a55494779295c4b08414097b258ac87/wrapt-1.17.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a6e821770cf99cc586d33833b2ff32faebdbe886bd6322395606cf55153246c", size = 83314, upload-time = "2025-01-14T10:33:21.282Z" }, + { url = "https://files.pythonhosted.org/packages/0f/77/0576d841bf84af8579124a93d216f55d6f74374e4445264cb378a6ed33eb/wrapt-1.17.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b60fb58b90c6d63779cb0c0c54eeb38941bae3ecf7a73c764c52c88c2dcb9d72", size = 74947, upload-time = "2025-01-14T10:33:24.414Z" }, + { url = "https://files.pythonhosted.org/packages/90/ec/00759565518f268ed707dcc40f7eeec38637d46b098a1f5143bff488fe97/wrapt-1.17.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b870b5df5b71d8c3359d21be8f0d6c485fa0ebdb6477dda51a1ea54a9b558061", size = 82778, upload-time = "2025-01-14T10:33:26.152Z" }, + { url = "https://files.pythonhosted.org/packages/f8/5a/7cffd26b1c607b0b0c8a9ca9d75757ad7620c9c0a9b4a25d3f8a1480fafc/wrapt-1.17.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4011d137b9955791f9084749cba9a367c68d50ab8d11d64c50ba1688c9b457f2", size = 81716, upload-time = "2025-01-14T10:33:27.372Z" }, + { url = "https://files.pythonhosted.org/packages/7e/09/dccf68fa98e862df7e6a60a61d43d644b7d095a5fc36dbb591bbd4a1c7b2/wrapt-1.17.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:1473400e5b2733e58b396a04eb7f35f541e1fb976d0c0724d0223dd607e0f74c", size = 74548, upload-time = "2025-01-14T10:33:28.52Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8e/067021fa3c8814952c5e228d916963c1115b983e21393289de15128e867e/wrapt-1.17.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3cedbfa9c940fdad3e6e941db7138e26ce8aad38ab5fe9dcfadfed9db7a54e62", size = 81334, upload-time = "2025-01-14T10:33:29.643Z" }, + { url = "https://files.pythonhosted.org/packages/4b/0d/9d4b5219ae4393f718699ca1c05f5ebc0c40d076f7e65fd48f5f693294fb/wrapt-1.17.2-cp310-cp310-win32.whl", hash = "sha256:582530701bff1dec6779efa00c516496968edd851fba224fbd86e46cc6b73563", size = 36427, upload-time = "2025-01-14T10:33:30.832Z" }, + { url = "https://files.pythonhosted.org/packages/72/6a/c5a83e8f61aec1e1aeef939807602fb880e5872371e95df2137142f5c58e/wrapt-1.17.2-cp310-cp310-win_amd64.whl", hash = "sha256:58705da316756681ad3c9c73fd15499aa4d8c69f9fd38dc8a35e06c12468582f", size = 38774, upload-time = "2025-01-14T10:33:32.897Z" }, + { url = "https://files.pythonhosted.org/packages/cd/f7/a2aab2cbc7a665efab072344a8949a71081eed1d2f451f7f7d2b966594a2/wrapt-1.17.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ff04ef6eec3eee8a5efef2401495967a916feaa353643defcc03fc74fe213b58", size = 53308, upload-time = "2025-01-14T10:33:33.992Z" }, + { url = "https://files.pythonhosted.org/packages/50/ff/149aba8365fdacef52b31a258c4dc1c57c79759c335eff0b3316a2664a64/wrapt-1.17.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4db983e7bca53819efdbd64590ee96c9213894272c776966ca6306b73e4affda", size = 38488, upload-time = "2025-01-14T10:33:35.264Z" }, + { url = "https://files.pythonhosted.org/packages/65/46/5a917ce85b5c3b490d35c02bf71aedaa9f2f63f2d15d9949cc4ba56e8ba9/wrapt-1.17.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9abc77a4ce4c6f2a3168ff34b1da9b0f311a8f1cfd694ec96b0603dff1c79438", size = 38776, upload-time = "2025-01-14T10:33:38.28Z" }, + { url = "https://files.pythonhosted.org/packages/ca/74/336c918d2915a4943501c77566db41d1bd6e9f4dbc317f356b9a244dfe83/wrapt-1.17.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b929ac182f5ace000d459c59c2c9c33047e20e935f8e39371fa6e3b85d56f4a", size = 83776, upload-time = "2025-01-14T10:33:40.678Z" }, + { url = "https://files.pythonhosted.org/packages/09/99/c0c844a5ccde0fe5761d4305485297f91d67cf2a1a824c5f282e661ec7ff/wrapt-1.17.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f09b286faeff3c750a879d336fb6d8713206fc97af3adc14def0cdd349df6000", size = 75420, upload-time = "2025-01-14T10:33:41.868Z" }, + { url = "https://files.pythonhosted.org/packages/b4/b0/9fc566b0fe08b282c850063591a756057c3247b2362b9286429ec5bf1721/wrapt-1.17.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a7ed2d9d039bd41e889f6fb9364554052ca21ce823580f6a07c4ec245c1f5d6", size = 83199, upload-time = "2025-01-14T10:33:43.598Z" }, + { url = "https://files.pythonhosted.org/packages/9d/4b/71996e62d543b0a0bd95dda485219856def3347e3e9380cc0d6cf10cfb2f/wrapt-1.17.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:129a150f5c445165ff941fc02ee27df65940fcb8a22a61828b1853c98763a64b", size = 82307, upload-time = "2025-01-14T10:33:48.499Z" }, + { url = "https://files.pythonhosted.org/packages/39/35/0282c0d8789c0dc9bcc738911776c762a701f95cfe113fb8f0b40e45c2b9/wrapt-1.17.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1fb5699e4464afe5c7e65fa51d4f99e0b2eadcc176e4aa33600a3df7801d6662", size = 75025, upload-time = "2025-01-14T10:33:51.191Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6d/90c9fd2c3c6fee181feecb620d95105370198b6b98a0770cba090441a828/wrapt-1.17.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9a2bce789a5ea90e51a02dfcc39e31b7f1e662bc3317979aa7e5538e3a034f72", size = 81879, upload-time = "2025-01-14T10:33:52.328Z" }, + { url = "https://files.pythonhosted.org/packages/8f/fa/9fb6e594f2ce03ef03eddbdb5f4f90acb1452221a5351116c7c4708ac865/wrapt-1.17.2-cp311-cp311-win32.whl", hash = "sha256:4afd5814270fdf6380616b321fd31435a462019d834f83c8611a0ce7484c7317", size = 36419, upload-time = "2025-01-14T10:33:53.551Z" }, + { url = "https://files.pythonhosted.org/packages/47/f8/fb1773491a253cbc123c5d5dc15c86041f746ed30416535f2a8df1f4a392/wrapt-1.17.2-cp311-cp311-win_amd64.whl", hash = "sha256:acc130bc0375999da18e3d19e5a86403667ac0c4042a094fefb7eec8ebac7cf3", size = 38773, upload-time = "2025-01-14T10:33:56.323Z" }, + { url = "https://files.pythonhosted.org/packages/a1/bd/ab55f849fd1f9a58ed7ea47f5559ff09741b25f00c191231f9f059c83949/wrapt-1.17.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d5e2439eecc762cd85e7bd37161d4714aa03a33c5ba884e26c81559817ca0925", size = 53799, upload-time = "2025-01-14T10:33:57.4Z" }, + { url = "https://files.pythonhosted.org/packages/53/18/75ddc64c3f63988f5a1d7e10fb204ffe5762bc663f8023f18ecaf31a332e/wrapt-1.17.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fc7cb4c1c744f8c05cd5f9438a3caa6ab94ce8344e952d7c45a8ed59dd88392", size = 38821, upload-time = "2025-01-14T10:33:59.334Z" }, + { url = "https://files.pythonhosted.org/packages/48/2a/97928387d6ed1c1ebbfd4efc4133a0633546bec8481a2dd5ec961313a1c7/wrapt-1.17.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8fdbdb757d5390f7c675e558fd3186d590973244fab0c5fe63d373ade3e99d40", size = 38919, upload-time = "2025-01-14T10:34:04.093Z" }, + { url = "https://files.pythonhosted.org/packages/73/54/3bfe5a1febbbccb7a2f77de47b989c0b85ed3a6a41614b104204a788c20e/wrapt-1.17.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bb1d0dbf99411f3d871deb6faa9aabb9d4e744d67dcaaa05399af89d847a91d", size = 88721, upload-time = "2025-01-14T10:34:07.163Z" }, + { url = "https://files.pythonhosted.org/packages/25/cb/7262bc1b0300b4b64af50c2720ef958c2c1917525238d661c3e9a2b71b7b/wrapt-1.17.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d18a4865f46b8579d44e4fe1e2bcbc6472ad83d98e22a26c963d46e4c125ef0b", size = 80899, upload-time = "2025-01-14T10:34:09.82Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5a/04cde32b07a7431d4ed0553a76fdb7a61270e78c5fd5a603e190ac389f14/wrapt-1.17.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc570b5f14a79734437cb7b0500376b6b791153314986074486e0b0fa8d71d98", size = 89222, upload-time = "2025-01-14T10:34:11.258Z" }, + { url = "https://files.pythonhosted.org/packages/09/28/2e45a4f4771fcfb109e244d5dbe54259e970362a311b67a965555ba65026/wrapt-1.17.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6d9187b01bebc3875bac9b087948a2bccefe464a7d8f627cf6e48b1bbae30f82", size = 86707, upload-time = "2025-01-14T10:34:12.49Z" }, + { url = "https://files.pythonhosted.org/packages/c6/d2/dcb56bf5f32fcd4bd9aacc77b50a539abdd5b6536872413fd3f428b21bed/wrapt-1.17.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9e8659775f1adf02eb1e6f109751268e493c73716ca5761f8acb695e52a756ae", size = 79685, upload-time = "2025-01-14T10:34:15.043Z" }, + { url = "https://files.pythonhosted.org/packages/80/4e/eb8b353e36711347893f502ce91c770b0b0929f8f0bed2670a6856e667a9/wrapt-1.17.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e8b2816ebef96d83657b56306152a93909a83f23994f4b30ad4573b00bd11bb9", size = 87567, upload-time = "2025-01-14T10:34:16.563Z" }, + { url = "https://files.pythonhosted.org/packages/17/27/4fe749a54e7fae6e7146f1c7d914d28ef599dacd4416566c055564080fe2/wrapt-1.17.2-cp312-cp312-win32.whl", hash = "sha256:468090021f391fe0056ad3e807e3d9034e0fd01adcd3bdfba977b6fdf4213ea9", size = 36672, upload-time = "2025-01-14T10:34:17.727Z" }, + { url = "https://files.pythonhosted.org/packages/15/06/1dbf478ea45c03e78a6a8c4be4fdc3c3bddea5c8de8a93bc971415e47f0f/wrapt-1.17.2-cp312-cp312-win_amd64.whl", hash = "sha256:ec89ed91f2fa8e3f52ae53cd3cf640d6feff92ba90d62236a81e4e563ac0e991", size = 38865, upload-time = "2025-01-14T10:34:19.577Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b9/0ffd557a92f3b11d4c5d5e0c5e4ad057bd9eb8586615cdaf901409920b14/wrapt-1.17.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", size = 53800, upload-time = "2025-01-14T10:34:21.571Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ef/8be90a0b7e73c32e550c73cfb2fa09db62234227ece47b0e80a05073b375/wrapt-1.17.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", size = 38824, upload-time = "2025-01-14T10:34:22.999Z" }, + { url = "https://files.pythonhosted.org/packages/36/89/0aae34c10fe524cce30fe5fc433210376bce94cf74d05b0d68344c8ba46e/wrapt-1.17.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", size = 38920, upload-time = "2025-01-14T10:34:25.386Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/11c4510de906d77e0cfb5197f1b1445d4fec42c9a39ea853d482698ac681/wrapt-1.17.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", size = 88690, upload-time = "2025-01-14T10:34:28.058Z" }, + { url = "https://files.pythonhosted.org/packages/71/d7/cfcf842291267bf455b3e266c0c29dcb675b5540ee8b50ba1699abf3af45/wrapt-1.17.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", size = 80861, upload-time = "2025-01-14T10:34:29.167Z" }, + { url = "https://files.pythonhosted.org/packages/d5/66/5d973e9f3e7370fd686fb47a9af3319418ed925c27d72ce16b791231576d/wrapt-1.17.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", size = 89174, upload-time = "2025-01-14T10:34:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d3/8e17bb70f6ae25dabc1aaf990f86824e4fd98ee9cadf197054e068500d27/wrapt-1.17.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", size = 86721, upload-time = "2025-01-14T10:34:32.91Z" }, + { url = "https://files.pythonhosted.org/packages/6f/54/f170dfb278fe1c30d0ff864513cff526d624ab8de3254b20abb9cffedc24/wrapt-1.17.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", size = 79763, upload-time = "2025-01-14T10:34:34.903Z" }, + { url = "https://files.pythonhosted.org/packages/4a/98/de07243751f1c4a9b15c76019250210dd3486ce098c3d80d5f729cba029c/wrapt-1.17.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", size = 87585, upload-time = "2025-01-14T10:34:36.13Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f0/13925f4bd6548013038cdeb11ee2cbd4e37c30f8bfd5db9e5a2a370d6e20/wrapt-1.17.2-cp313-cp313-win32.whl", hash = "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", size = 36676, upload-time = "2025-01-14T10:34:37.962Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ae/743f16ef8c2e3628df3ddfd652b7d4c555d12c84b53f3d8218498f4ade9b/wrapt-1.17.2-cp313-cp313-win_amd64.whl", hash = "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", size = 38871, upload-time = "2025-01-14T10:34:39.13Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bc/30f903f891a82d402ffb5fda27ec1d621cc97cb74c16fea0b6141f1d4e87/wrapt-1.17.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", size = 56312, upload-time = "2025-01-14T10:34:40.604Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/c97273eb491b5f1c918857cd26f314b74fc9b29224521f5b83f872253725/wrapt-1.17.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", size = 40062, upload-time = "2025-01-14T10:34:45.011Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ca/3b7afa1eae3a9e7fefe499db9b96813f41828b9fdb016ee836c4c379dadb/wrapt-1.17.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", size = 40155, upload-time = "2025-01-14T10:34:47.25Z" }, + { url = "https://files.pythonhosted.org/packages/89/be/7c1baed43290775cb9030c774bc53c860db140397047cc49aedaf0a15477/wrapt-1.17.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", size = 113471, upload-time = "2025-01-14T10:34:50.934Z" }, + { url = "https://files.pythonhosted.org/packages/32/98/4ed894cf012b6d6aae5f5cc974006bdeb92f0241775addad3f8cd6ab71c8/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", size = 101208, upload-time = "2025-01-14T10:34:52.297Z" }, + { url = "https://files.pythonhosted.org/packages/ea/fd/0c30f2301ca94e655e5e057012e83284ce8c545df7661a78d8bfca2fac7a/wrapt-1.17.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", size = 109339, upload-time = "2025-01-14T10:34:53.489Z" }, + { url = "https://files.pythonhosted.org/packages/75/56/05d000de894c4cfcb84bcd6b1df6214297b8089a7bd324c21a4765e49b14/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", size = 110232, upload-time = "2025-01-14T10:34:55.327Z" }, + { url = "https://files.pythonhosted.org/packages/53/f8/c3f6b2cf9b9277fb0813418e1503e68414cd036b3b099c823379c9575e6d/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", size = 100476, upload-time = "2025-01-14T10:34:58.055Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377, upload-time = "2025-01-14T10:34:59.3Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986, upload-time = "2025-01-14T10:35:00.498Z" }, + { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750, upload-time = "2025-01-14T10:35:03.378Z" }, + { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594, upload-time = "2025-01-14T10:35:44.018Z" }, +] + +[[package]] +name = "xmltodict" +version = "0.14.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/50/05/51dcca9a9bf5e1bce52582683ce50980bcadbc4fa5143b9f2b19ab99958f/xmltodict-0.14.2.tar.gz", hash = "sha256:201e7c28bb210e374999d1dde6382923ab0ed1a8a5faeece48ab525b7810a553", size = 51942, upload-time = "2024-10-16T06:10:29.683Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/45/fc303eb433e8a2a271739c98e953728422fa61a3c1f36077a49e395c972e/xmltodict-0.14.2-py2.py3-none-any.whl", hash = "sha256:20cc7d723ed729276e808f26fb6b3599f786cbc37e06c65e192ba77c40f20aac", size = 9981, upload-time = "2024-10-16T06:10:27.649Z" }, +] + +[[package]] +name = "yarl" +version = "1.20.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/65/7fed0d774abf47487c64be14e9223749468922817b5e8792b8a64792a1bb/yarl-1.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6032e6da6abd41e4acda34d75a816012717000fa6839f37124a47fcefc49bec4", size = 132910, upload-time = "2025-06-10T00:42:31.108Z" }, + { url = "https://files.pythonhosted.org/packages/8a/7b/988f55a52da99df9e56dc733b8e4e5a6ae2090081dc2754fc8fd34e60aa0/yarl-1.20.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2c7b34d804b8cf9b214f05015c4fee2ebe7ed05cf581e7192c06555c71f4446a", size = 90644, upload-time = "2025-06-10T00:42:33.851Z" }, + { url = "https://files.pythonhosted.org/packages/f7/de/30d98f03e95d30c7e3cc093759982d038c8833ec2451001d45ef4854edc1/yarl-1.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c869f2651cc77465f6cd01d938d91a11d9ea5d798738c1dc077f3de0b5e5fed", size = 89322, upload-time = "2025-06-10T00:42:35.688Z" }, + { url = "https://files.pythonhosted.org/packages/e0/7a/f2f314f5ebfe9200724b0b748de2186b927acb334cf964fd312eb86fc286/yarl-1.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62915e6688eb4d180d93840cda4110995ad50c459bf931b8b3775b37c264af1e", size = 323786, upload-time = "2025-06-10T00:42:37.817Z" }, + { url = "https://files.pythonhosted.org/packages/15/3f/718d26f189db96d993d14b984ce91de52e76309d0fd1d4296f34039856aa/yarl-1.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:41ebd28167bc6af8abb97fec1a399f412eec5fd61a3ccbe2305a18b84fb4ca73", size = 319627, upload-time = "2025-06-10T00:42:39.937Z" }, + { url = "https://files.pythonhosted.org/packages/a5/76/8fcfbf5fa2369157b9898962a4a7d96764b287b085b5b3d9ffae69cdefd1/yarl-1.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21242b4288a6d56f04ea193adde174b7e347ac46ce6bc84989ff7c1b1ecea84e", size = 339149, upload-time = "2025-06-10T00:42:42.627Z" }, + { url = "https://files.pythonhosted.org/packages/3c/95/d7fc301cc4661785967acc04f54a4a42d5124905e27db27bb578aac49b5c/yarl-1.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bea21cdae6c7eb02ba02a475f37463abfe0a01f5d7200121b03e605d6a0439f8", size = 333327, upload-time = "2025-06-10T00:42:44.842Z" }, + { url = "https://files.pythonhosted.org/packages/65/94/e21269718349582eee81efc5c1c08ee71c816bfc1585b77d0ec3f58089eb/yarl-1.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f8a891e4a22a89f5dde7862994485e19db246b70bb288d3ce73a34422e55b23", size = 326054, upload-time = "2025-06-10T00:42:47.149Z" }, + { url = "https://files.pythonhosted.org/packages/32/ae/8616d1f07853704523519f6131d21f092e567c5af93de7e3e94b38d7f065/yarl-1.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd803820d44c8853a109a34e3660e5a61beae12970da479cf44aa2954019bf70", size = 315035, upload-time = "2025-06-10T00:42:48.852Z" }, + { url = "https://files.pythonhosted.org/packages/48/aa/0ace06280861ef055855333707db5e49c6e3a08840a7ce62682259d0a6c0/yarl-1.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b982fa7f74c80d5c0c7b5b38f908971e513380a10fecea528091405f519b9ebb", size = 338962, upload-time = "2025-06-10T00:42:51.024Z" }, + { url = "https://files.pythonhosted.org/packages/20/52/1e9d0e6916f45a8fb50e6844f01cb34692455f1acd548606cbda8134cd1e/yarl-1.20.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:33f29ecfe0330c570d997bcf1afd304377f2e48f61447f37e846a6058a4d33b2", size = 335399, upload-time = "2025-06-10T00:42:53.007Z" }, + { url = "https://files.pythonhosted.org/packages/f2/65/60452df742952c630e82f394cd409de10610481d9043aa14c61bf846b7b1/yarl-1.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:835ab2cfc74d5eb4a6a528c57f05688099da41cf4957cf08cad38647e4a83b30", size = 338649, upload-time = "2025-06-10T00:42:54.964Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f5/6cd4ff38dcde57a70f23719a838665ee17079640c77087404c3d34da6727/yarl-1.20.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:46b5e0ccf1943a9a6e766b2c2b8c732c55b34e28be57d8daa2b3c1d1d4009309", size = 358563, upload-time = "2025-06-10T00:42:57.28Z" }, + { url = "https://files.pythonhosted.org/packages/d1/90/c42eefd79d0d8222cb3227bdd51b640c0c1d0aa33fe4cc86c36eccba77d3/yarl-1.20.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:df47c55f7d74127d1b11251fe6397d84afdde0d53b90bedb46a23c0e534f9d24", size = 357609, upload-time = "2025-06-10T00:42:59.055Z" }, + { url = "https://files.pythonhosted.org/packages/03/c8/cea6b232cb4617514232e0f8a718153a95b5d82b5290711b201545825532/yarl-1.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76d12524d05841276b0e22573f28d5fbcb67589836772ae9244d90dd7d66aa13", size = 350224, upload-time = "2025-06-10T00:43:01.248Z" }, + { url = "https://files.pythonhosted.org/packages/ce/a3/eaa0ab9712f1f3d01faf43cf6f1f7210ce4ea4a7e9b28b489a2261ca8db9/yarl-1.20.1-cp310-cp310-win32.whl", hash = "sha256:6c4fbf6b02d70e512d7ade4b1f998f237137f1417ab07ec06358ea04f69134f8", size = 81753, upload-time = "2025-06-10T00:43:03.486Z" }, + { url = "https://files.pythonhosted.org/packages/8f/34/e4abde70a9256465fe31c88ed02c3f8502b7b5dead693a4f350a06413f28/yarl-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:aef6c4d69554d44b7f9d923245f8ad9a707d971e6209d51279196d8e8fe1ae16", size = 86817, upload-time = "2025-06-10T00:43:05.231Z" }, + { url = "https://files.pythonhosted.org/packages/b1/18/893b50efc2350e47a874c5c2d67e55a0ea5df91186b2a6f5ac52eff887cd/yarl-1.20.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:47ee6188fea634bdfaeb2cc420f5b3b17332e6225ce88149a17c413c77ff269e", size = 133833, upload-time = "2025-06-10T00:43:07.393Z" }, + { url = "https://files.pythonhosted.org/packages/89/ed/b8773448030e6fc47fa797f099ab9eab151a43a25717f9ac043844ad5ea3/yarl-1.20.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d0f6500f69e8402d513e5eedb77a4e1818691e8f45e6b687147963514d84b44b", size = 91070, upload-time = "2025-06-10T00:43:09.538Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e3/409bd17b1e42619bf69f60e4f031ce1ccb29bd7380117a55529e76933464/yarl-1.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a8900a42fcdaad568de58887c7b2f602962356908eedb7628eaf6021a6e435b", size = 89818, upload-time = "2025-06-10T00:43:11.575Z" }, + { url = "https://files.pythonhosted.org/packages/f8/77/64d8431a4d77c856eb2d82aa3de2ad6741365245a29b3a9543cd598ed8c5/yarl-1.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bad6d131fda8ef508b36be3ece16d0902e80b88ea7200f030a0f6c11d9e508d4", size = 347003, upload-time = "2025-06-10T00:43:14.088Z" }, + { url = "https://files.pythonhosted.org/packages/8d/d2/0c7e4def093dcef0bd9fa22d4d24b023788b0a33b8d0088b51aa51e21e99/yarl-1.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:df018d92fe22aaebb679a7f89fe0c0f368ec497e3dda6cb81a567610f04501f1", size = 336537, upload-time = "2025-06-10T00:43:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f3/fc514f4b2cf02cb59d10cbfe228691d25929ce8f72a38db07d3febc3f706/yarl-1.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f969afbb0a9b63c18d0feecf0db09d164b7a44a053e78a7d05f5df163e43833", size = 362358, upload-time = "2025-06-10T00:43:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/ea/6d/a313ac8d8391381ff9006ac05f1d4331cee3b1efaa833a53d12253733255/yarl-1.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:812303eb4aa98e302886ccda58d6b099e3576b1b9276161469c25803a8db277d", size = 357362, upload-time = "2025-06-10T00:43:20.888Z" }, + { url = "https://files.pythonhosted.org/packages/00/70/8f78a95d6935a70263d46caa3dd18e1f223cf2f2ff2037baa01a22bc5b22/yarl-1.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98c4a7d166635147924aa0bf9bfe8d8abad6fffa6102de9c99ea04a1376f91e8", size = 348979, upload-time = "2025-06-10T00:43:23.169Z" }, + { url = "https://files.pythonhosted.org/packages/cb/05/42773027968968f4f15143553970ee36ead27038d627f457cc44bbbeecf3/yarl-1.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12e768f966538e81e6e7550f9086a6236b16e26cd964cf4df35349970f3551cf", size = 337274, upload-time = "2025-06-10T00:43:27.111Z" }, + { url = "https://files.pythonhosted.org/packages/05/be/665634aa196954156741ea591d2f946f1b78ceee8bb8f28488bf28c0dd62/yarl-1.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe41919b9d899661c5c28a8b4b0acf704510b88f27f0934ac7a7bebdd8938d5e", size = 363294, upload-time = "2025-06-10T00:43:28.96Z" }, + { url = "https://files.pythonhosted.org/packages/eb/90/73448401d36fa4e210ece5579895731f190d5119c4b66b43b52182e88cd5/yarl-1.20.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8601bc010d1d7780592f3fc1bdc6c72e2b6466ea34569778422943e1a1f3c389", size = 358169, upload-time = "2025-06-10T00:43:30.701Z" }, + { url = "https://files.pythonhosted.org/packages/c3/b0/fce922d46dc1eb43c811f1889f7daa6001b27a4005587e94878570300881/yarl-1.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:daadbdc1f2a9033a2399c42646fbd46da7992e868a5fe9513860122d7fe7a73f", size = 362776, upload-time = "2025-06-10T00:43:32.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/0d/b172628fce039dae8977fd22caeff3eeebffd52e86060413f5673767c427/yarl-1.20.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:03aa1e041727cb438ca762628109ef1333498b122e4c76dd858d186a37cec845", size = 381341, upload-time = "2025-06-10T00:43:34.543Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9b/5b886d7671f4580209e855974fe1cecec409aa4a89ea58b8f0560dc529b1/yarl-1.20.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:642980ef5e0fa1de5fa96d905c7e00cb2c47cb468bfcac5a18c58e27dbf8d8d1", size = 379988, upload-time = "2025-06-10T00:43:36.489Z" }, + { url = "https://files.pythonhosted.org/packages/73/be/75ef5fd0fcd8f083a5d13f78fd3f009528132a1f2a1d7c925c39fa20aa79/yarl-1.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:86971e2795584fe8c002356d3b97ef6c61862720eeff03db2a7c86b678d85b3e", size = 371113, upload-time = "2025-06-10T00:43:38.592Z" }, + { url = "https://files.pythonhosted.org/packages/50/4f/62faab3b479dfdcb741fe9e3f0323e2a7d5cd1ab2edc73221d57ad4834b2/yarl-1.20.1-cp311-cp311-win32.whl", hash = "sha256:597f40615b8d25812f14562699e287f0dcc035d25eb74da72cae043bb884d773", size = 81485, upload-time = "2025-06-10T00:43:41.038Z" }, + { url = "https://files.pythonhosted.org/packages/f0/09/d9c7942f8f05c32ec72cd5c8e041c8b29b5807328b68b4801ff2511d4d5e/yarl-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:26ef53a9e726e61e9cd1cda6b478f17e350fb5800b4bd1cd9fe81c4d91cfeb2e", size = 86686, upload-time = "2025-06-10T00:43:42.692Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9a/cb7fad7d73c69f296eda6815e4a2c7ed53fc70c2f136479a91c8e5fbdb6d/yarl-1.20.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdcc4cd244e58593a4379fe60fdee5ac0331f8eb70320a24d591a3be197b94a9", size = 133667, upload-time = "2025-06-10T00:43:44.369Z" }, + { url = "https://files.pythonhosted.org/packages/67/38/688577a1cb1e656e3971fb66a3492501c5a5df56d99722e57c98249e5b8a/yarl-1.20.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b29a2c385a5f5b9c7d9347e5812b6f7ab267193c62d282a540b4fc528c8a9d2a", size = 91025, upload-time = "2025-06-10T00:43:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/50/ec/72991ae51febeb11a42813fc259f0d4c8e0507f2b74b5514618d8b640365/yarl-1.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1112ae8154186dfe2de4732197f59c05a83dc814849a5ced892b708033f40dc2", size = 89709, upload-time = "2025-06-10T00:43:48.22Z" }, + { url = "https://files.pythonhosted.org/packages/99/da/4d798025490e89426e9f976702e5f9482005c548c579bdae792a4c37769e/yarl-1.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90bbd29c4fe234233f7fa2b9b121fb63c321830e5d05b45153a2ca68f7d310ee", size = 352287, upload-time = "2025-06-10T00:43:49.924Z" }, + { url = "https://files.pythonhosted.org/packages/1a/26/54a15c6a567aac1c61b18aa0f4b8aa2e285a52d547d1be8bf48abe2b3991/yarl-1.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:680e19c7ce3710ac4cd964e90dad99bf9b5029372ba0c7cbfcd55e54d90ea819", size = 345429, upload-time = "2025-06-10T00:43:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/d6/95/9dcf2386cb875b234353b93ec43e40219e14900e046bf6ac118f94b1e353/yarl-1.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a979218c1fdb4246a05efc2cc23859d47c89af463a90b99b7c56094daf25a16", size = 365429, upload-time = "2025-06-10T00:43:53.494Z" }, + { url = "https://files.pythonhosted.org/packages/91/b2/33a8750f6a4bc224242a635f5f2cff6d6ad5ba651f6edcccf721992c21a0/yarl-1.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255b468adf57b4a7b65d8aad5b5138dce6a0752c139965711bdcb81bc370e1b6", size = 363862, upload-time = "2025-06-10T00:43:55.766Z" }, + { url = "https://files.pythonhosted.org/packages/98/28/3ab7acc5b51f4434b181b0cee8f1f4b77a65919700a355fb3617f9488874/yarl-1.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97d67108e79cfe22e2b430d80d7571ae57d19f17cda8bb967057ca8a7bf5bfd", size = 355616, upload-time = "2025-06-10T00:43:58.056Z" }, + { url = "https://files.pythonhosted.org/packages/36/a3/f666894aa947a371724ec7cd2e5daa78ee8a777b21509b4252dd7bd15e29/yarl-1.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8570d998db4ddbfb9a590b185a0a33dbf8aafb831d07a5257b4ec9948df9cb0a", size = 339954, upload-time = "2025-06-10T00:43:59.773Z" }, + { url = "https://files.pythonhosted.org/packages/f1/81/5f466427e09773c04219d3450d7a1256138a010b6c9f0af2d48565e9ad13/yarl-1.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97c75596019baae7c71ccf1d8cc4738bc08134060d0adfcbe5642f778d1dca38", size = 365575, upload-time = "2025-06-10T00:44:02.051Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e3/e4b0ad8403e97e6c9972dd587388940a032f030ebec196ab81a3b8e94d31/yarl-1.20.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1c48912653e63aef91ff988c5432832692ac5a1d8f0fb8a33091520b5bbe19ef", size = 365061, upload-time = "2025-06-10T00:44:04.196Z" }, + { url = "https://files.pythonhosted.org/packages/ac/99/b8a142e79eb86c926f9f06452eb13ecb1bb5713bd01dc0038faf5452e544/yarl-1.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4c3ae28f3ae1563c50f3d37f064ddb1511ecc1d5584e88c6b7c63cf7702a6d5f", size = 364142, upload-time = "2025-06-10T00:44:06.527Z" }, + { url = "https://files.pythonhosted.org/packages/34/f2/08ed34a4a506d82a1a3e5bab99ccd930a040f9b6449e9fd050320e45845c/yarl-1.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c5e9642f27036283550f5f57dc6156c51084b458570b9d0d96100c8bebb186a8", size = 381894, upload-time = "2025-06-10T00:44:08.379Z" }, + { url = "https://files.pythonhosted.org/packages/92/f8/9a3fbf0968eac704f681726eff595dce9b49c8a25cd92bf83df209668285/yarl-1.20.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2c26b0c49220d5799f7b22c6838409ee9bc58ee5c95361a4d7831f03cc225b5a", size = 383378, upload-time = "2025-06-10T00:44:10.51Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/9363f77bdfa1e4d690957cd39d192c4cacd1c58965df0470a4905253b54f/yarl-1.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:564ab3d517e3d01c408c67f2e5247aad4019dcf1969982aba3974b4093279004", size = 374069, upload-time = "2025-06-10T00:44:12.834Z" }, + { url = "https://files.pythonhosted.org/packages/35/99/9918c8739ba271dcd935400cff8b32e3cd319eaf02fcd023d5dcd487a7c8/yarl-1.20.1-cp312-cp312-win32.whl", hash = "sha256:daea0d313868da1cf2fac6b2d3a25c6e3a9e879483244be38c8e6a41f1d876a5", size = 81249, upload-time = "2025-06-10T00:44:14.731Z" }, + { url = "https://files.pythonhosted.org/packages/eb/83/5d9092950565481b413b31a23e75dd3418ff0a277d6e0abf3729d4d1ce25/yarl-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:48ea7d7f9be0487339828a4de0360d7ce0efc06524a48e1810f945c45b813698", size = 86710, upload-time = "2025-06-10T00:44:16.716Z" }, + { url = "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", size = 131811, upload-time = "2025-06-10T00:44:18.933Z" }, + { url = "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", size = 90078, upload-time = "2025-06-10T00:44:20.635Z" }, + { url = "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", size = 88748, upload-time = "2025-06-10T00:44:22.34Z" }, + { url = "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", size = 349595, upload-time = "2025-06-10T00:44:24.314Z" }, + { url = "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", size = 342616, upload-time = "2025-06-10T00:44:26.167Z" }, + { url = "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", size = 361324, upload-time = "2025-06-10T00:44:27.915Z" }, + { url = "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", size = 359676, upload-time = "2025-06-10T00:44:30.041Z" }, + { url = "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", size = 352614, upload-time = "2025-06-10T00:44:32.171Z" }, + { url = "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", size = 336766, upload-time = "2025-06-10T00:44:34.494Z" }, + { url = "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", size = 364615, upload-time = "2025-06-10T00:44:36.856Z" }, + { url = "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", size = 360982, upload-time = "2025-06-10T00:44:39.141Z" }, + { url = "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", size = 369792, upload-time = "2025-06-10T00:44:40.934Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", size = 382049, upload-time = "2025-06-10T00:44:42.854Z" }, + { url = "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", size = 384774, upload-time = "2025-06-10T00:44:45.275Z" }, + { url = "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", size = 374252, upload-time = "2025-06-10T00:44:47.31Z" }, + { url = "https://files.pythonhosted.org/packages/83/75/11ee332f2f516b3d094e89448da73d557687f7d137d5a0f48c40ff211487/yarl-1.20.1-cp313-cp313-win32.whl", hash = "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", size = 81198, upload-time = "2025-06-10T00:44:49.164Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ba/39b1ecbf51620b40ab402b0fc817f0ff750f6d92712b44689c2c215be89d/yarl-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", size = 86346, upload-time = "2025-06-10T00:44:51.182Z" }, + { url = "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", size = 138826, upload-time = "2025-06-10T00:44:52.883Z" }, + { url = "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", size = 93217, upload-time = "2025-06-10T00:44:54.658Z" }, + { url = "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", size = 92700, upload-time = "2025-06-10T00:44:56.784Z" }, + { url = "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", size = 347644, upload-time = "2025-06-10T00:44:59.071Z" }, + { url = "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", size = 323452, upload-time = "2025-06-10T00:45:01.605Z" }, + { url = "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", size = 346378, upload-time = "2025-06-10T00:45:03.946Z" }, + { url = "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", size = 353261, upload-time = "2025-06-10T00:45:05.992Z" }, + { url = "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", size = 335987, upload-time = "2025-06-10T00:45:08.227Z" }, + { url = "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", size = 329361, upload-time = "2025-06-10T00:45:10.11Z" }, + { url = "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", size = 346460, upload-time = "2025-06-10T00:45:12.055Z" }, + { url = "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", size = 334486, upload-time = "2025-06-10T00:45:13.995Z" }, + { url = "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", size = 342219, upload-time = "2025-06-10T00:45:16.479Z" }, + { url = "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", size = 350693, upload-time = "2025-06-10T00:45:18.399Z" }, + { url = "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", size = 355803, upload-time = "2025-06-10T00:45:20.677Z" }, + { url = "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", size = 341709, upload-time = "2025-06-10T00:45:23.221Z" }, + { url = "https://files.pythonhosted.org/packages/24/fd/725b8e73ac2a50e78a4534ac43c6addf5c1c2d65380dd48a9169cc6739a9/yarl-1.20.1-cp313-cp313t-win32.whl", hash = "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", size = 86591, upload-time = "2025-06-10T00:45:25.793Z" }, + { url = "https://files.pythonhosted.org/packages/94/c3/b2e9f38bc3e11191981d57ea08cab2166e74ea770024a646617c9cddd9f6/yarl-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", size = 93003, upload-time = "2025-06-10T00:45:27.752Z" }, + { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, +] + +[[package]] +name = "zipp" +version = "3.23.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, +]