diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1aa632b8a..81208cef3 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,14 +1,22 @@ version: 2 updates: - package-ecosystem: "github-actions" - directory: "/.github/" + directory: "/" schedule: interval: "daily" - package-ecosystem: "docker" - directory: "/src/docker" + directories: + - "/src/docker/*" schedule: interval: "daily" + groups: + docker-base-images: + group-by: dependency-name - package-ecosystem: "docker-compose" - directory: "/compose-files" + directories: + - "/compose-files/*" schedule: - interval: "daily" \ No newline at end of file + interval: "daily" + groups: + compose-images: + group-by: dependency-name diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 182afd013..000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,70 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ master ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ master ] - schedule: - - cron: '32 9 * * 5' - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-20.04 - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'python' ] - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://git.io/codeql-language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 diff --git a/.github/workflows/pants-cache.yaml b/.github/workflows/pants-cache.yaml index 287114670..ea370b6e2 100644 --- a/.github/workflows/pants-cache.yaml +++ b/.github/workflows/pants-cache.yaml @@ -8,11 +8,17 @@ on: branches: - master +env: + PANTS_CONFIG_FILES: pants.ci.toml + PEX_ROOT: ${{ github.workspace }}/.pex + PANTS_SETUP_CACHE_DIR: ${{ github.workspace }}/.cache/pants/setup + PANTS_NAMED_CACHES_DIR: ${{ github.workspace }}/.cache/pants/named_caches + PANTS_LOCAL_STORE_DIR: ${{ github.workspace }}/.cache/pants/lmdb_store + TMPDIR: ${{ github.workspace }}/.tmp + jobs: build: - env: - PANTS_CONFIG_FILES: pants.ci.toml - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: matrix: python-version: ['3.12'] @@ -21,35 +27,36 @@ jobs: with: fetch-depth: 0 lfs: true + - name: Prepare workspace tmpdir + run: | + mkdir -p "$GITHUB_WORKSPACE/.tmp" + chmod 1777 "$GITHUB_WORKSPACE/.tmp" - name: Get Pants version id: pants_version run: | - # Capture the "pants_version = " line from config. - PANTS_VERSION=$(grep -E '^pants_version\s*=' pants.toml) - echo "::set-output name=pants_version::$PANTS_VERSION" + PANTS_VERSION=$(awk -F'"' '/^pants_version\s*=/{print $2}' pants.toml) + echo "pants_version=$PANTS_VERSION" >> "$GITHUB_OUTPUT" - name: Checkout LFS objects run: git lfs checkout - uses: pat-s/always-upload-cache@v3 # default actions/cache is not saving cache on failure (e.g. when ./pants lint :: fails) id: cache_pants_setup with: path: | - ~/.cache/pants/setup + ${{ env.PANTS_SETUP_CACHE_DIR }} key: pants-setup-${{ steps.pants_version.outputs.pants_version }} - uses: pat-s/always-upload-cache@v3 id: cached_named_caches with: path: | - ~/.cache/pants/named_caches - # The Python backend uses named_caches for Pip/PEX state, - # so it is appropriate to invalidate on requirements.txt changes. - key: pants-named-caches-${{ runner.os }}-${{ hashFiles('pants.toml') }}-${{ hashFiles('requirements.txt') }} + ${{ env.PANTS_NAMED_CACHES_DIR }} + # The Python backend uses named_caches for Pip/PEX state, so include the lockfile inputs in the key. + key: pants-named-caches-${{ runner.os }}-py${{ matrix.python-version }}-${{ hashFiles('pants.toml', '3rdparty/*.txt') }} # Note that falling back to a restore key may give a useful partial result that will save time # over completely clean state, but will cause the cache entry to grow without bound over time. # See https://pants.readme.io/docs/using-pants-in-ci for tips on how to periodically clean it up. # Alternatively you may want to avoid using restore keys. restore-keys: | - pants-named-caches-${{ runner.os }}-${{ hashFiles('pants.toml') }}-${{ hashFiles('requirements.txt') }} - pants-named-caches-${{ runner.os }}-${{ hashFiles('pants.toml') }}- + pants-named-caches-${{ runner.os }}-py${{ matrix.python-version }}-${{ hashFiles('pants.toml') }}- pants-named-caches-${{ runner.os }}- # If you're not using a fine-grained remote caching service (see https://www.pantsbuild.org/docs/remote-caching), # then you may also want to preserve the local Pants cache (lmdb_store). However this must invalidate for @@ -59,10 +66,12 @@ jobs: id: cache_lmdb_store with: path: | - ~/.cache/pants/lmdb_store - key: pants-lmdb-store-${{ runner.os }}-${{ hashFiles('**/*') }} + ${{ env.PANTS_LOCAL_STORE_DIR }} + key: pants-lmdb-store-${{ runner.os }}-py${{ matrix.python-version }}-${{ hashFiles('pants.toml', '3rdparty/*.txt') }} # Same caveat as above regarding the issues with restore keys. - restore-keys: pants-lmdb-store-${{ runner.os }}- + restore-keys: | + pants-lmdb-store-${{ runner.os }}-py${{ matrix.python-version }}- + pants-lmdb-store-${{ runner.os }}- - name: Prune pants cache run: | ./build-support/nuke-cache.sh @@ -75,8 +84,8 @@ jobs: pants --version - name: install system dependencies run: | - sudo ./build-support/install_kinect_prerequisites.sh - sudo apt install jq cargo + sudo apt-get update + sudo apt-get install -y --no-install-recommends cargo - name: Get dependencies run: | pants export @@ -85,4 +94,5 @@ jobs: with: name: pants-log path: .pants.d/pants.log - if: always() # We want the log even on failures. \ No newline at end of file + if-no-files-found: ignore + if: always() # We want the log even on failures. diff --git a/.github/workflows/pants.yaml b/.github/workflows/pants.yaml index 5445c543b..4c04d3661 100644 --- a/.github/workflows/pants.yaml +++ b/.github/workflows/pants.yaml @@ -51,18 +51,18 @@ jobs: - uses: pantsbuild/actions/init-pants@v5-scie-pants with: gha-cache-key: cache0-py${{ matrix.python-version }} - named-caches-hash: ${{ hashFiles('/3rdparty/constraints.txt') }} + named-caches-hash: ${{ hashFiles('3rdparty/constraints.txt') }} cache-lmdb-store: 'true' # defaults to 'false' base-branch: master - name: Check BUILD files run: | - pants --changed-since=HEAD update-build-files --check + pants --changed-since=origin/master update-build-files --check - name: Lint run: | pants --changed-since=origin/master lint - uses: ros-tooling/setup-ros@v0.7 - name: install system dependencies - run: | # cargo is required to build fastuuid (no wheels for Python 3.11) + run: | # cargo is required when fastuuid falls back to a source build echo "Disk space before installing system dependencies:" sudo df -h / /mnt "$GITHUB_WORKSPACE" sudo apt-get update @@ -147,7 +147,7 @@ jobs: - uses: pantsbuild/actions/init-pants@v5-scie-pants with: gha-cache-key: cache0-py${{ matrix.python-version }} - named-caches-hash: ${{ hashFiles('/3rdparty/constraints.txt') }} + named-caches-hash: ${{ hashFiles('3rdparty/constraints.txt') }} cache-lmdb-store: 'true' # defaults to 'false' base-branch: master - name: Build Docker images diff --git a/3rdparty/constraints.txt b/3rdparty/constraints.txt index f8a72800d..b2a80d608 100644 --- a/3rdparty/constraints.txt +++ b/3rdparty/constraints.txt @@ -4,20 +4,20 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 6, // "valid_for_interpreter_constraints": [ // "CPython==3.12.*" // ], // "generated_with_requirements": [ // "Cython~=3.2.2", // "Flask~=3.1.2", -// "Pillow~=12.0.0", +// "Pillow~=12.1.1", // "PyYAML~=6.0.3", // "aiofiles~=25.1.0", // "aiologger~=0.7.0", // "aiorun~=2025.1.1", // "apispec-webframeworks~=1.2.0", -// "apispec[yaml]~=6.9.0", +// "apispec[yaml]~=6.10.0", // "autopep8~=2.3.2", // "ciso8601~=2.3.3", // "colorlog~=6.10.1", @@ -31,9 +31,9 @@ // "numpy-quaternion[numba,scipy]~=2024.0.13", // "numpy~=2.3.5", // "open3d==0.19.0", -// "openapi-spec-validator~=0.7.2", +// "openapi-spec-validator~=0.8.4", // "opencv-contrib-python~=4.10.0.84", -// "opencv-stubs[opencv-contrib]==0.1.1", +// "opencv-stubs[opencv-contrib]==0.1.3", // "orjson~=3.11.4", // "packaging~=25.0", // "pydub-stubs==0.25.1.6", @@ -47,15 +47,15 @@ // "pytest~=9.0.1", // "python-dateutil~=2.9.0.post0", // "requests~=2.32.5", -// "setuptools~=80.9.0", +// "setuptools~=82.0.1", // "sqlitedict~=2.1.0", // "types-PyYAML==6.0.12.20250915", // "types-aiofiles==25.1.0.20251011", // "types-orjson==3.6.2", // "types-playsound~=1.3.1.20241019", -// "types-python-dateutil==2.9.0.20251115", -// "types-requests==2.32.4.20250913", -// "types-setuptools==80.9.0.20250822", +// "types-python-dateutil==2.9.0.20260305", +// "types-requests==2.32.4.20260107", +// "types-setuptools==82.0.0.20260210", // "types_flask_cors~=6.0.0.20250809", // "typing-inspect~=0.9.0", // "websocket-client~=1.9.0", @@ -65,7 +65,12 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [], +// "sources": [], +// "lock_style": "universal", +// "complete_platforms": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -156,13 +161,33 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4c275f0a6dac0bcfcceee00b451a16b650f9184a57c624b0b6d12d82b8d15a61", - "url": "https://files.pythonhosted.org/packages/19/eb/d1dc13f3b2f9985777526c36096d9595ae0fa7ee7ff5e593abefe1636939/apispec-6.9.0-py3-none-any.whl" + "hash": "1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", + "url": "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "7a38ce7c3eedc7771e6e33295afdd8c4b0acdd9865b483f8cf6cc369c93e8d1e", - "url": "https://files.pythonhosted.org/packages/02/ad/30cd449f3a0cf213dd13d9af7ba869214d8c66d517939964d3f490307e46/apispec-6.9.0.tar.gz" + "hash": "aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", + "url": "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz" + } + ], + "project_name": "annotated-types", + "requires_dists": [ + "typing-extensions>=4.0.0; python_version < \"3.9\"" + ], + "requires_python": ">=3.8", + "version": "0.7.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "8ff23e0de9a0ceb62ff70047241126315bd17b8d0565a567934c0156f4ddbb43", + "url": "https://files.pythonhosted.org/packages/20/88/e149b20246c4689e7d27163e4e3bb8946ef31617cfb3b9c427813483fe5b/apispec-6.10.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0a888555cd4aa5fb7176041be15684154fd8961055e1672e703abf737e8761bf", + "url": "https://files.pythonhosted.org/packages/4a/f1/1f5a9332df3ecd90cc5ab69bc58a4174b8ba2ac1720c4c26b01d20751bf5/apispec-6.10.0.tar.gz" } ], "project_name": "apispec", @@ -172,18 +197,18 @@ "apispec[marshmallow]; extra == \"docs\"", "apispec[tests]; extra == \"dev\"", "marshmallow>=3.18.0; extra == \"marshmallow\"", - "openapi-spec-validator==0.7.2; extra == \"tests\"", + "openapi-spec-validator==0.8.4; extra == \"tests\"", "packaging>=21.3", "pre-commit<5.0,>=3.5; extra == \"dev\"", "pytest; extra == \"tests\"", "pyyaml==6.0.3; extra == \"docs\"", "sphinx-issues==5.0.1; extra == \"docs\"", - "sphinx-rtd-theme==3.0.2; extra == \"docs\"", - "sphinx==8.2.3; extra == \"docs\"", + "sphinx-rtd-theme==3.1.0; extra == \"docs\"", + "sphinx==9.1.0; extra == \"docs\"", "tox; extra == \"dev\"" ], "requires_python": ">=3.10", - "version": "6.9.0" + "version": "6.10.0" }, { "artifacts": [ @@ -298,102 +323,102 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", - "url": "https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl" + "hash": "027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", + "url": "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316", - "url": "https://files.pythonhosted.org/packages/a2/8c/58f469717fa48465e4a50c014a0400602d3c437d7c0c468e17ada824da3a/certifi-2025.11.12.tar.gz" + "hash": "e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", + "url": "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz" } ], "project_name": "certifi", "requires_dists": [], "requires_python": ">=3.7", - "version": "2025.11.12" + "version": "2026.2.25" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", - "url": "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl" + "hash": "947cf925bc916d90adba35a64c82aace04fa39b46b52d4630ece166655905a69", + "url": "https://files.pythonhosted.org/packages/2a/68/687187c7e26cb24ccbd88e5069f5ef00eba804d36dde11d99aad0838ab45/charset_normalizer-3.4.6-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", - "url": "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl" + "hash": "695f5c2823691a25f17bc5d5ffe79fa90972cc34b002ac6c843bb8a1720e950d", + "url": "https://files.pythonhosted.org/packages/16/50/478cdda782c8c9c3fb5da3cc72dd7f331f031e7f1363a893cdd6ca0f8de0/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", - "url": "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz" + "hash": "90ca27cd8da8118b18a52d5f547859cc1f8354a00cd1e8e5120df3e30d6279e5", + "url": "https://files.pythonhosted.org/packages/2e/3d/7fea3e8fe84136bebbac715dd1221cc25c173c57a699c030ab9b8900cbb7/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", - "url": "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" + "hash": "ac2393c73378fea4e52aa56285a3d64be50f1a12395afef9cce47772f60334c2", + "url": "https://files.pythonhosted.org/packages/44/d6/0c25979b92f8adafdbb946160348d8d44aa60ce99afdc27df524379875cb/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", - "url": "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl" + "hash": "0e28d62a8fc7a1fa411c43bd65e346f3bce9716dc51b897fbe930c5987b402d5", + "url": "https://files.pythonhosted.org/packages/4e/ef/79a463eb0fff7f96afa04c1d4c51f8fc85426f918db467854bfb6a569ce3/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", - "url": "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl" + "hash": "8e5a94886bedca0f9b78fecd6afb6629142fd2605aa70a125d49f4edc6037ee6", + "url": "https://files.pythonhosted.org/packages/57/8a/d6f7fd5cb96c58ef2f681424fbca01264461336d2a7fc875e4446b1f1346/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", - "url": "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + "hash": "836ab36280f21fc1a03c99cd05c6b7af70d2697e374c7af0b61ed271401a72a2", + "url": "https://files.pythonhosted.org/packages/6c/92/9934d1bbd69f7f398b38c5dae1cbf9cc672e7c34a4adf7b17c0a9c17d15d/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", - "url": "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "231d4da14bcd9301310faf492051bee27df11f2bc7549bc0bb41fef11b82daa2", + "url": "https://files.pythonhosted.org/packages/75/fc/cc2fcac943939c8e4d8791abfa139f685e5150cae9f94b60f12520feaa9b/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", - "url": "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6", + "url": "https://files.pythonhosted.org/packages/7b/60/e3bec1881450851b087e301bedc3daa9377a4d45f1c26aa90b0b235e38aa/charset_normalizer-3.4.6.tar.gz" }, { "algorithm": "sha256", - "hash": "b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", - "url": "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "a4ea868bc28109052790eb2b52a9ab33f3aa7adc02f96673526ff47419490e21", + "url": "https://files.pythonhosted.org/packages/a8/37/bdca6613c2e3c58c7421891d80cc3efa1d32e882f7c4a7ee6039c3fc951a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", - "url": "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl" + "hash": "a056d1ad2633548ca18ffa2f85c202cfb48b68615129143915b8dc72a806a923", + "url": "https://files.pythonhosted.org/packages/a8/b7/a4add1d9a5f68f3d037261aecca83abdb0ab15960a3591d340e829b37298/charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", - "url": "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "f1ce721c8a7dfec21fcbdfe04e8f68174183cf4e8188e0645e92aa23985c57ff", + "url": "https://files.pythonhosted.org/packages/af/90/25f6ab406659286be929fd89ab0e78e38aa183fc374e03aa3c12d730af8a/charset_normalizer-3.4.6-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", - "url": "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl" + "hash": "30f445ae60aad5e1f8bdbb3108e39f6fbc09f4ea16c815c66578878325f8f15a", + "url": "https://files.pythonhosted.org/packages/bf/18/c82b06a68bfcb6ce55e508225d210c7e6a4ea122bfc0748892f3dc4e8e11/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" }, { "algorithm": "sha256", - "hash": "af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", - "url": "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl" + "hash": "2ef7fedc7a6ecbe99969cd09632516738a97eeb8bd7258bf8a0f23114c057dab", + "url": "https://files.pythonhosted.org/packages/e5/62/c0815c992c9545347aeea7859b50dc9044d147e2e7278329c6e02ac9a616/charset_normalizer-3.4.6-cp312-cp312-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", - "url": "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl" + "hash": "530d548084c4a9f7a16ed4a294d459b4f229db50df689bfe92027452452943a0", + "url": "https://files.pythonhosted.org/packages/f7/72/d0426afec4b71dc159fa6b4e68f868cd5a3ecd918fec5813a15d292a7d10/charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_armv7l.whl" } ], "project_name": "charset-normalizer", "requires_dists": [], "requires_python": ">=3.7", - "version": "3.4.4" + "version": "3.4.6" }, { "artifacts": [ @@ -512,24 +537,28 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8b586a31f9d873abd1ca527ffbe58863c99f36d896e2829779803125e83be4b6", - "url": "https://files.pythonhosted.org/packages/31/28/d28211d29bcc3620b1fece85a65ce5bb22f18670a03cd28ea4b75ede270c/configargparse-1.7.1-py3-none-any.whl" + "hash": "1e63fdffedf94da9cd435fc13a1cd24777e76879dd2343912c1f871d4ac8c592", + "url": "https://files.pythonhosted.org/packages/fe/19/3ba5e1b0bcc7b91aeab6c258afd70e4907d220fed3972febe38feb40db30/configargparse-1.7.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "79c2ddae836a1e5914b71d58e4b9adbd9f7779d4e6351a637b7d2d9b6c46d3d9", - "url": "https://files.pythonhosted.org/packages/85/4d/6c9ef746dfcc2a32e26f3860bb4a011c008c392b83eabdfb598d1a8bbe5d/configargparse-1.7.1.tar.gz" + "hash": "e3f9a7bb6be34d66b2e3c4a2f58e3045f8dfae47b0dc039f87bcfaa0f193fb0f", + "url": "https://files.pythonhosted.org/packages/3f/0b/30328302903c55218ffc5199646d0e9d28348ff26c02ba77b2ffc58d294a/configargparse-1.7.5.tar.gz" } ], "project_name": "configargparse", "requires_dists": [ "PyYAML; extra == \"test\"", "PyYAML; extra == \"yaml\"", + "black; extra == \"test\"", "mock; extra == \"test\"", - "pytest; extra == \"test\"" + "pytest-cov; extra == \"test\"", + "pytest-subtests; extra == \"test\"", + "pytest; extra == \"test\"", + "toml; extra == \"test\"" ], "requires_python": ">=3.6", - "version": "1.7.1" + "version": "1.7.5" }, { "artifacts": [ @@ -634,81 +663,81 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "06a1317097f540d3bb6c7b81ed58a0d8b9dbfa97abf39dfd4c22ee87a6c7241e", - "url": "https://files.pythonhosted.org/packages/e5/41/54fd429ff8147475fc24ca43246f85d78fb4e747c27f227e68f1594648f1/cython-3.2.3-py3-none-any.whl" + "hash": "732fc93bc33ae4b14f6afaca663b916c2fdd5dcbfad7114e17fb2434eeaea45c", + "url": "https://files.pythonhosted.org/packages/ff/fa/d3c15189f7c52aaefbaea76fb012119b04b9013f4bf446cb4eb4c26c4e6b/cython-3.2.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d1f8700ba89c977438744f083890d87187f15709507a5489e0f6d682053b7fa0", - "url": "https://files.pythonhosted.org/packages/29/ad/15da606d71f40bcf2c405f84ca3d4195cb252f4eaa2f551fe6b2e630ee7c/cython-3.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "869487ea41d004f8b92171f42271fbfadb1ec03bede3158705d16cd570d6b891", + "url": "https://files.pythonhosted.org/packages/03/1c/46e34b08bea19a1cdd1e938a4c123e6299241074642db9d81983cef95e9f/cython-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f13832412d633376ffc08d751cc18ed0d7d00a398a4065e2871db505258748a6", - "url": "https://files.pythonhosted.org/packages/39/e1/c0d92b1258722e1bc62a12e630c33f1f842fdab53fd8cd5de2f75c6449a9/cython-3.2.3.tar.gz" + "hash": "36bf3f5eb56d5281aafabecbaa6ed288bc11db87547bba4e1e52943ae6961ccf", + "url": "https://files.pythonhosted.org/packages/0a/8b/fd393f0923c82be4ec0db712fffb2ff0a7a131707b842c99bf24b549274d/cython-3.2.4-cp39-abi3-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "74f482da8b605c61b4df6ff716d013f20131949cb2fa59b03e63abd36ef5bac0", - "url": "https://files.pythonhosted.org/packages/43/49/afe1e3df87a770861cf17ba39f4a91f6d22a2571010fc1890b3708360630/cython-3.2.3-cp39-abi3-macosx_10_9_x86_64.whl" + "hash": "55b6c44cd30821f0b25220ceba6fe636ede48981d2a41b9bbfe3c7902ce44ea7", + "url": "https://files.pythonhosted.org/packages/12/33/3298a44d201c45bcf0d769659725ae70e9c6c42adf8032f6d89c8241098d/cython-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c2365a0c79ab9c0fa86d30a4a6ba7e37fc1be9537c48b79b9d63ee7e08bf2fef", - "url": "https://files.pythonhosted.org/packages/51/0e/1a071381923e896f751f8fbff2a01c5dc8860a8b9a90066f6ec8df561dc4/cython-3.2.3-cp39-abi3-musllinux_1_2_armv7l.whl" + "hash": "3b6e58f73a69230218d5381817850ce6d0da5bb7e87eb7d528c7027cbba40b06", + "url": "https://files.pythonhosted.org/packages/5e/91/4865fbfef1f6bb4f21d79c46104a53d1a3fa4348286237e15eafb26e0828/cython-3.2.4-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" }, { "algorithm": "sha256", - "hash": "3829f99d611412288f44ff543e9d2b5c0c83274998b2a6680bbe5cca3539c1fd", - "url": "https://files.pythonhosted.org/packages/69/16/d254359396c2f099ab154f89b2b35f5b8b0dd21a8102c2c96a7e00291434/cython-3.2.3-cp39-abi3-musllinux_1_2_aarch64.whl" + "hash": "6d5267f22b6451eb1e2e1b88f6f78a2c9c8733a6ddefd4520d3968d26b824581", + "url": "https://files.pythonhosted.org/packages/73/48/48530d9b9d64ec11dbe0dd3178a5fe1e0b27977c1054ecffb82be81e9b6a/cython-3.2.4-cp39-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "6b01b36c9eb1b68c25bddbeef7379f7bfc37f7c9afc044e71840ffab761a2dd0", - "url": "https://files.pythonhosted.org/packages/95/14/af02ba6e2e03279f2ca2956e3024a44faed4c8496bda8170b663dc3ba6e8/cython-3.2.3-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl" + "hash": "31a90b4a2c47bb6d56baeb926948348ec968e932c1ae2c53239164e3e8880ccf", + "url": "https://files.pythonhosted.org/packages/86/70/03dc3c962cde9da37a93cca8360e576f904d5f9beecfc9d70b1f820d2e5f/cython-3.2.4-cp39-abi3-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "cf210228c15b5c625824d8e31d43b6fea25f9e13c81dac632f2f7d838e0229a5", - "url": "https://files.pythonhosted.org/packages/b4/14/d16282d17c9eb2f78ca9ccd5801fed22f6c3360f5a55dbcce3c93cc70352/cython-3.2.3-cp312-cp312-macosx_11_0_arm64.whl" + "hash": "28b1e363b024c4b8dcf52ff68125e635cb9cb4b0ba997d628f25e32543a71103", + "url": "https://files.pythonhosted.org/packages/8d/30/7c24d9292650db4abebce98abc9b49c820d40fa7c87921c0a84c32f4efe7/cython-3.2.4-cp39-abi3-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "0a75a04688875b275a6c875565e672325bae04327dd6ec2fc25aeb5c6cf82fce", - "url": "https://files.pythonhosted.org/packages/c7/da/044f725a083e28fb4de5bd33d13ec13f0753734b6ae52d4bc07434610cc8/cython-3.2.3-cp39-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "64d7f71be3dd6d6d4a4c575bb3a4674ea06d1e1e5e4cd1b9882a2bc40ed3c4c9", + "url": "https://files.pythonhosted.org/packages/91/4d/1eb0c7c196a136b1926f4d7f0492a96c6fabd604d77e6cd43b56a3a16d83/cython-3.2.4-cp312-cp312-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "f5bf0cebeb4147e172a114437d3fce5a507595d8fdd821be792b1bb25c691514", - "url": "https://files.pythonhosted.org/packages/d0/3c/46304a942dac5a636701c55f5b05ec00ad151e6722cd068fe3d0993349bb/cython-3.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "84226ecd313b233da27dc2eb3601b4f222b8209c3a7216d8733b031da1dc64e6", + "url": "https://files.pythonhosted.org/packages/91/85/7574c9cd44b69a27210444b6650f6477f56c75fee1b70d7672d3e4166167/cython-3.2.4.tar.gz" }, { "algorithm": "sha256", - "hash": "9a24cc653fad3adbd9cbaa638d80df3aa08a1fe27f62eb35850971c70be680df", - "url": "https://files.pythonhosted.org/packages/d4/ae/c284b06ae6a9c95d5883bf8744d10466cf0df64cef041a4c80ccf9fd07bd/cython-3.2.3-cp39-abi3-musllinux_1_2_x86_64.whl" + "hash": "e65e4773021f8dc8532010b4fbebe782c77f9a0817e93886e518c93bd6a44e9d", + "url": "https://files.pythonhosted.org/packages/b1/97/10b50c38313c37b1300325e2e53f48ea9a2c078a85c0c9572057135e31d5/cython-3.2.4-cp39-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3141734fb15f8b5e9402b9240f8da8336edecae91742b41c85678c31ab68f66d", - "url": "https://files.pythonhosted.org/packages/f4/46/1e93e10766db988e6bb8e5c6f7e2e90b9e62f1ac8dee4c1a6cf1fc170773/cython-3.2.3-cp39-abi3-musllinux_1_2_i686.whl" + "hash": "e71efb20048358a6b8ec604a0532961c50c067b5e63e345e2e359fff72feaee8", + "url": "https://files.pythonhosted.org/packages/fa/39/60317957dbef179572398253f29d28f75f94ab82d6d39ea3237fb6c89268/cython-3.2.4-cp39-abi3-musllinux_1_2_aarch64.whl" } ], "project_name": "cython", "requires_dists": [], "requires_python": ">=3.8", - "version": "3.2.3" + "version": "3.2.4" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "8f52415977f7490492dd8a3872279160be8ff253ca9f4d49a4e3ba747fa4bd91", - "url": "https://files.pythonhosted.org/packages/cb/cf/a4853e5b2b2bea55ae909095a8720b3ed50d07bdd40cbeafcedb5a6c47da/dash-3.3.0-py3-none-any.whl" + "hash": "e36b4b4eae9e1fa4136bf4f1450ed14ef76063bc5da0b10f8ab07bd57a7cb1ab", + "url": "https://files.pythonhosted.org/packages/0b/8c/dd63d210b28a7589f4bc1e84880525368147425c717d12834ab562f52d14/dash-4.0.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "eaaa7a671540b5e1db8066f4966d0277d21edc2c7acdaec2fd6d198366a8b0df", - "url": "https://files.pythonhosted.org/packages/e2/f9/516671861cf190bda37f6afa696d8a6a6ac593f23d8cf198e16faca044f5/dash-3.3.0.tar.gz" + "hash": "c5f2bca497af288f552aea3ae208f6a0cca472559003dac84ac21187a1c3a142", + "url": "https://files.pythonhosted.org/packages/20/dd/3aed9bfd81dfd8f44b3a5db0583080ac9470d5e92ee134982bd5c69e286e/dash-4.0.0.tar.gz" } ], "project_name": "dash", @@ -755,7 +784,7 @@ "pyright==1.1.398; python_version >= \"3.7\" and extra == \"ci\"", "pytest-mock; extra == \"ci\"", "pytest-rerunfailures; extra == \"ci\"", - "pytest-sugar==0.9.6; extra == \"ci\"", + "pytest-sugar==1.1.1; extra == \"ci\"", "pytest>=6.0.2; extra == \"testing\"", "pyzmq>=26.0.0; extra == \"ci\"", "redis<=5.0.4,>=3.5.3; extra == \"celery\"", @@ -769,7 +798,7 @@ "xlrd>=2.0.1; extra == \"ci\"" ], "requires_python": ">=3.8", - "version": "3.3.0" + "version": "4.0.0" }, { "artifacts": [ @@ -943,13 +972,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ca1d8112ec8a6158cc29ea4858963350011b5c846a414cdb7a954aa9e967d03c", - "url": "https://files.pythonhosted.org/packages/ec/f9/7f9263c5695f4bd0023734af91bedb2ff8209e8de6ead162f35d8dc762fd/flask-3.1.2-py3-none-any.whl" + "hash": "f4bcbefc124291925f1a26446da31a5178f9483862233b23c0c96a20701f670c", + "url": "https://files.pythonhosted.org/packages/7f/9c/34f6962f9b9e9c71f6e5ed806e0d0ff03c9d1b0b2340088a0cf4bce09b18/flask-3.1.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "bf656c15c80190ed628ad08cdfd3aaa35beb087855e2f494910aa3774cc4fd87", - "url": "https://files.pythonhosted.org/packages/dc/6d/cfe3c0fcc5e477df242b98bfe186a4c34357b4847e87ecaef04507332dab/flask-3.1.2.tar.gz" + "hash": "0ef0e52b8a9cd932855379197dd8f94047b359ca0a78695144304cb45f87c9eb", + "url": "https://files.pythonhosted.org/packages/26/00/35d85dcce6c57fdc871f3867d465d780f302a175ea360f62533f12b27e2b/flask-3.1.3.tar.gz" } ], "project_name": "flask", @@ -965,7 +994,7 @@ "werkzeug>=3.1.0" ], "requires_python": ">=3.9", - "version": "3.1.2" + "version": "3.1.3" }, { "artifacts": [ @@ -1012,43 +1041,43 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "17d2bf5d541add43822bcf0c43d7d847b160c9bb01d15d5007d84e2217aaa371", - "url": "https://files.pythonhosted.org/packages/c7/4e/ce75a57ff3aebf6fc1f4e9d508b8e5810618a33d900ad6c19eb30b290b97/fonttools-4.61.1-py3-none-any.whl" + "hash": "7487782e2113861f4ddcc07c3436450659e3caa5e470b27dc2177cade2d8e7fd", + "url": "https://files.pythonhosted.org/packages/fd/ba/56147c165442cc5ba7e82ecf301c9a68353cede498185869e6e02b4c264f/fonttools-4.62.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "e6bcdf33aec38d16508ce61fd81838f24c83c90a1d1b8c68982857038673d6b8", - "url": "https://files.pythonhosted.org/packages/14/e8/7424ced75473983b964d09f6747fa09f054a6d656f60e9ac9324cf40c743/fonttools-4.61.1-cp312-cp312-musllinux_1_2_aarch64.whl" + "hash": "19177c8d96c7c36359266e571c5173bcee9157b59cfc8cb0153c5673dc5a3a7d", + "url": "https://files.pythonhosted.org/packages/29/0b/5cbef6588dc9bd6b5c9ad6a4d5a8ca384d0cea089da31711bbeb4f9654a6/fonttools-4.62.1-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "15acc09befd16a0fb8a8f62bc147e1a82817542d72184acca9ce6e0aeda9fa6d", - "url": "https://files.pythonhosted.org/packages/6c/44/f3aeac0fa98e7ad527f479e161aca6c3a1e47bb6996b053d45226fe37bf2/fonttools-4.61.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "90365821debbd7db678809c7491ca4acd1e0779b9624cdc6ddaf1f31992bf974", + "url": "https://files.pythonhosted.org/packages/47/d4/dbacced3953544b9a93088cc10ef2b596d348c983d5c67a404fa41ec51ba/fonttools-4.62.1-cp312-cp312-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "f3cb4a569029b9f291f88aafc927dd53683757e640081ca8c412781ea144565e", - "url": "https://files.pythonhosted.org/packages/6f/16/7decaa24a1bd3a70c607b2e29f0adc6159f36a7e40eaba59846414765fd4/fonttools-4.61.1-cp312-cp312-macosx_10_13_universal2.whl" + "hash": "12859ff0b47dd20f110804c3e0d0970f7b832f561630cd879969011541a464a9", + "url": "https://files.pythonhosted.org/packages/66/9e/a769c8e99b81e5a87ab7e5e7236684de4e96246aae17274e5347d11ebd78/fonttools-4.62.1-cp312-cp312-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "41a7170d042e8c0024703ed13b71893519a1a6d6e18e933e3ec7507a2c26a4b2", - "url": "https://files.pythonhosted.org/packages/94/98/3c4cb97c64713a8cf499b3245c3bf9a2b8fd16a3e375feff2aed78f96259/fonttools-4.61.1-cp312-cp312-macosx_10_13_x86_64.whl" + "hash": "9c125ffa00c3d9003cdaaf7f2c79e6e535628093e14b5de1dccb08859b680936", + "url": "https://files.pythonhosted.org/packages/69/64/f19a9e3911968c37e1e620e14dfc5778299e1474f72f4e57c5ec771d9489/fonttools-4.62.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "10d88e55330e092940584774ee5e8a6971b01fc2f4d3466a1d6c158230880796", - "url": "https://files.pythonhosted.org/packages/b7/37/82dbef0f6342eb01f54bca073ac1498433d6ce71e50c3c3282b655733b31/fonttools-4.61.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl" + "hash": "e54c75fd6041f1122476776880f7c3c3295ffa31962dc6ebe2543c00dca58b5d", + "url": "https://files.pythonhosted.org/packages/9a/08/7012b00a9a5874311b639c3920270c36ee0c445b69d9989a85e5c92ebcb0/fonttools-4.62.1.tar.gz" }, { "algorithm": "sha256", - "hash": "5fade934607a523614726119164ff621e8c30e8fa1ffffbbd358662056ba69f0", - "url": "https://files.pythonhosted.org/packages/c8/8b/6391b257fa3d0b553d73e778f953a2f0154292a7a7a085e2374b111e5410/fonttools-4.61.1-cp312-cp312-musllinux_1_2_x86_64.whl" + "hash": "149f7d84afca659d1a97e39a4778794a2f83bf344c5ee5134e09995086cc2392", + "url": "https://files.pythonhosted.org/packages/9b/8a/99c8b3c3888c5c474c08dbfd7c8899786de9604b727fcefb055b42c84bba/fonttools-4.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6675329885c44657f826ef01d9e4fb33b9158e9d93c537d84ad8399539bc6f69", - "url": "https://files.pythonhosted.org/packages/ec/ca/cf17b88a8df95691275a3d77dc0a5ad9907f328ae53acbe6795da1b2f5ed/fonttools-4.61.1.tar.gz" + "hash": "0aa72c43a601cfa9273bb1ae0518f1acadc01ee181a6fc60cd758d7fdadffc04", + "url": "https://files.pythonhosted.org/packages/d1/c6/0f904540d3e6ab463c1243a0d803504826a11604c72dd58c2949796a1762/fonttools-4.62.1-cp312-cp312-musllinux_1_2_aarch64.whl" } ], "project_name": "fonttools", @@ -1083,7 +1112,7 @@ "zopfli>=0.1.4; extra == \"woff\"" ], "requires_python": ">=3.10", - "version": "4.61.1" + "version": "4.62.1" }, { "artifacts": [ @@ -1186,13 +1215,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ad9adfb20335d718c03de457358ed69f141021a333c40a53e57273d8a5bd0b9b", - "url": "https://files.pythonhosted.org/packages/fb/fe/301e0936b79bcab4cacc7548bf2853fc28dced0a578bab1f7ef53c9aa75b/imageio-2.37.2-py3-none-any.whl" + "hash": "46f5bb8522cd421c0f5ae104d8268f569d856b29eb1a13b92829d1970f32c9f0", + "url": "https://files.pythonhosted.org/packages/49/fa/391e437a34e55095173dca5f24070d89cbc233ff85bf1c29c93248c6588d/imageio-2.37.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0212ef2727ac9caa5ca4b2c75ae89454312f440a756fcfc8ef1993e718f50f8a", - "url": "https://files.pythonhosted.org/packages/a3/6f/606be632e37bf8d05b253e8626c2291d74c691ddc7bcdf7d6aaf33b32f6a/imageio-2.37.2.tar.gz" + "hash": "bbb37efbfc4c400fcd534b367b91fcd66d5da639aaa138034431a1c5e0a41451", + "url": "https://files.pythonhosted.org/packages/b1/84/93bcd1300216ea50811cee96873b84a1bebf8d0489ffaf7f2a3756bab866/imageio-2.37.3.tar.gz" } ], "project_name": "imageio", @@ -1254,48 +1283,47 @@ "tifffile; extra == \"full\"", "tifffile; extra == \"tifffile\"" ], - "requires_python": ">=3.9", - "version": "2.37.2" + "requires_python": ">=3.10", + "version": "2.37.3" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", - "url": "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl" + "hash": "5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", + "url": "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", - "url": "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz" + "hash": "49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", + "url": "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz" } ], "project_name": "importlib-metadata", "requires_dists": [ "flufl.flake8; extra == \"test\"", "furo; extra == \"doc\"", - "importlib_resources>=1.3; python_version < \"3.9\" and extra == \"test\"", "ipython; extra == \"perf\"", "jaraco.packaging>=9.3; extra == \"doc\"", "jaraco.test>=5.4; extra == \"test\"", "jaraco.tidelift>=1.4; extra == \"doc\"", + "mypy<1.19; platform_python_implementation == \"PyPy\" and extra == \"type\"", "packaging; extra == \"test\"", "pyfakefs; extra == \"test\"", "pytest!=8.1.*,>=6; extra == \"test\"", "pytest-checkdocs>=2.4; extra == \"check\"", "pytest-cov; extra == \"cover\"", - "pytest-enabler>=2.2; extra == \"enabler\"", - "pytest-mypy; extra == \"type\"", + "pytest-enabler>=3.4; extra == \"enabler\"", + "pytest-mypy>=1.0.1; extra == \"type\"", "pytest-perf>=0.9.2; extra == \"test\"", "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"check\"", "rst.linker>=1.9; extra == \"doc\"", "sphinx-lint; extra == \"doc\"", "sphinx>=3.5; extra == \"doc\"", - "typing-extensions>=3.6.4; python_version < \"3.8\"", "zipp>=3.20" ], "requires_python": ">=3.9", - "version": "8.7.0" + "version": "8.7.1" }, { "artifacts": [ @@ -1319,59 +1347,60 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ebe6d1d58d7d988fbf23ff8ff6d8e1622cfdb194daf4b7b73b792c4ec3b85385", - "url": "https://files.pythonhosted.org/packages/f1/df/8ee1c5dd1e3308b5d5b2f2dfea323bb2f3827da8d654abb6642051199049/ipython-9.8.0-py3-none-any.whl" + "hash": "6922d5bcf944c6e525a76a0a304451b60a2b6f875e86656d8bc2dfda5d710e19", + "url": "https://files.pythonhosted.org/packages/b2/90/45c72becc57158facc6a6404f663b77bbcea2519ca57f760e2879ae1315d/ipython-9.11.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8e4ce129a627eb9dd221c41b1d2cdaed4ef7c9da8c17c63f6f578fe231141f83", - "url": "https://files.pythonhosted.org/packages/12/51/a703c030f4928646d390b4971af4938a1b10c9dfce694f0d99a0bb073cb2/ipython-9.8.0.tar.gz" + "hash": "2a94bc4406b22ecc7e4cb95b98450f3ea493a76bec8896cda11b78d7752a6667", + "url": "https://files.pythonhosted.org/packages/86/28/a4698eda5a8928a45d6b693578b135b753e14fa1c2b36ee9441e69a45576/ipython-9.11.0.tar.gz" } ], "project_name": "ipython", "requires_dists": [ + "argcomplete>=3.0; extra == \"all\"", "black; extra == \"black\"", "colorama>=0.4.4; sys_platform == \"win32\"", "curio; extra == \"test-extra\"", - "decorator>=4.3.2", + "decorator>=5.1.0", "docrepr; extra == \"doc\"", "exceptiongroup; extra == \"doc\"", "intersphinx_registry; extra == \"doc\"", "ipykernel; extra == \"doc\"", "ipykernel>6.30; extra == \"test-extra\"", "ipython-pygments-lexers>=1.0.0", - "ipython[doc,matplotlib,test,test_extra]; extra == \"all\"", + "ipython[doc,matplotlib,terminal,test,test_extra]; extra == \"all\"", "ipython[matplotlib,test]; extra == \"doc\"", "ipython[matplotlib]; extra == \"test-extra\"", "ipython[test]; extra == \"test-extra\"", - "jedi>=0.18.1", + "jedi>=0.18.2", "jupyter_ai; extra == \"test-extra\"", - "matplotlib-inline>=0.1.5", + "matplotlib-inline>=0.1.6", "matplotlib>3.9; extra == \"matplotlib\"", "nbclient; extra == \"test-extra\"", "nbformat; extra == \"test-extra\"", - "numpy>=1.27; extra == \"test-extra\"", - "packaging>=20.1.0; extra == \"test\"", + "numpy>=2.0; extra == \"test-extra\"", + "packaging>=23.0.0; extra == \"test\"", "pandas>2.1; extra == \"test-extra\"", - "pexpect>4.3; sys_platform != \"win32\" and sys_platform != \"emscripten\"", + "pexpect>4.6; sys_platform != \"win32\" and sys_platform != \"emscripten\"", "prompt_toolkit<3.1.0,>=3.0.41", - "pygments>=2.11.0", + "pygments>=2.14.0", "pytest-asyncio>=1.0.0; extra == \"test\"", "pytest>=7.0.0; extra == \"test\"", - "setuptools>=61.2; extra == \"test\"", - "setuptools>=70.0; extra == \"doc\"", + "setuptools>=80.0; extra == \"doc\"", + "setuptools>=80.0; extra == \"test\"", "sphinx-rtd-theme>=0.1.8; extra == \"doc\"", "sphinx>=8.0; extra == \"doc\"", "sphinx_toml==0.0.4; extra == \"doc\"", "stack_data>=0.6.0", "testpath>=0.2; extra == \"test\"", "traitlets>=5.13.0", - "trio>=0.1.0; extra == \"test-extra\"", - "typing_extensions; extra == \"doc\"", - "typing_extensions>=4.6; python_version < \"3.12\"" + "trio>=0.22.0; extra == \"test-extra\"", + "types-decorator; extra == \"all\"", + "typing_extensions; extra == \"doc\"" ], - "requires_python": ">=3.11", - "version": "9.8.0" + "requires_python": ">=3.12", + "version": "9.11.0" }, { "artifacts": [ @@ -1518,31 +1547,31 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4e1f0bdbb987e6d843c70cf43714cb276623def372df3c22fe5266b2670bc241", - "url": "https://files.pythonhosted.org/packages/1e/e8/685f47e0d754320684db4425a0967f7d3fa70126bffd76110b7009a0090f/joblib-1.5.2-py3-none-any.whl" + "hash": "5fc3c5039fc5ca8c0276333a188bbd59d6b7ab37fe6632daa76bc7f9ec18e713", + "url": "https://files.pythonhosted.org/packages/7b/91/984aca2ec129e2757d1e4e3c81c3fcda9d0f85b74670a094cc443d9ee949/joblib-1.5.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "3faa5c39054b2f03ca547da9b2f52fde67c06240c31853f306aea97f13647b55", - "url": "https://files.pythonhosted.org/packages/e8/5d/447af5ea094b9e4c4054f82e223ada074c552335b9b4b2d14bd9b35a67c4/joblib-1.5.2.tar.gz" + "hash": "8561a3269e6801106863fd0d6d84bb737be9e7631e33aaed3fb9ce5953688da3", + "url": "https://files.pythonhosted.org/packages/41/f2/d34e8b3a08a9cc79a50b2208a93dce981fe615b64d5a4d4abee421d898df/joblib-1.5.3.tar.gz" } ], "project_name": "joblib", "requires_dists": [], "requires_python": ">=3.9", - "version": "1.5.2" + "version": "1.5.3" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", - "url": "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl" + "hash": "6b916866aa0b61437785f1277aa2cbd63512e8d4b47151072ef13292049b4627", + "url": "https://files.pythonhosted.org/packages/85/7f/ea48ffb58f9791f9d97ccb35e42fea1ebc81c67ce36dc4b8b2eee60e8661/jsonschema-4.24.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", - "url": "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz" + "hash": "fe45a130cc7f67cd0d67640b4e7e3e2e666919462ae355eda238296eafeb4b5d", + "url": "https://files.pythonhosted.org/packages/f1/6e/35174c1d3f30560848c82d3c233c01420e047d70925c897a4d6e932b4898/jsonschema-4.24.1.tar.gz" } ], "project_name": "jsonschema", @@ -1561,7 +1590,6 @@ "rfc3339-validator; extra == \"format\"", "rfc3339-validator; extra == \"format-nongpl\"", "rfc3986-validator>0.1.0; extra == \"format-nongpl\"", - "rfc3987-syntax>=1.1.0; extra == \"format-nongpl\"", "rfc3987; extra == \"format\"", "rpds-py>=0.7.1", "uri-template; extra == \"format\"", @@ -1570,30 +1598,30 @@ "webcolors>=24.6.0; extra == \"format-nongpl\"" ], "requires_python": ">=3.9", - "version": "4.25.1" + "version": "4.24.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "f502191fdc2b22050f9a81c9237be9d27145b9001c55842bece5e94e382e52f8", - "url": "https://files.pythonhosted.org/packages/cb/58/3485da8cb93d2f393bce453adeef16896751f14ba3e2024bc21dc9597646/jsonschema_path-0.3.4-py3-none-any.whl" + "hash": "7d77a2c3f3ec569a40efe5c5f942c44c1af2a6f96fe0866794c9ef5b8f87fd65", + "url": "https://files.pythonhosted.org/packages/04/d5/4e96c44f6c1ea3d812cf5391d81a4f5abaa540abf8d04ecd7f66e0ed11df/jsonschema_path-0.4.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8365356039f16cc65fddffafda5f58766e34bebab7d6d105616ab52bc4297001", - "url": "https://files.pythonhosted.org/packages/6e/45/41ebc679c2a4fced6a722f624c18d658dee42612b83ea24c1caf7c0eb3a8/jsonschema_path-0.3.4.tar.gz" + "hash": "c6cd7d577ae290c7defd4f4029e86fdb248ca1bd41a07557795b3c95e5144918", + "url": "https://files.pythonhosted.org/packages/5b/8a/7e6102f2b8bdc6705a9eb5294f8f6f9ccd3a8420e8e8e19671d1dd773251/jsonschema_path-0.4.5.tar.gz" } ], "project_name": "jsonschema-path", "requires_dists": [ "PyYAML>=5.1", - "pathable<0.5.0,>=0.4.1", - "referencing<0.37.0", - "requests<3.0.0,>=2.31.0" + "pathable<0.6.0,>=0.5.0", + "referencing<0.38.0", + "requests<3.0.0,>=2.31.0; extra == \"requests\"" ], - "requires_python": "<4.0.0,>=3.8.0", - "version": "0.3.4" + "requires_python": "<4.0.0,>=3.10", + "version": "0.4.5" }, { "artifacts": [ @@ -1669,69 +1697,79 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ed0fecd28cc62c54b262e3736f8bb2512d8dcfdc2bcf08be5f47f96bf405b145", - "url": "https://files.pythonhosted.org/packages/39/e9/61e4813b2c97e86b6fdbd4dd824bf72d28bcd8d4849b8084a357bc0dd64d/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_x86_64.whl" + "hash": "1d9daea4ea6b9be74fe2f01f7fbade8d6ffab263e781274cffca0dba9be9eec9", + "url": "https://files.pythonhosted.org/packages/e4/34/8aefdd0be9cfd00a44509251ba864f5caf2991e36772e61c408007e7f417/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "67bb8b474b4181770f926f7b7d2f8c0248cbcb78b660fdd41a47054b28d2a752", - "url": "https://files.pythonhosted.org/packages/12/42/f36816eaf465220f683fb711efdd1bbf7a7005a2473d0e4ed421389bd26c/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" + "hash": "6ab8ba9152203feec73758dad83af9a0bbe05001eb4639e547207c40cfb52083", + "url": "https://files.pythonhosted.org/packages/27/70/83241b6634b04fe44e892688d5208332bde130f38e610c0418f9ede47ded/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl" }, { "algorithm": "sha256", - "hash": "d8fc5c867c22b828001b6a38d2eaeb88160bf5783c6cb4a5e440efc981ce286d", - "url": "https://files.pythonhosted.org/packages/22/fd/f4c67a6ed1aab149ec5a8a401c323cee7a1cbe364381bb6c9c0d564e0e20/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_aarch64.whl" + "hash": "1465387ac63576c3e125e5337a6892b9e99e0627d52317f3ca79e6930d889d15", + "url": "https://files.pythonhosted.org/packages/3d/6f/79b0d760907965acfd9d61826a3d41f8f093c538f55cd2633d3f0db269f6/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "2327a4a30d3ee07d2fbe2e7933e8a37c591663b96ce42a00bc67461a87d7df77", - "url": "https://files.pythonhosted.org/packages/2e/64/bc2de94800adc830c476dce44e9b40fd0809cddeef1fde9fcf0f73da301f/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl" + "hash": "4e9750bc21b886308024f8a54ccb9a2cc38ac9fa813bf4348434e3d54f337ff9", + "url": "https://files.pythonhosted.org/packages/4d/b2/818b74ebea34dabe6d0c51cb1c572e046730e64844da6ed646d5298c40ce/kiwisolver-1.5.0-cp312-cp312-macosx_10_13_universal2.whl" }, { "algorithm": "sha256", - "hash": "3b3115b2581ea35bb6d1f24a4c90af37e5d9b49dcff267eeed14c3893c5b86ab", - "url": "https://files.pythonhosted.org/packages/45/aa/76720bd4cb3713314677d9ec94dcc21ced3f1baf4830adde5bb9b2430a5f/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_ppc64le.whl" + "hash": "ed3a984b31da7481b103f68776f7128a89ef26ed40f4dc41a2223cda7fb24819", + "url": "https://files.pythonhosted.org/packages/99/9f/795fedf35634f746151ca8839d05681ceb6287fbed6cc1c9bf235f7887c2/kiwisolver-1.5.0-cp312-cp312-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "f2ba92255faa7309d06fe44c3a4a97efe1c8d640c2a79a5ef728b685762a6fd2", - "url": "https://files.pythonhosted.org/packages/51/ea/2ecf727927f103ffd1739271ca19c424d0e65ea473fbaeea1c014aea93f6/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_x86_64.whl" + "hash": "530a3fd64c87cffa844d4b6b9768774763d9caa299e9b75d8eca6a4423b31314", + "url": "https://files.pythonhosted.org/packages/ab/31/01d0537c41cb75a551a438c3c7a80d0c60d60b81f694dac83dd436aec0d0/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl" }, { "algorithm": "sha256", - "hash": "4a2899935e724dd1074cb568ce7ac0dce28b2cd6ab539c8e001a8578eb106d14", - "url": "https://files.pythonhosted.org/packages/5b/5a/51f5464373ce2aeb5194508298a508b6f21d3867f499556263c64c621914/kiwisolver-1.4.9-cp312-cp312-macosx_11_0_arm64.whl" + "hash": "72ec46b7eba5b395e0a7b63025490d3214c11013f4aacb4f5e8d6c3041829588", + "url": "https://files.pythonhosted.org/packages/bf/d9/405320f8077e8e1c5c4bd6adc45e1e6edf6d727b6da7f2e2533cf58bff71/kiwisolver-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d", - "url": "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz" + "hash": "e315e5ec90d88e140f57696ff85b484ff68bb311e36f2c414aa4286293e6dee0", + "url": "https://files.pythonhosted.org/packages/c1/43/0499cec932d935229b5543d073c2b87c9c22846aab48881e9d8d6e742a2d/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "7a08b491ec91b1d5053ac177afe5290adacf1f0f6307d771ccac5de30592d198", - "url": "https://files.pythonhosted.org/packages/5f/42/2dc82330a70aa8e55b6d395b11018045e58d0bb00834502bf11509f79091/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl" + "hash": "bb5136fb5352d3f422df33f0c879a1b0c204004324150cc3b5e3c4f310c9049f", + "url": "https://files.pythonhosted.org/packages/c4/13/680c54afe3e65767bed7ec1a15571e1a2f1257128733851ade24abcefbcc/kiwisolver-1.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f6008a4919fdbc0b0097089f67a1eb55d950ed7e90ce2cc3e640abadd2757a04", - "url": "https://files.pythonhosted.org/packages/70/90/6d240beb0f24b74371762873e9b7f499f1e02166a2d9c5801f4dbf8fa12e/kiwisolver-1.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "b2af221f268f5af85e776a73d62b0845fc8baf8ef0abfae79d29c77d0e776aaf", + "url": "https://files.pythonhosted.org/packages/c8/2f/cebfcdb60fd6a9b0f6b47a9337198bcbad6fbe15e68189b7011fd914911f/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "858e4c22fb075920b96a291928cb7dea5644e94c0ee4fcd5af7e865655e4ccf2", - "url": "https://files.pythonhosted.org/packages/80/19/d3ec0d9ab711242f56ae0dc2fc5d70e298bb4a1f9dfab44c027668c673a1/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_s390x.whl" + "hash": "d4193f3d9dc3f6f79aaed0e5637f45d98850ebf01f7ca20e69457f3e8946b66a", + "url": "https://files.pythonhosted.org/packages/d0/67/9c61eccb13f0bdca9307614e782fec49ffdde0f7a2314935d489fa93cd9c/kiwisolver-1.5.0.tar.gz" }, { "algorithm": "sha256", - "hash": "ac5a486ac389dddcc5bef4f365b6ae3ffff2c433324fb38dd35e3fab7c957999", - "url": "https://files.pythonhosted.org/packages/86/c9/13573a747838aeb1c76e3267620daa054f4152444d1f3d1a2324b78255b5/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_universal2.whl" + "hash": "cdee07c4d7f6d72008d3f73b9bf027f4e11550224c7c50d8df1ae4a37c1402a6", + "url": "https://files.pythonhosted.org/packages/e4/db/30ed226fb271ae1a6431fc0fe0edffb2efe23cadb01e798caeb9f2ceae8f/kiwisolver-1.5.0-cp312-cp312-manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "7c60d3c9b06fb23bd9c6139281ccbdc384297579ae037f08ae90c69f6845c0b1", + "url": "https://files.pythonhosted.org/packages/ec/bd/c314595208e4c9587652d50959ead9e461995389664e490f4dce7ff0f782/kiwisolver-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "b0f172dc8ffaccb8522d7c5d899de00133f2f1ca7b0a49b7da98e901de87bf2d", + "url": "https://files.pythonhosted.org/packages/f2/0d/9b782923aada3fafb1d6b84e13121954515c669b18af0c26e7d21f579855/kiwisolver-1.5.0-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl" } ], "project_name": "kiwisolver", "requires_dists": [], "requires_python": ">=3.10", - "version": "1.4.9" + "version": "1.5.0" }, { "artifacts": [ @@ -1760,8 +1798,8 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c3b2e0af1f7f77c4263759c4824316ce458fabe0fceadcd24ef8ca08b2d1e402", - "url": "https://files.pythonhosted.org/packages/41/a0/b91504515c1f9a299fc157967ffbd2f0321bce0516a3d5b89f6f4cad0355/lazy_object_proxy-1.12.0-pp39.pp310.pp311.graalpy311-none-any.whl" + "hash": "563d2ec8e4d4b68ee7848c5ab4d6057a6d703cb7963b342968bb8758dda33a23", + "url": "https://files.pythonhosted.org/packages/78/be/15f8f5a0b0b2e668e756a152257d26370132c97f2f1943329b08f057eff0/lazy_object_proxy-1.12.0-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", @@ -1787,11 +1825,6 @@ "algorithm": "sha256", "hash": "4ab2c584e3cc8be0dfca422e05ad30a9abe3555ce63e9ab7a559f62f8dbc6ff9", "url": "https://files.pythonhosted.org/packages/55/64/314889b618075c2bfc19293ffa9153ce880ac6153aacfd0a52fcabf21a66/lazy_object_proxy-1.12.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "563d2ec8e4d4b68ee7848c5ab4d6057a6d703cb7963b342968bb8758dda33a23", - "url": "https://files.pythonhosted.org/packages/78/be/15f8f5a0b0b2e668e756a152257d26370132c97f2f1943329b08f057eff0/lazy_object_proxy-1.12.0-cp312-cp312-musllinux_1_2_x86_64.whl" } ], "project_name": "lazy-object-proxy", @@ -2104,20 +2137,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "9b795523c179ca78204e3be53726da374168f906e38de2ff174c2363baaaf481", - "url": "https://files.pythonhosted.org/packages/87/0d/1861d1599571974b15b025e12b142d8e6b42ad66c8a07a89cb0fc21f1e03/narwhals-2.13.0-py3-none-any.whl" + "hash": "68378155ee706ac9c5b25868ef62ecddd62947b6df7801a0a156bc0a615d2d0d", + "url": "https://files.pythonhosted.org/packages/fe/75/0b4a10da17a44cf13567d08a9c7632a285297e46253263f1ae119129d10a/narwhals-2.18.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ee94c97f4cf7cfeebbeca8d274784df8b3d7fd3f955ce418af998d405576fdd9", - "url": "https://files.pythonhosted.org/packages/89/ea/f82ef99ced4d03c33bb314c9b84a08a0a86c448aaa11ffd6256b99538aa5/narwhals-2.13.0.tar.gz" + "hash": "1de5cee338bc17c338c6278df2c38c0dd4290499fcf70d75e0a51d5f22a6e960", + "url": "https://files.pythonhosted.org/packages/47/b4/02a8add181b8d2cd5da3b667cd102ae536e8c9572ab1a130816d70a89edb/narwhals-2.18.0.tar.gz" } ], "project_name": "narwhals", "requires_dists": [ - "cudf>=24.10.0; extra == \"cudf\"", + "cudf-cu12>=24.10.0; extra == \"cudf\"", "dask[dataframe]>=2024.8; extra == \"dask\"", "duckdb>=1.1; extra == \"duckdb\"", + "duckdb>=1.1; extra == \"sql\"", "ibis-framework>=6.0.0; extra == \"ibis\"", "modin; extra == \"modin\"", "packaging; extra == \"ibis\"", @@ -2128,10 +2162,11 @@ "pyspark>=3.5.0; extra == \"pyspark\"", "pyspark[connect]>=3.5.0; extra == \"pyspark-connect\"", "rich; extra == \"ibis\"", - "sqlframe!=3.39.3,>=3.22.0; extra == \"sqlframe\"" + "sqlframe!=3.39.3,>=3.22.0; extra == \"sqlframe\"", + "sqlparse; extra == \"sql\"" ], "requires_python": ">=3.9", - "version": "2.13.0" + "version": "2.18.0" }, { "artifacts": [ @@ -2376,47 +2411,52 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "f3b9870f4e556b5a62a1c39da72a6b4b16f3ad9c73dc80084b1b11e74ba148a3", - "url": "https://files.pythonhosted.org/packages/21/c6/ad0fba32775ae749016829dace42ed80f4407b171da41313d1a3a5f102e4/openapi_schema_validator-0.6.3-py3-none-any.whl" + "hash": "0f5859794c5bfa433d478dc5ac5e5768d50adc56b14380c8a6fd3a8113e89c9b", + "url": "https://files.pythonhosted.org/packages/6f/87/e9f29f463b230d4b47d65e17858c595153a8ca8c1775f16e406aa82d455d/openapi_schema_validator-0.8.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f37bace4fc2a5d96692f4f8b31dc0f8d7400fd04f3a937798eaf880d425de6ee", - "url": "https://files.pythonhosted.org/packages/8b/f3/5507ad3325169347cd8ced61c232ff3df70e2b250c49f0fe140edb4973c6/openapi_schema_validator-0.6.3.tar.gz" + "hash": "4c57266ce8cbfa37bb4eb4d62cdb7d19356c3a468e3535743c4562863e1790da", + "url": "https://files.pythonhosted.org/packages/21/4b/67b24b2b23d96ea862be2cca3632a546f67a22461200831213e80c3c6011/openapi_schema_validator-0.8.1.tar.gz" } ], "project_name": "openapi-schema-validator", "requires_dists": [ - "jsonschema-specifications>=2023.5.2", + "jsonschema-specifications>=2024.10.1", "jsonschema<5.0.0,>=4.19.1", + "pydantic-settings<3.0.0,>=2.0.0", + "pydantic<3.0.0,>=2.0.0", + "referencing<0.38.0,>=0.37.0", + "regress>=2025.10.1; extra == \"ecma-regex\"", "rfc3339-validator" ], - "requires_python": "<4.0.0,>=3.8.0", - "version": "0.6.3" + "requires_python": "<4.0.0,>=3.10.0", + "version": "0.8.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "4bbdc0894ec85f1d1bea1d6d9c8b2c3c8d7ccaa13577ef40da9c006c9fd0eb60", - "url": "https://files.pythonhosted.org/packages/27/dd/b3fd642260cb17532f66cc1e8250f3507d1e580483e209dc1e9d13bd980d/openapi_spec_validator-0.7.2-py3-none-any.whl" + "hash": "cf905117063d7c4d495c8a5a167a1f2a8006da6ffa8ba234a7ed0d0f11454d51", + "url": "https://files.pythonhosted.org/packages/cb/70/52310f9ece5f4eb02e0b31d538b51f729169517767a8d0100a25db31d67f/openapi_spec_validator-0.8.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "cc029309b5c5dbc7859df0372d55e9d1ff43e96d678b9ba087f7c56fc586f734", - "url": "https://files.pythonhosted.org/packages/82/af/fe2d7618d6eae6fb3a82766a44ed87cd8d6d82b4564ed1c7cfb0f6378e91/openapi_spec_validator-0.7.2.tar.gz" + "hash": "8bb324b9b08b9b368b1359dec14610c60a8f3a3dd63237184eb04456d4546f49", + "url": "https://files.pythonhosted.org/packages/10/de/0199b15f5dde3ca61df6e6b3987420bfd424db077998f0162e8ffe12e4f5/openapi_spec_validator-0.8.4.tar.gz" } ], "project_name": "openapi-spec-validator", "requires_dists": [ - "importlib-resources<7.0,>=5.8; python_version < \"3.9\"", - "jsonschema-path<0.4.0,>=0.3.1", - "jsonschema<5.0.0,>=4.18.0", - "lazy-object-proxy<2.0.0,>=1.7.1", - "openapi-schema-validator<0.7.0,>=0.6.0" + "jsonschema-path<0.5.0,>=0.4.3", + "jsonschema<4.25.0,>=4.24.0", + "lazy-object-proxy<2.0,>=1.7.1", + "openapi-schema-validator<0.9.0,>=0.7.3", + "pydantic-settings<3.0.0,>=2.0.0", + "pydantic<3.0.0,>=2.0.0" ], - "requires_python": "<4.0.0,>=3.8.0", - "version": "0.7.2" + "requires_python": "<4.0,>=3.10", + "version": "0.8.4" }, { "artifacts": [ @@ -2466,13 +2506,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "092280564456ea49e925a421a7f4584f936f0a443a67c21fbe09666d8d580dfb", - "url": "https://files.pythonhosted.org/packages/91/03/552f70192c14297eb6074b67912bb1dfcb4cdbe2ad7c9a4fdbd6e6fca70b/opencv_stubs-0.1.1-py3-none-any.whl" + "hash": "37074b00ede8ec9e2e2b0e77d02277841421606520327087580309e968e45bfc", + "url": "https://files.pythonhosted.org/packages/62/8b/6041723a40fedc5092bf39a91f0daa0410ebaa09763f07385a01871309bb/opencv_stubs-0.1.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "abc55ef2d694bcf7045eca56c82a380e488e7ce540cee35f905e630ba103266f", - "url": "https://files.pythonhosted.org/packages/db/41/92b964d8391689fd142f940c1d9f4ecf8eeac3290a26481e4c43bf175255/opencv_stubs-0.1.1.tar.gz" + "hash": "25b74af6bd7903340587e0fdc7d49ced0d159b56bbc598e5a58d5f3a01549e1c", + "url": "https://files.pythonhosted.org/packages/0b/f4/8cdf24683aae51ad94e443b2b8482a117d7ecf8d6663be8877ec490a73e9/opencv_stubs-0.1.3.tar.gz" } ], "project_name": "opencv-stubs", @@ -2482,80 +2522,80 @@ "opencv-python>=4.7.0; extra == \"opencv\"" ], "requires_python": ">=3.8", - "version": "0.1.1" + "version": "0.1.3" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "ddbfdb5099b3e6ba6d6ea818f61997bb66de14b411357d24c4612cf1ebad08ca", - "url": "https://files.pythonhosted.org/packages/f9/d4/f9ebc57182705bb4bbe63f5bbe14af43722a2533135e1d2fb7affa0c355d/orjson-3.11.5-cp312-cp312-musllinux_1_2_x86_64.whl" + "hash": "4682d1db3bcebd2b64757e0ddf9e87ae5f00d29d16c5cdf3a62f561d08cc3dd2", + "url": "https://files.pythonhosted.org/packages/0f/fe/d605d700c35dd55f51710d159fc54516a280923cd1b7e47508982fbb387d/orjson-3.11.7-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "82393ab47b4fe44ffd0a7659fa9cfaacc717eb617c93cde83795f14af5c2e9d5", - "url": "https://files.pythonhosted.org/packages/04/b8/333fdb27840f3bf04022d21b654a35f58e15407183aeb16f3b41aa053446/orjson-3.11.5.tar.gz" + "hash": "5ede977b5fe5ac91b1dffc0a517ca4542d2ec8a6a4ff7b2652d94f640796342a", + "url": "https://files.pythonhosted.org/packages/2c/83/10e48852865e5dd151bdfe652c06f7da484578ed02c5fca938e3632cb0b8/orjson-3.11.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "c74099c6b230d4261fdc3169d50efc09abf38ace1a42ea2f9994b1d79153d477", - "url": "https://files.pythonhosted.org/packages/46/bf/0993b5a056759ba65145effe3a79dd5a939d4a070eaa5da2ee3180fbb13f/orjson-3.11.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "3726be79e36e526e3d9c1aceaadbfb4a04ee80a72ab47b3f3c17fefb9812e7b8", + "url": "https://files.pythonhosted.org/packages/44/98/af32e842b0ffd2335c89714d48ca4e3917b42f5d6ee5537832e069a4b3ac/orjson-3.11.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "ed24250e55efbcb0b35bed7caaec8cedf858ab2f9f2201f17b8938c618c8ca6f", - "url": "https://files.pythonhosted.org/packages/52/8d/544e77d7a29d90cf4d9eecd0ae801c688e7f3d1adfa2ebae5e1e94d38ab9/orjson-3.11.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "9b1a67243945819ce55d24a30b59d6a168e86220452d2c96f4d1f093e71c0c49", + "url": "https://files.pythonhosted.org/packages/53/45/b268004f745ede84e5798b48ee12b05129d19235d0e15267aa57dcdb400b/orjson-3.11.7.tar.gz" }, { "algorithm": "sha256", - "hash": "ff770589960a86eae279f5d8aa536196ebda8273a2a07db2a54e82b93bc86626", - "url": "https://files.pythonhosted.org/packages/64/67/574a7732bd9d9d79ac620c8790b4cfe0717a3d5a6eb2b539e6e8995e24a0/orjson-3.11.5-cp312-cp312-macosx_15_0_arm64.whl" + "hash": "b9fc4d0f81f394689e0814617aadc4f2ea0e8025f38c226cbf22d3b5ddbf025d", + "url": "https://files.pythonhosted.org/packages/63/1a/50a3201c334a7f17c231eee5f841342190723794e3b06293f26e7cf87d31/orjson-3.11.7-cp312-cp312-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "e697d06ad57dd0c7a737771d470eedc18e68dfdefcdd3b7de7f33dfda5b6212e", - "url": "https://files.pythonhosted.org/packages/65/e8/83a6c95db3039e504eda60fc388f9faedbb4f6472f5aba7084e06552d9aa/orjson-3.11.5-cp312-cp312-musllinux_1_2_aarch64.whl" + "hash": "b7b1dae39230a393df353827c855a5f176271c23434cfd2db74e0e424e693e10", + "url": "https://files.pythonhosted.org/packages/6e/52/a66e22a2b9abaa374b4a081d410edab6d1e30024707b87eab7c734afe28d/orjson-3.11.7-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, { "algorithm": "sha256", - "hash": "a66d7769e98a08a12a139049aac2f0ca3adae989817f8c43337455fbc7669b85", - "url": "https://files.pythonhosted.org/packages/6e/57/b9f5b5b6fbff9c26f77e785baf56ae8460ef74acdb3eae4931c25b8f5ba9/orjson-3.11.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + "hash": "89e440ebc74ce8ab5c7bc4ce6757b4a6b1041becb127df818f6997b5c71aa60b", + "url": "https://files.pythonhosted.org/packages/79/53/6c72c002cb13b5a978a068add59b25a8bdf2800ac1c9c8ecdb26d6d97064/orjson-3.11.7-cp312-cp312-macosx_15_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "e08ca8a6c851e95aaecc32bc44a5aa75d0ad26af8cdac7c77e4ed93acf3d5b69", - "url": "https://files.pythonhosted.org/packages/b9/b4/24fdc024abfce31c2f6812973b0a693688037ece5dc64b7a60c1ce69e2f2/orjson-3.11.5-cp312-cp312-musllinux_1_2_armv7l.whl" + "hash": "bd03ea7606833655048dab1a00734a2875e3e86c276e1d772b2a02556f0d895f", + "url": "https://files.pythonhosted.org/packages/80/bf/76f4f1665f6983385938f0e2a5d7efa12a58171b8456c252f3bae8a4cf75/orjson-3.11.7-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "b29d36b60e606df01959c4b982729c8845c69d1963f88686608be9ced96dbfaa", - "url": "https://files.pythonhosted.org/packages/cb/aa/7c4818c8d7d324da220f4f1af55c343956003aa4d1ce1857bdc1d396ba69/orjson-3.11.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "849e38203e5be40b776ed2718e587faf204d184fc9a008ae441f9442320c0cab", + "url": "https://files.pythonhosted.org/packages/87/cd/8de1c67d0be44fdc22701e5989c0d015a2adf391498ad42c4dc589cd3013/orjson-3.11.7-cp312-cp312-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "e8b5f96c05fce7d0218df3fdfeb962d6b8cfff7e3e20264306b46dd8b217c0f3", - "url": "https://files.pythonhosted.org/packages/d9/37/01c0ec95d55ed0c11e4cae3e10427e479bba40c77312b63e1f9665e0737d/orjson-3.11.5-cp312-cp312-musllinux_1_2_i686.whl" + "hash": "0724e265bc548af1dedebd9cb3d24b4e1c1e685a343be43e87ba922a5c5fff2f", + "url": "https://files.pythonhosted.org/packages/96/0b/fc793858dfa54be6feee940c1463370ece34b3c39c1ca0aa3845f5ba9892/orjson-3.11.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "a230065027bc2a025e944f9d4714976a81e7ecfa940923283bca7bbc1f10f626", - "url": "https://files.pythonhosted.org/packages/e7/39/bc373b63cc0e117a105ea12e57280f83ae52fdee426890d57412432d63b3/orjson-3.11.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "e7745312efa9e11c17fbd3cb3097262d079da26930ae9ae7ba28fb738367cbad", + "url": "https://files.pythonhosted.org/packages/dc/91/98a52415059db3f374757d0b7f0f16e3b5cd5976c90d1c2b56acaea039e6/orjson-3.11.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "334e5b4bff9ad101237c2d799d9fd45737752929753bf4faf4b207335a416b7d", - "url": "https://files.pythonhosted.org/packages/ef/a4/8052a029029b096a78955eadd68ab594ce2197e24ec50e6b6d2ab3f4e33b/orjson-3.11.5-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "f904c24bdeabd4298f7a977ef14ca2a022ca921ed670b92ecd16ab6f3d01f867", + "url": "https://files.pythonhosted.org/packages/dc/b6/cb540117bda61791f46381f8c26c8f93e802892830a6055748d3bb1925ab/orjson-3.11.7-cp312-cp312-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "86cfc555bfd5794d24c6a1903e558b50644e5e68e6471d66502ce5cb5fdef3f9", - "url": "https://files.pythonhosted.org/packages/f6/6d/d34970bf9eb33f9ec7c979a262cad86076814859e54eb9a059a52f6dc13d/orjson-3.11.5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "ed46f17096e28fb28d2975834836a639af7278aa87c84f68ab08fbe5b8bd75fa", + "url": "https://files.pythonhosted.org/packages/de/38/605d371417021359f4910c496f764c48ceb8997605f8c25bf1dfe58c0ebe/orjson-3.11.7-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl" } ], "project_name": "orjson", "requires_dists": [], - "requires_python": ">=3.9", - "version": "3.11.5" + "requires_python": ">=3.10", + "version": "3.11.7" }, { "artifacts": [ @@ -2579,172 +2619,171 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084", - "url": "https://files.pythonhosted.org/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl" + "hash": "9d810036895f9ad6345b8f2a338dd6998a74e8483847403582cab67745bff821", + "url": "https://files.pythonhosted.org/packages/58/53/1d68fafb2e02d7881df66aa53be4cd748d25cbe311f3b3c85c93ea5d30ca/pandas-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", - "url": "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz" + "hash": "4186a699674af418f655dbd420ed87f50d56b4cd6603784279d9eef6627823c8", + "url": "https://files.pythonhosted.org/packages/2e/0c/b28ed414f080ee0ad153f848586d61d1878f91689950f037f976ce15f6c8/pandas-3.0.1.tar.gz" }, { "algorithm": "sha256", - "hash": "ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908", - "url": "https://files.pythonhosted.org/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" + "hash": "476f84f8c20c9f5bc47252b66b4bb25e1a9fc2fa98cead96744d8116cb85771d", + "url": "https://files.pythonhosted.org/packages/37/51/b467209c08dae2c624873d7491ea47d2b47336e5403309d433ea79c38571/pandas-3.0.1-cp312-cp312-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35", - "url": "https://files.pythonhosted.org/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl" + "hash": "532527a701281b9dd371e2f582ed9094f4c12dd9ffb82c0c54ee28d8ac9520c4", + "url": "https://files.pythonhosted.org/packages/3d/fe/89d77e424365280b79d99b3e1e7d606f5165af2f2ecfaf0c6d24c799d607/pandas-3.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53", - "url": "https://files.pythonhosted.org/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl" + "hash": "0ab749dfba921edf641d4036c4c21c0b3ea70fea478165cb98a998fb2a261955", + "url": "https://files.pythonhosted.org/packages/7c/f1/e2567ffc8951ab371db2e40b2fe068e36b81d8cf3260f06ae508700e5504/pandas-3.0.1-cp312-cp312-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98", - "url": "https://files.pythonhosted.org/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl" + "hash": "356e5c055ed9b0da1580d465657bc7d00635af4fd47f30afb23025352ba764d1", + "url": "https://files.pythonhosted.org/packages/b5/a6/2a75320849dd154a793f69c951db759aedb8d1dd3939eeacda9bdcfa1629/pandas-3.0.1-cp312-cp312-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89", - "url": "https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + "hash": "b8e36891080b87823aff3640c78649b91b8ff6eea3c0d70aeabd72ea43ab069b", + "url": "https://files.pythonhosted.org/packages/d7/39/327802e0b6d693182403c144edacbc27eb82907b57062f23ef5a4c4a5ea7/pandas-3.0.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl" } ], "project_name": "pandas", "requires_dists": [ "PyQt5>=5.15.9; extra == \"all\"", "PyQt5>=5.15.9; extra == \"clipboard\"", - "SQLAlchemy>=2.0.0; extra == \"all\"", - "SQLAlchemy>=2.0.0; extra == \"mysql\"", - "SQLAlchemy>=2.0.0; extra == \"postgresql\"", - "SQLAlchemy>=2.0.0; extra == \"sql-other\"", - "adbc-driver-postgresql>=0.8.0; extra == \"all\"", - "adbc-driver-postgresql>=0.8.0; extra == \"postgresql\"", - "adbc-driver-postgresql>=0.8.0; extra == \"sql-other\"", - "adbc-driver-sqlite>=0.8.0; extra == \"all\"", - "adbc-driver-sqlite>=0.8.0; extra == \"sql-other\"", - "beautifulsoup4>=4.11.2; extra == \"all\"", - "beautifulsoup4>=4.11.2; extra == \"html\"", - "bottleneck>=1.3.6; extra == \"all\"", - "bottleneck>=1.3.6; extra == \"performance\"", - "dataframe-api-compat>=0.1.7; extra == \"all\"", - "dataframe-api-compat>=0.1.7; extra == \"consortium-standard\"", - "fastparquet>=2022.12.0; extra == \"all\"", - "fsspec>=2022.11.0; extra == \"all\"", - "fsspec>=2022.11.0; extra == \"fss\"", - "gcsfs>=2022.11.0; extra == \"all\"", - "gcsfs>=2022.11.0; extra == \"gcp\"", + "SQLAlchemy>=2.0.36; extra == \"all\"", + "SQLAlchemy>=2.0.36; extra == \"mysql\"", + "SQLAlchemy>=2.0.36; extra == \"postgresql\"", + "SQLAlchemy>=2.0.36; extra == \"sql-other\"", + "adbc-driver-postgresql>=1.2.0; extra == \"all\"", + "adbc-driver-postgresql>=1.2.0; extra == \"postgresql\"", + "adbc-driver-postgresql>=1.2.0; extra == \"sql-other\"", + "adbc-driver-sqlite>=1.2.0; extra == \"all\"", + "adbc-driver-sqlite>=1.2.0; extra == \"sql-other\"", + "beautifulsoup4>=4.12.3; extra == \"all\"", + "beautifulsoup4>=4.12.3; extra == \"html\"", + "bottleneck>=1.4.2; extra == \"all\"", + "bottleneck>=1.4.2; extra == \"performance\"", + "fastparquet>=2024.11.0; extra == \"all\"", + "fsspec>=2024.10.0; extra == \"all\"", + "fsspec>=2024.10.0; extra == \"fss\"", + "gcsfs>=2024.10.0; extra == \"all\"", + "gcsfs>=2024.10.0; extra == \"gcp\"", "html5lib>=1.1; extra == \"all\"", "html5lib>=1.1; extra == \"html\"", - "hypothesis>=6.46.1; extra == \"all\"", - "hypothesis>=6.46.1; extra == \"test\"", - "jinja2>=3.1.2; extra == \"all\"", - "jinja2>=3.1.2; extra == \"output-formatting\"", - "lxml>=4.9.2; extra == \"all\"", - "lxml>=4.9.2; extra == \"html\"", - "lxml>=4.9.2; extra == \"xml\"", - "matplotlib>=3.6.3; extra == \"all\"", - "matplotlib>=3.6.3; extra == \"plot\"", - "numba>=0.56.4; extra == \"all\"", - "numba>=0.56.4; extra == \"performance\"", - "numexpr>=2.8.4; extra == \"all\"", - "numexpr>=2.8.4; extra == \"performance\"", - "numpy>=1.22.4; python_version < \"3.11\"", - "numpy>=1.23.2; python_version == \"3.11\"", - "numpy>=1.26.0; python_version >= \"3.12\"", + "hypothesis>=6.116.0; extra == \"all\"", + "hypothesis>=6.116.0; extra == \"test\"", + "jinja2>=3.1.5; extra == \"all\"", + "jinja2>=3.1.5; extra == \"output-formatting\"", + "lxml>=5.3.0; extra == \"all\"", + "lxml>=5.3.0; extra == \"html\"", + "lxml>=5.3.0; extra == \"xml\"", + "matplotlib>=3.9.3; extra == \"all\"", + "matplotlib>=3.9.3; extra == \"plot\"", + "numba>=0.60.0; extra == \"all\"", + "numba>=0.60.0; extra == \"performance\"", + "numexpr>=2.10.2; extra == \"all\"", + "numexpr>=2.10.2; extra == \"performance\"", + "numpy>=1.26.0; python_version < \"3.14\"", + "numpy>=2.3.3; python_version >= \"3.14\"", "odfpy>=1.4.1; extra == \"all\"", "odfpy>=1.4.1; extra == \"excel\"", - "openpyxl>=3.1.0; extra == \"all\"", - "openpyxl>=3.1.0; extra == \"excel\"", - "pandas-gbq>=0.19.0; extra == \"all\"", - "pandas-gbq>=0.19.0; extra == \"gcp\"", - "psycopg2>=2.9.6; extra == \"all\"", - "psycopg2>=2.9.6; extra == \"postgresql\"", - "pyarrow>=10.0.1; extra == \"all\"", - "pyarrow>=10.0.1; extra == \"feather\"", - "pyarrow>=10.0.1; extra == \"parquet\"", - "pyarrow>=10.0.1; extra == \"pyarrow\"", - "pymysql>=1.0.2; extra == \"all\"", - "pymysql>=1.0.2; extra == \"mysql\"", - "pyreadstat>=1.2.0; extra == \"all\"", - "pyreadstat>=1.2.0; extra == \"spss\"", - "pytest-xdist>=2.2.0; extra == \"all\"", - "pytest-xdist>=2.2.0; extra == \"test\"", - "pytest>=7.3.2; extra == \"all\"", - "pytest>=7.3.2; extra == \"test\"", - "python-calamine>=0.1.7; extra == \"all\"", - "python-calamine>=0.1.7; extra == \"excel\"", + "openpyxl>=3.1.5; extra == \"all\"", + "openpyxl>=3.1.5; extra == \"excel\"", + "psycopg2>=2.9.10; extra == \"all\"", + "psycopg2>=2.9.10; extra == \"postgresql\"", + "pyarrow>=13.0.0; extra == \"all\"", + "pyarrow>=13.0.0; extra == \"feather\"", + "pyarrow>=13.0.0; extra == \"parquet\"", + "pyarrow>=13.0.0; extra == \"pyarrow\"", + "pyiceberg>=0.8.1; extra == \"all\"", + "pyiceberg>=0.8.1; extra == \"iceberg\"", + "pymysql>=1.1.1; extra == \"all\"", + "pymysql>=1.1.1; extra == \"mysql\"", + "pyreadstat>=1.2.8; extra == \"all\"", + "pyreadstat>=1.2.8; extra == \"spss\"", + "pytest-xdist>=3.6.1; extra == \"all\"", + "pytest-xdist>=3.6.1; extra == \"test\"", + "pytest>=8.3.4; extra == \"all\"", + "pytest>=8.3.4; extra == \"test\"", + "python-calamine>=0.3.0; extra == \"all\"", + "python-calamine>=0.3.0; extra == \"excel\"", "python-dateutil>=2.8.2", - "pytz>=2020.1", + "pytz>=2024.2; extra == \"all\"", + "pytz>=2024.2; extra == \"timezone\"", "pyxlsb>=1.0.10; extra == \"all\"", "pyxlsb>=1.0.10; extra == \"excel\"", - "qtpy>=2.3.0; extra == \"all\"", - "qtpy>=2.3.0; extra == \"clipboard\"", - "s3fs>=2022.11.0; extra == \"all\"", - "s3fs>=2022.11.0; extra == \"aws\"", - "scipy>=1.10.0; extra == \"all\"", - "scipy>=1.10.0; extra == \"computation\"", - "tables>=3.8.0; extra == \"all\"", - "tables>=3.8.0; extra == \"hdf5\"", + "qtpy>=2.4.2; extra == \"all\"", + "qtpy>=2.4.2; extra == \"clipboard\"", + "s3fs>=2024.10.0; extra == \"all\"", + "s3fs>=2024.10.0; extra == \"aws\"", + "scipy>=1.14.1; extra == \"all\"", + "scipy>=1.14.1; extra == \"computation\"", + "tables>=3.10.1; extra == \"all\"", + "tables>=3.10.1; extra == \"hdf5\"", "tabulate>=0.9.0; extra == \"all\"", "tabulate>=0.9.0; extra == \"output-formatting\"", - "tzdata>=2022.7", - "xarray>=2022.12.0; extra == \"all\"", - "xarray>=2022.12.0; extra == \"computation\"", + "tzdata; sys_platform == \"emscripten\"", + "tzdata; sys_platform == \"win32\"", + "xarray>=2024.10.0; extra == \"all\"", + "xarray>=2024.10.0; extra == \"computation\"", "xlrd>=2.0.1; extra == \"all\"", "xlrd>=2.0.1; extra == \"excel\"", - "xlsxwriter>=3.0.5; extra == \"all\"", - "xlsxwriter>=3.0.5; extra == \"excel\"", - "zstandard>=0.19.0; extra == \"all\"", - "zstandard>=0.19.0; extra == \"compression\"" + "xlsxwriter>=3.2.0; extra == \"all\"", + "xlsxwriter>=3.2.0; extra == \"excel\"", + "zstandard>=0.23.0; extra == \"all\"", + "zstandard>=0.23.0; extra == \"compression\"" ], - "requires_python": ">=3.9", - "version": "2.3.3" + "requires_python": ">=3.11", + "version": "3.0.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887", - "url": "https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl" + "hash": "2c549f800b70a5c4952197248825584cb00f033b29c692671d3bf08bf380baff", + "url": "https://files.pythonhosted.org/packages/b6/61/fae042894f4296ec49e3f193aff5d7c18440da9e48102c3315e1bc4519a7/parso-0.8.6-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a", - "url": "https://files.pythonhosted.org/packages/d4/de/53e0bcf53d13e005bd8c92e7855142494f41171b34c2536b86187474184d/parso-0.8.5.tar.gz" + "hash": "2b9a0332696df97d454fa67b81618fd69c35a7b90327cbe6ba5c92d2c68a7bfd", + "url": "https://files.pythonhosted.org/packages/81/76/a1e769043c0c0c9fe391b702539d594731a4362334cdf4dc25d0c09761e7/parso-0.8.6.tar.gz" } ], "project_name": "parso", "requires_dists": [ "docopt; extra == \"testing\"", "flake8==5.0.4; extra == \"qa\"", - "mypy==0.971; extra == \"qa\"", "pytest; extra == \"testing\"", - "types-setuptools==67.2.0.1; extra == \"qa\"" + "types-setuptools==67.2.0.1; extra == \"qa\"", + "zuban==0.5.1; extra == \"qa\"" ], "requires_python": ">=3.6", - "version": "0.8.5" + "version": "0.8.6" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "5ae9e94793b6ef5a4cbe0a7ce9dbbefc1eec38df253763fd0aeeacf2762dbbc2", - "url": "https://files.pythonhosted.org/packages/7d/eb/b6260b31b1a96386c0a880edebe26f89669098acea8e0318bff6adb378fd/pathable-0.4.4-py3-none-any.whl" + "hash": "646e3d09491a6351a0c82632a09c02cdf70a252e73196b36d8a15ba0a114f0a6", + "url": "https://files.pythonhosted.org/packages/52/96/5a770e5c461462575474468e5af931cff9de036e7c2b4fea23c1c58d2cbe/pathable-0.5.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "6905a3cd17804edfac7875b5f6c9142a218c7caef78693c2dbbbfbac186d88b2", - "url": "https://files.pythonhosted.org/packages/67/93/8f2c2075b180c12c1e9f6a09d1a985bc2036906b13dff1d8917e395f2048/pathable-0.4.4.tar.gz" + "hash": "d81938348a1cacb525e7c75166270644782c0fb9c8cecc16be033e71427e0ef1", + "url": "https://files.pythonhosted.org/packages/72/55/b748445cb4ea6b125626f15379be7c96d1035d4fa3e8fee362fa92298abf/pathable-0.5.0.tar.gz" } ], "project_name": "pathable", "requires_dists": [], - "requires_python": "<4.0.0,>=3.7.0", - "version": "0.4.4" + "requires_python": "<4.0,>=3.10", + "version": "0.5.0" }, { "artifacts": [ @@ -2770,48 +2809,48 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "21f241bdd5080a15bc86d3466a9f6074a9c2c2b314100dd896ac81ee6db2f1ba", - "url": "https://files.pythonhosted.org/packages/2b/f2/ad34167a8059a59b8ad10bc5c72d4d9b35acc6b7c0877af8ac885b5f2044/pillow-12.0.0-cp312-cp312-musllinux_1_2_x86_64.whl" + "hash": "339ffdcb7cbeaa08221cd401d517d4b1fe7a9ed5d400e4a8039719238620ca35", + "url": "https://files.pythonhosted.org/packages/03/03/31216ec124bb5c3dacd74ce8efff4cc7f52643653bad4825f8f08c697743/pillow-12.1.1-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "53561a4ddc36facb432fae7a9d8afbfaf94795414f5cdc5fc52f28c1dca90371", - "url": "https://files.pythonhosted.org/packages/2c/90/4fcce2c22caf044e660a198d740e7fbc14395619e3cb1abad12192c0826c/pillow-12.0.0-cp312-cp312-macosx_10_13_x86_64.whl" + "hash": "aee2810642b2898bb187ced9b349e95d2a7272930796e022efaf12e99dccd293", + "url": "https://files.pythonhosted.org/packages/07/26/246ab11455b2549b9233dbd44d358d033a2f780fa9007b61a913c5b2d24e/pillow-12.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b87843e225e74576437fd5b6a4c2205d422754f84a06942cfaf1dc32243e45a8", - "url": "https://files.pythonhosted.org/packages/4f/87/424511bdcd02c8d7acf9f65caa09f291a519b16bd83c3fb3374b3d4ae951/pillow-12.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" + "hash": "ab323b787d6e18b3d91a72fc99b1a2c28651e4358749842b8f8dfacd28ef2052", + "url": "https://files.pythonhosted.org/packages/07/d3/8df65da0d4df36b094351dce696f2989bec731d4f10e743b1c5f4da4d3bf/pillow-12.1.1-cp312-cp312-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "87d4f8125c9988bfbed67af47dd7a953e2fc7b0cc1e7800ec6d2080d490bb353", - "url": "https://files.pythonhosted.org/packages/5a/b0/cace85a1b0c9775a9f8f5d5423c8261c858760e2466c79b2dd184638b056/pillow-12.0.0.tar.gz" + "hash": "9ad8fa5937ab05218e2b6a4cff30295ad35afd2f83ac592e68c0d871bb0fdbc4", + "url": "https://files.pythonhosted.org/packages/1f/42/5c74462b4fd957fcd7b13b04fb3205ff8349236ea74c7c375766d6c82288/pillow-12.1.1.tar.gz" }, { "algorithm": "sha256", - "hash": "82240051c6ca513c616f7f9da06e871f61bfd7805f566275841af15015b8f98d", - "url": "https://files.pythonhosted.org/packages/88/e1/9098d3ce341a8750b55b0e00c03f1630d6178f38ac191c81c97a3b047b44/pillow-12.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "ab174cd7d29a62dd139c44bf74b698039328f45cb03b4596c43473a46656b2f3", + "url": "https://files.pythonhosted.org/packages/2c/5e/2ba19e7e7236d7529f4d873bdaf317a318896bac289abebd4bb00ef247f0/pillow-12.1.1-cp312-cp312-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "55f818bd74fe2f11d4d7cbc65880a843c4075e0ac7226bc1a23261dbea531953", - "url": "https://files.pythonhosted.org/packages/a7/62/a22e8d3b602ae8cc01446d0c57a54e982737f44b6f2e1e019a925143771d/pillow-12.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" + "hash": "bb66b7cc26f50977108790e2456b7921e773f23db5630261102233eb355a3b79", + "url": "https://files.pythonhosted.org/packages/b1/2e/1001613d941c67442f745aff0f7cc66dd8df9a9c084eb497e6a543ee6f7e/pillow-12.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" }, { "algorithm": "sha256", - "hash": "c607c90ba67533e1b2355b821fef6764d1dd2cbe26b8c1005ae84f7aea25ff79", - "url": "https://files.pythonhosted.org/packages/dc/4d/435c8ac688c54d11755aedfdd9f29c9eeddf68d150fe42d1d3dbd2365149/pillow-12.0.0-cp312-cp312-musllinux_1_2_aarch64.whl" + "hash": "a0b1cd6232e2b618adcc54d9882e4e662a089d5768cd188f7c245b4c8c44a397", + "url": "https://files.pythonhosted.org/packages/b2/8b/07587069c27be7535ac1fe33874e32de118fbd34e2a73b7f83436a88368c/pillow-12.1.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2fa5f0b6716fc88f11380b88b31fe591a06c6315e955c096c35715788b339e3f", - "url": "https://files.pythonhosted.org/packages/e7/a1/f81fdeddcb99c044bf7d6faa47e12850f13cee0849537a7d27eeab5534d4/pillow-12.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + "hash": "adebb5bee0f0af4909c30db0d890c773d1a92ffe83da908e2e9e720f8edf3984", + "url": "https://files.pythonhosted.org/packages/d6/71/5026395b290ff404b836e636f51d7297e6c83beceaa87c592718747e670f/pillow-12.1.1-cp312-cp312-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "71db6b4c1653045dacc1585c1b0d184004f0d7e694c7b34ac165ca70c0838082", - "url": "https://files.pythonhosted.org/packages/fd/e0/ed960067543d080691d47d6938ebccbf3976a931c9567ab2fbfab983a5dd/pillow-12.0.0-cp312-cp312-macosx_11_0_arm64.whl" + "hash": "7aac39bcf8d4770d089588a2e1dd111cbaa42df5a94be3114222057d68336bd0", + "url": "https://files.pythonhosted.org/packages/ff/79/6df7b2ee763d619cda2fb4fea498e5f79d984dae304d45a8999b80d6cf5c/pillow-12.1.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" } ], "project_name": "pillow", @@ -2844,48 +2883,37 @@ "trove-classifiers>=2024.10.12; extra == \"tests\"" ], "requires_python": ">=3.10", - "version": "12.0.0" + "version": "12.1.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", - "url": "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl" + "hash": "68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868", + "url": "https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", - "url": "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz" + "hash": "1ec356301b7dc906d83f371c8f487070e99d3ccf9e501686456394622a01a934", + "url": "https://files.pythonhosted.org/packages/19/56/8d4c30c8a1d07013911a8fdbd8f89440ef9f08d07a1b50ab8ca8be5a20f9/platformdirs-4.9.4.tar.gz" } ], "project_name": "platformdirs", - "requires_dists": [ - "appdirs==1.4.4; extra == \"test\"", - "covdefaults>=2.3; extra == \"test\"", - "furo>=2025.9.25; extra == \"docs\"", - "mypy>=1.18.2; extra == \"type\"", - "proselint>=0.14; extra == \"docs\"", - "pytest-cov>=7; extra == \"test\"", - "pytest-mock>=3.15.1; extra == \"test\"", - "pytest>=8.4.2; extra == \"test\"", - "sphinx-autodoc-typehints>=3.2; extra == \"docs\"", - "sphinx>=8.2.3; extra == \"docs\"" - ], + "requires_dists": [], "requires_python": ">=3.10", - "version": "4.5.1" + "version": "4.9.4" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "5ac851e100367735250206788a2b1325412aa4a4917a4fe3e6f0bc5aa6f3d90a", - "url": "https://files.pythonhosted.org/packages/e7/c3/3031c931098de393393e1f93a38dc9ed6805d86bb801acc3cf2d5bd1e6b7/plotly-6.5.0-py3-none-any.whl" + "hash": "8d6daf0f87412e0c0bfe72e809d615217ab57cc715899a1e5145135a7800d1d0", + "url": "https://files.pythonhosted.org/packages/52/d2/c6e44dba74f17c6216ce1b56044a9b93a929f1c2d5bdaff892512b260f5e/plotly-6.6.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d5d38224883fd38c1409bef7d6a8dc32b74348d39313f3c52ca998b8e447f5c8", - "url": "https://files.pythonhosted.org/packages/94/05/1199e2a03ce6637960bc1e951ca0f928209a48cfceb57355806a88f214cf/plotly-6.5.0.tar.gz" + "hash": "b897f15f3b02028d69f755f236be890ba950d0a42d7dfc619b44e2d8cea8748c", + "url": "https://files.pythonhosted.org/packages/24/fb/41efe84970cfddefd4ccf025e2cbfafe780004555f583e93dba3dac2cdef/plotly-6.6.0.tar.gz" } ], "project_name": "plotly", @@ -2926,7 +2954,7 @@ "xarray; extra == \"dev-optional\"" ], "requires_python": ">=3.8", - "version": "6.5.0" + "version": "6.6.0" }, { "artifacts": [ @@ -3032,13 +3060,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "12fbeef6461688b6b3775c50196a2bb5f8813c0d39923a5a49681a75eb4622c9", - "url": "https://files.pythonhosted.org/packages/d1/75/04e83be415fc67fa29d2447eb3248ea3bb79c2243be3f2fdfcca3699ce8b/pycollada-0.9.2-py3-none-any.whl" + "hash": "636e6496f60987586db82455ea7bbd9ade775e8181c6590c83b698b6cd53a9f5", + "url": "https://files.pythonhosted.org/packages/07/86/f1f61b7a0701f9d1299e5293d083318019f91021a4d449f94d59dbe024e4/pycollada-0.9.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "7ca12267be0a2b93e495d6036e6b274023a9457ded641954eb0c470efe153d6e", - "url": "https://files.pythonhosted.org/packages/25/13/21debba42c0c255acba29f42af8785ecad656948d30fde5302d5e4494d1c/pycollada-0.9.2.tar.gz" + "hash": "c34d6dcf0fe2eba5896f71c96d37a1c0fe1a61f08440fa0cfcec3dc2895d3302", + "url": "https://files.pythonhosted.org/packages/5a/8d/52a5364a17eb96129962cae8d3ee7658775e085ad0ba38388684ad5944e9/pycollada-0.9.3.tar.gz" } ], "project_name": "pycollada", @@ -3049,7 +3077,131 @@ "python-dateutil" ], "requires_python": null, - "version": "0.9.2" + "version": "0.9.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", + "url": "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", + "url": "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz" + } + ], + "project_name": "pydantic", + "requires_dists": [ + "annotated-types>=0.6.0", + "email-validator>=2.0.0; extra == \"email\"", + "pydantic-core==2.41.5", + "typing-extensions>=4.14.1", + "typing-inspection>=0.4.2", + "tzdata; (python_version >= \"3.9\" and platform_system == \"Windows\") and extra == \"timezone\"" + ], + "requires_python": ">=3.9", + "version": "2.12.5" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1", + "url": "https://files.pythonhosted.org/packages/cc/6a/ebf4b1d65d458f3cda6a7335d141305dfa19bdc61140a884d165a8a1bbc7/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05", + "url": "https://files.pythonhosted.org/packages/00/b5/0e8e4b5b081eac6cb3dbb7e60a65907549a1ce035a724368c330112adfdd/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c", + "url": "https://files.pythonhosted.org/packages/0d/76/941cc9f73529988688a665a5c0ecff1112b3d95ab48f81db5f7606f522d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75", + "url": "https://files.pythonhosted.org/packages/38/de/8c36b5198a29bdaade07b5985e80a233a5ac27137846f3bc2d3b40a47360/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294", + "url": "https://files.pythonhosted.org/packages/49/7d/4c00df99cb12070b6bccdef4a195255e6020a550d572768d92cc54dba91a/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7", + "url": "https://files.pythonhosted.org/packages/5f/5d/5f6c63eebb5afee93bcaae4ce9a898f3373ca23df3ccaef086d0233a35a7/pydantic_core-2.41.5-cp312-cp312-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69", + "url": "https://files.pythonhosted.org/packages/68/b8/a01b53cb0e59139fbc9e4fda3e9724ede8de279097179be4ff31f1abb65a/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", + "url": "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc", + "url": "https://files.pythonhosted.org/packages/77/56/87a61aad59c7c5b9dc8caad5a41a5545cba3810c3e828708b3d7404f6cef/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0", + "url": "https://files.pythonhosted.org/packages/aa/32/9c2e8ccb57c01111e0fd091f236c7b371c1bccea0fa85247ac55b1e2b6b6/pydantic_core-2.41.5-cp312-cp312-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c", + "url": "https://files.pythonhosted.org/packages/b1/87/41f3202e4193e3bacfc2c065fab7706ebe81af46a83d3e27605029c1f5a6/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5", + "url": "https://files.pythonhosted.org/packages/d3/43/ebef01f69baa07a482844faaa0a591bad1ef129253ffd0cdaa9d8a7f72d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl" + } + ], + "project_name": "pydantic-core", + "requires_dists": [ + "typing-extensions>=4.14.1" + ], + "requires_python": ">=3.9", + "version": "2.41.5" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d56fd801823dbeae7f0975e1f8c8e25c258eb75d278ea7abb5d9cebb01b56237", + "url": "https://files.pythonhosted.org/packages/00/4b/ccc026168948fec4f7555b9164c724cf4125eac006e176541483d2c959be/pydantic_settings-2.13.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025", + "url": "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz" + } + ], + "project_name": "pydantic-settings", + "requires_dists": [ + "azure-identity>=1.16.0; extra == \"azure-key-vault\"", + "azure-keyvault-secrets>=4.8.0; extra == \"azure-key-vault\"", + "boto3-stubs[secretsmanager]; extra == \"aws-secrets-manager\"", + "boto3>=1.35.0; extra == \"aws-secrets-manager\"", + "google-cloud-secret-manager>=2.23.1; extra == \"gcp-secret-manager\"", + "pydantic>=2.7.0", + "python-dotenv>=0.21.0", + "pyyaml>=6.0.1; extra == \"yaml\"", + "tomli>=2.0.1; extra == \"toml\"", + "typing-inspection>=0.4.0" + ], + "requires_python": ">=3.10", + "version": "2.13.1" }, { "artifacts": [ @@ -3093,19 +3245,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "fa0f4fdf366cfc5040aeb462416910b0db2fa374b7d620b7a432178ca3fa8af1", - "url": "https://files.pythonhosted.org/packages/77/a2/2b09fbff0eedbe44fbf164b321439a38f7c5568d8b754aa197ee45886431/pyglet-2.1.11-py3-none-any.whl" + "hash": "7ded34c30d07a9290b9bddb2aa91b2861be552144a87dc68fb6f4288b5dbb21a", + "url": "https://files.pythonhosted.org/packages/73/54/14edde2376d6e264e66c6aeba0f31d58319084ae93b794503b5e140d45d1/pyglet-2.1.13-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8285d0af7d0ab443232a81df4d941e0d5c48c18a23ec770b3e5c59a222f5d56e", - "url": "https://files.pythonhosted.org/packages/e3/6b/84c397a74cd33eb377168c682e9e3d6b90c1c10c661e11ea5b397ac8497c/pyglet-2.1.11.tar.gz" + "hash": "37a31c212b51658f7c125613f93818a199e8808f86e9b1abe7bfe5395661eee3", + "url": "https://files.pythonhosted.org/packages/77/b4/b78df1ec545a151cb7ee64a1632e8f33ba8bd1a97329e4918e76761a80d9/pyglet-2.1.13.tar.gz" } ], "project_name": "pyglet", "requires_dists": [], "requires_python": ">=3.8", - "version": "2.1.11" + "version": "2.1.13" }, { "artifacts": [ @@ -3210,13 +3362,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", - "url": "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl" + "hash": "850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", + "url": "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6", - "url": "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz" + "hash": "c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", + "url": "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz" } ], "project_name": "pyparsing", @@ -3225,7 +3377,7 @@ "railroad-diagrams; extra == \"diagrams\"" ], "requires_python": ">=3.9", - "version": "3.2.5" + "version": "3.3.2" }, { "artifacts": [ @@ -3430,19 +3582,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", - "url": "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl" + "hash": "1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a", + "url": "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", - "url": "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz" + "hash": "2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3", + "url": "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz" } ], - "project_name": "pytz", - "requires_dists": [], - "requires_python": null, - "version": "2025.2" + "project_name": "python-dotenv", + "requires_dists": [ + "click>=5.0; extra == \"cli\"" + ], + "requires_python": ">=3.10", + "version": "1.2.2" }, { "artifacts": [ @@ -3496,13 +3650,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", - "url": "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl" + "hash": "381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", + "url": "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", - "url": "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz" + "hash": "44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", + "url": "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz" } ], "project_name": "referencing", @@ -3511,8 +3665,8 @@ "rpds-py>=0.7.0", "typing-extensions>=4.4.0; python_version < \"3.13\"" ], - "requires_python": ">=3.9", - "version": "0.36.2" + "requires_python": ">=3.10", + "version": "0.37.0" }, { "artifacts": [ @@ -3741,48 +3895,48 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c5192722cffe15f9329a3948c4b1db789fbb1f05c97899187dcf009b283aea70", - "url": "https://files.pythonhosted.org/packages/82/31/006cbb4b648ba379a95c87262c2855cd0d09453e500937f78b30f02fa1cd/scipy-1.16.3-cp312-cp312-musllinux_1_2_x86_64.whl" + "hash": "f590cd684941912d10becc07325a3eeb77886fe981415660d9265c4c418d0bea", + "url": "https://files.pythonhosted.org/packages/65/94/7698add8f276dbab7a9de9fb6b0e02fc13ee61d51c7c3f85ac28b65e1239/scipy-1.17.1-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "01e87659402762f43bd2fee13370553a17ada367d42e7487800bf2916535aecb", - "url": "https://files.pythonhosted.org/packages/0a/ca/d8ace4f98322d01abcd52d381134344bf7b431eba7ed8b42bdea5a3c2ac9/scipy-1.16.3.tar.gz" + "hash": "02ae3b274fde71c5e92ac4d54bc06c42d80e399fec704383dcd99b301df37458", + "url": "https://files.pythonhosted.org/packages/01/8e/1e35281b8ab6d5d72ebe9911edcdffa3f36b04ed9d51dec6dd140396e220/scipy-1.17.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c97176013d404c7346bf57874eaac5187d969293bf40497140b0a2b2b7482e07", - "url": "https://files.pythonhosted.org/packages/1e/0f/65582071948cfc45d43e9870bf7ca5f0e0684e165d7c9ef4e50d783073eb/scipy-1.16.3-cp312-cp312-macosx_12_0_arm64.whl" + "hash": "35c3a56d2ef83efc372eaec584314bd0ef2e2f0d2adb21c55e6ad5b344c0dcb8", + "url": "https://files.pythonhosted.org/packages/35/48/b992b488d6f299dbe3f11a20b24d3dda3d46f1a635ede1c46b5b17a7b163/scipy-1.17.1-cp312-cp312-macosx_10_14_x86_64.whl" }, { "algorithm": "sha256", - "hash": "1fb2472e72e24d1530debe6ae078db70fb1605350c88a3d14bc401d6306dbffe", - "url": "https://files.pythonhosted.org/packages/27/82/df26e44da78bf8d2aeaf7566082260cfa15955a5a6e96e6a29935b64132f/scipy-1.16.3-cp312-cp312-musllinux_1_2_aarch64.whl" + "hash": "c80be5ede8f3f8eded4eff73cc99a25c388ce98e555b17d31da05287015ffa5b", + "url": "https://files.pythonhosted.org/packages/35/f5/906eda513271c8deb5af284e5ef0206d17a96239af79f9fa0aebfe0e36b4/scipy-1.17.1-cp312-cp312-macosx_14_0_x86_64.whl" }, { "algorithm": "sha256", - "hash": "81fc5827606858cf71446a5e98715ba0e11f0dbc83d71c7409d05486592a45d6", - "url": "https://files.pythonhosted.org/packages/40/41/5bf55c3f386b1643812f3a5674edf74b26184378ef0f3e7c7a09a7e2ca7f/scipy-1.16.3-cp312-cp312-macosx_10_14_x86_64.whl" + "hash": "95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", + "url": "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz" }, { "algorithm": "sha256", - "hash": "72d1717fd3b5e6ec747327ce9bda32d5463f472c9dce9f54499e81fbd50245a1", - "url": "https://files.pythonhosted.org/packages/79/2e/415119c9ab3e62249e18c2b082c07aff907a273741b3f8160414b0e9193c/scipy-1.16.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl" + "hash": "fcb310ddb270a06114bb64bbe53c94926b943f5b7f0842194d585c65eb4edd76", + "url": "https://files.pythonhosted.org/packages/b2/02/cf107b01494c19dc100f1d0b7ac3cc08666e96ba2d64db7626066cee895e/scipy-1.17.1-cp312-cp312-macosx_12_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "3d4a07a8e785d80289dfe66b7c27d8634a773020742ec7187b85ccc4b0e7b686", - "url": "https://files.pythonhosted.org/packages/80/35/178d9d0c35394d5d5211bbff7ac4f2986c5488b59506fef9e1de13ea28d3/scipy-1.16.3-cp312-cp312-macosx_14_0_x86_64.whl" + "hash": "8a604bae87c6195d8b1045eddece0514d041604b14f2727bbc2b3020172045eb", + "url": "https://files.pythonhosted.org/packages/c5/5c/9d7f4c88bea6e0d5a4f1bc0506a53a00e9fcb198de372bfe4d3652cef482/scipy-1.17.1-cp312-cp312-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2b71d93c8a9936046866acebc915e2af2e292b883ed6e2cbe5c34beb094b82d9", - "url": "https://files.pythonhosted.org/packages/96/5e/36bf3f0ac298187d1ceadde9051177d6a4fe4d507e8f59067dc9dd39e650/scipy-1.16.3-cp312-cp312-macosx_14_0_arm64.whl" + "hash": "cc90d2e9c7e5c7f1a482c9875007c095c3194b1cfedca3c2f3291cdc2bc7c086", + "url": "https://files.pythonhosted.org/packages/cf/a9/599c28631bad314d219cf9ffd40e985b24d603fc8a2f4ccc5ae8419a535b/scipy-1.17.1-cp312-cp312-macosx_14_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "0553371015692a898e1aa858fed67a3576c34edefa6b7ebdb4e9dde49ce5c203", - "url": "https://files.pythonhosted.org/packages/fa/46/d1146ff536d034d02f83c8afc3c4bab2eddb634624d6529a8512f3afc9da/scipy-1.16.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl" + "hash": "e19ebea31758fac5893a2ac360fedd00116cbb7628e650842a6691ba7ca28a21", + "url": "https://files.pythonhosted.org/packages/da/34/16f10e3042d2f1d6b66e0428308ab52224b6a23049cb2f5c1756f713815f/scipy-1.17.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl" } ], "project_name": "scipy", @@ -3790,8 +3944,8 @@ "Cython; extra == \"test\"", "array-api-strict>=2.3.1; extra == \"test\"", "asv; extra == \"test\"", + "click<8.3.0; extra == \"dev\"", "cython-lint>=0.12.2; extra == \"dev\"", - "doit>=0.36.0; extra == \"dev\"", "gmpy2; extra == \"test\"", "hypothesis>=6.30; extra == \"test\"", "intersphinx_registry; extra == \"doc\"", @@ -3805,41 +3959,41 @@ "mypy==1.10.0; extra == \"dev\"", "myst-nb>=1.2.0; extra == \"doc\"", "ninja; sys_platform != \"emscripten\" and extra == \"test\"", - "numpy<2.6,>=1.25.2", + "numpy<2.7,>=1.26.4", "numpydoc; extra == \"doc\"", "pooch; extra == \"doc\"", "pooch; extra == \"test\"", "pycodestyle; extra == \"dev\"", "pydata-sphinx-theme>=0.15.2; extra == \"doc\"", - "pydevtool; extra == \"dev\"", "pytest-cov; extra == \"test\"", "pytest-timeout; extra == \"test\"", "pytest-xdist; extra == \"test\"", "pytest>=8.0.0; extra == \"test\"", - "rich-click; extra == \"dev\"", - "ruff>=0.0.292; extra == \"dev\"", + "ruff>=0.12.0; extra == \"dev\"", "scikit-umfpack; extra == \"test\"", "sphinx-copybutton; extra == \"doc\"", "sphinx-design>=0.4.0; extra == \"doc\"", "sphinx<8.2.0,>=5.0.0; extra == \"doc\"", + "spin; extra == \"dev\"", + "tabulate; extra == \"doc\"", "threadpoolctl; extra == \"test\"", "types-psutil; extra == \"dev\"", "typing_extensions; extra == \"dev\"" ], "requires_python": ">=3.11", - "version": "1.16.3" + "version": "1.17.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", - "url": "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl" + "hash": "a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb", + "url": "https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", - "url": "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz" + "hash": "7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", + "url": "https://files.pythonhosted.org/packages/4f/db/cfac1baf10650ab4d1c111714410d2fbb77ac5a616db26775db562c8fab2/setuptools-82.0.1.tar.gz" } ], "project_name": "setuptools", @@ -3861,11 +4015,10 @@ "jaraco.tidelift>=1.4; extra == \"doc\"", "more_itertools; extra == \"core\"", "more_itertools>=8.8; extra == \"core\"", - "mypy==1.14.*; extra == \"type\"", + "mypy==1.18.*; extra == \"type\"", "packaging>=24.2; extra == \"core\"", "packaging>=24.2; extra == \"test\"", "pip>=19.1; extra == \"test\"", - "platformdirs>=4.2.2; extra == \"core\"", "pygments-github-lexers==0.0.5; extra == \"doc\"", "pyproject-hooks!=1.1; extra == \"doc\"", "pyproject-hooks!=1.1; extra == \"test\"", @@ -3881,7 +4034,7 @@ "pytest-timeout; extra == \"test\"", "pytest-xdist>=3; extra == \"test\"", "rst.linker>=1.9; extra == \"doc\"", - "ruff>=0.8.0; sys_platform != \"cygwin\" and extra == \"check\"", + "ruff>=0.13.0; sys_platform != \"cygwin\" and extra == \"check\"", "sphinx-favicon; extra == \"doc\"", "sphinx-inline-tabs; extra == \"doc\"", "sphinx-lint; extra == \"doc\"", @@ -3897,7 +4050,7 @@ "wheel>=0.44.0; extra == \"test\"" ], "requires_python": ">=3.9", - "version": "80.9.0" + "version": "82.0.1" }, { "artifacts": [ @@ -3979,18 +4132,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", - "url": "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl" + "hash": "ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf", + "url": "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", - "url": "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz" + "hash": "7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb", + "url": "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz" } ], "project_name": "tqdm", "requires_dists": [ "colorama; platform_system == \"Windows\"", + "importlib_metadata; python_version < \"3.8\"", "ipywidgets>=6; extra == \"notebook\"", "nbval; extra == \"dev\"", "pytest-asyncio>=0.24; extra == \"dev\"", @@ -4002,7 +4156,7 @@ "slack-sdk; extra == \"slack\"" ], "requires_python": ">=3.7", - "version": "4.67.1" + "version": "4.67.3" }, { "artifacts": [ @@ -4036,13 +4190,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4e81fae696683dfe912ef54ce124869487d35d267b87e10fe07fc05ab62aaadb", - "url": "https://files.pythonhosted.org/packages/d5/0c/f08f0d16b4f97ec2ea6d542b9a70472a344384382fa3543a12ec417cc063/trimesh-4.10.1-py3-none-any.whl" + "hash": "8549c6cb95326aaf61759c7a9517b8342ae49a5bd360290b7b1e565902a85bad", + "url": "https://files.pythonhosted.org/packages/3d/5a/bed8d057a11019224be9f0b06380df2b39390be1f40196973a54f1013931/trimesh-4.11.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "2067ebb8dcde0d7f00c2a85bfcae4aa891c40898e5f14232592429025ee2c593", - "url": "https://files.pythonhosted.org/packages/83/69/eedfeb084460d429368e03db83ed41b18d6de4fd4945de7eb8874b9fae36/trimesh-4.10.1.tar.gz" + "hash": "fe9b6bbd68d8e6c0f7d93313a5409d02d3da0bf4fd3d7e7c039b386bc5ce04f3", + "url": "https://files.pythonhosted.org/packages/4b/63/a0766634bd34127ca9dac672fb45d6525924ba4fcbbbff23af2a59742bcb/trimesh-4.11.3.tar.gz" } ], "project_name": "trimesh", @@ -4091,7 +4245,7 @@ "xxhash; extra == \"easy\"" ], "requires_python": ">=3.8", - "version": "4.10.1" + "version": "4.11.3" }, { "artifacts": [ @@ -4171,19 +4325,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "9cf9c1c582019753b8639a081deefd7e044b9fa36bd8217f565c6c4e36ee0624", - "url": "https://files.pythonhosted.org/packages/43/0b/56961d3ba517ed0df9b3a27bfda6514f3d01b28d499d1bce9068cfe4edd1/types_python_dateutil-2.9.0.20251115-py3-none-any.whl" + "hash": "a3be9ca444d38cadabd756cfbb29780d8b338ae2a3020e73c266a83cc3025dd7", + "url": "https://files.pythonhosted.org/packages/0a/77/8c0d1ec97f0d9707ad3d8fa270ab8964e7b31b076d2f641c94987395cc75/types_python_dateutil-2.9.0.20260305-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8a47f2c3920f52a994056b8786309b43143faa5a64d4cbb2722d6addabdf1a58", - "url": "https://files.pythonhosted.org/packages/6a/36/06d01fb52c0d57e9ad0c237654990920fa41195e4b3d640830dabf9eeb2f/types_python_dateutil-2.9.0.20251115.tar.gz" + "hash": "389717c9f64d8f769f36d55a01873915b37e97e52ce21928198d210fbd393c8b", + "url": "https://files.pythonhosted.org/packages/1d/c7/025c624f347e10476b439a6619a95f1d200250ea88e7ccea6e09e48a7544/types_python_dateutil-2.9.0.20260305.tar.gz" } ], "project_name": "types-python-dateutil", "requires_dists": [], - "requires_python": ">=3.9", - "version": "2.9.0.20251115" + "requires_python": ">=3.10", + "version": "2.9.0.20260305" }, { "artifacts": [ @@ -4207,13 +4361,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "78c9c1fffebbe0fa487a418e0fa5252017e9c60d1a2da394077f1780f655d7e1", - "url": "https://files.pythonhosted.org/packages/2a/20/9a227ea57c1285986c4cf78400d0a91615d25b24e257fd9e2969606bdfae/types_requests-2.32.4.20250913-py3-none-any.whl" + "hash": "b703fe72f8ce5b31ef031264fe9395cac8f46a04661a79f7ed31a80fb308730d", + "url": "https://files.pythonhosted.org/packages/1c/12/709ea261f2bf91ef0a26a9eed20f2623227a8ed85610c1e54c5805692ecb/types_requests-2.32.4.20260107-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "abd6d4f9ce3a9383f269775a9835a4c24e5cd6b9f647d64f88aa4613c33def5d", - "url": "https://files.pythonhosted.org/packages/36/27/489922f4505975b11de2b5ad07b4fe1dca0bca9be81a703f26c5f3acfce5/types_requests-2.32.4.20250913.tar.gz" + "hash": "018a11ac158f801bfa84857ddec1650750e393df8a004a8a9ae2a9bec6fcb24f", + "url": "https://files.pythonhosted.org/packages/0f/f3/a0663907082280664d745929205a89d41dffb29e89a50f753af7d57d0a96/types_requests-2.32.4.20260107.tar.gz" } ], "project_name": "types-requests", @@ -4221,25 +4375,25 @@ "urllib3>=2" ], "requires_python": ">=3.9", - "version": "2.32.4.20250913" + "version": "2.32.4.20260107" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "53bf881cb9d7e46ed12c76ef76c0aaf28cfe6211d3fab12e0b83620b1a8642c3", - "url": "https://files.pythonhosted.org/packages/b6/2d/475bf15c1cdc172e7a0d665b6e373ebfb1e9bf734d3f2f543d668b07a142/types_setuptools-80.9.0.20250822-py3-none-any.whl" + "hash": "5124a7daf67f195c6054e0f00f1d97c69caad12fdcf9113eba33eff0bce8cd2b", + "url": "https://files.pythonhosted.org/packages/3e/54/3489432b1d9bc713c9d8aa810296b8f5b0088403662959fb63a8acdbd4fc/types_setuptools-82.0.0.20260210-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "070ea7716968ec67a84c7f7768d9952ff24d28b65b6594797a464f1b3066f965", - "url": "https://files.pythonhosted.org/packages/19/bd/1e5f949b7cb740c9f0feaac430e301b8f1c5f11a81e26324299ea671a237/types_setuptools-80.9.0.20250822.tar.gz" + "hash": "d9719fbbeb185254480ade1f25327c4654f8c00efda3fec36823379cebcdee58", + "url": "https://files.pythonhosted.org/packages/4b/90/796ac8c774a7f535084aacbaa6b7053d16fff5c630eff87c3ecff7896c37/types_setuptools-82.0.0.20260210.tar.gz" } ], "project_name": "types-setuptools", "requires_dists": [], - "requires_python": ">=3.9", - "version": "80.9.0.20250822" + "requires_python": ">=3.10", + "version": "82.0.0.20260210" }, { "artifacts": [ @@ -4285,31 +4439,33 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1", - "url": "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl" + "hash": "4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", + "url": "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7", - "url": "https://files.pythonhosted.org/packages/5e/a7/c202b344c5ca7daf398f3b8a477eeb205cf3b6f32e7ec3a6bac0629ca975/tzdata-2025.3.tar.gz" + "hash": "ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", + "url": "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz" } ], - "project_name": "tzdata", - "requires_dists": [], - "requires_python": ">=2", - "version": "2025.3" + "project_name": "typing-inspection", + "requires_dists": [ + "typing-extensions>=4.12.0" + ], + "requires_python": ">=3.9", + "version": "0.4.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", - "url": "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl" + "hash": "bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", + "url": "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", - "url": "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz" + "hash": "1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", + "url": "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz" } ], "project_name": "urllib3", @@ -4321,25 +4477,25 @@ "pysocks!=1.5.7,<2.0,>=1.5.6; extra == \"socks\"" ], "requires_python": ">=3.9", - "version": "2.6.2" + "version": "2.6.3" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", - "url": "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl" + "hash": "1a3a1e510b553315f8e146c54764f4fb6264ffad731b3d78088cdb1478ffbdad", + "url": "https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", - "url": "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz" + "hash": "cdc4e4262d6ef9a1a57e018384cbeb1208d8abbc64176027e2c2455c81313159", + "url": "https://files.pythonhosted.org/packages/35/a2/8e3becb46433538a38726c948d3399905a4c7cabd0df578ede5dc51f0ec2/wcwidth-0.6.0.tar.gz" } ], "project_name": "wcwidth", "requires_dists": [], - "requires_python": ">=3.6", - "version": "0.2.14" + "requires_python": ">=3.8", + "version": "0.6.0" }, { "artifacts": [ @@ -4434,13 +4590,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "2ad50fb9ed09cc3af22c54698351027ace879a0b60a3b5edf5730b2f7d876905", - "url": "https://files.pythonhosted.org/packages/2f/f9/9e082990c2585c744734f85bec79b5dae5df9c974ffee58fe421652c8e91/werkzeug-3.1.4-py3-none-any.whl" + "hash": "7ddf3357bb9564e407607f988f683d72038551200c704012bb9a4c523d42f131", + "url": "https://files.pythonhosted.org/packages/4d/ec/d58832f89ede95652fd01f4f24236af7d32b70cab2196dfcc2d2fd13c5c2/werkzeug-3.1.6-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "cd3cd98b1b92dc3b7b3995038826c68097dcb16f9baa63abe35f20eafeb9fe5e", - "url": "https://files.pythonhosted.org/packages/45/ea/b0f8eeb287f8df9066e56e831c7824ac6bab645dd6c7a8f4b2d767944f9b/werkzeug-3.1.4.tar.gz" + "hash": "210c6bede5a420a913956b4791a7f4d6843a43b6fcee4dfa08a65e93007d0d25", + "url": "https://files.pythonhosted.org/packages/61/f1/ee81806690a87dab5f5653c1f146c92bc066d7f4cebc603ef88eb9e13957/werkzeug-3.1.6.tar.gz" } ], "project_name": "werkzeug", @@ -4449,7 +4605,7 @@ "watchdog>=2.3; extra == \"watchdog\"" ], "requires_python": ">=3.9", - "version": "3.1.4" + "version": "3.1.6" }, { "artifacts": [ @@ -4507,6 +4663,7 @@ "version": "3.23.0" } ], + "marker": null, "platform_tag": null } ], @@ -4514,19 +4671,19 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.45.2", + "pex_version": "2.81.0", "pip_version": "24.2", "prefer_older_binary": false, "requirements": [ "Cython~=3.2.2", "Flask~=3.1.2", - "Pillow~=12.0.0", + "Pillow~=12.1.1", "PyYAML~=6.0.3", "aiofiles~=25.1.0", "aiologger~=0.7.0", "aiorun~=2025.1.1", "apispec-webframeworks~=1.2.0", - "apispec[yaml]~=6.9.0", + "apispec[yaml]~=6.10.0", "autopep8~=2.3.2", "ciso8601~=2.3.3", "colorlog~=6.10.1", @@ -4540,9 +4697,9 @@ "numpy-quaternion[numba,scipy]~=2024.0.13", "numpy~=2.3.5", "open3d==0.19.0", - "openapi-spec-validator~=0.7.2", + "openapi-spec-validator~=0.8.4", "opencv-contrib-python~=4.10.0.84", - "opencv-stubs[opencv-contrib]==0.1.1", + "opencv-stubs[opencv-contrib]==0.1.3", "orjson~=3.11.4", "packaging~=25.0", "pydub-stubs==0.25.1.6", @@ -4556,15 +4713,15 @@ "pytest~=9.0.1", "python-dateutil~=2.9.0.post0", "requests~=2.32.5", - "setuptools~=80.9.0", + "setuptools~=82.0.1", "sqlitedict~=2.1.0", "types-PyYAML==6.0.12.20250915", "types-aiofiles==25.1.0.20251011", "types-orjson==3.6.2", "types-playsound~=1.3.1.20241019", - "types-python-dateutil==2.9.0.20251115", - "types-requests==2.32.4.20250913", - "types-setuptools==80.9.0.20250822", + "types-python-dateutil==2.9.0.20260305", + "types-requests==2.32.4.20260107", + "types-setuptools==82.0.0.20260210", "types_flask_cors~=6.0.0.20250809", "typing-inspect~=0.9.0", "websocket-client~=1.9.0", @@ -4572,7 +4729,7 @@ "werkzeug~=3.1.4" ], "requires_python": [ - "==3.12.*" + "CPython==3.12.*" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/3rdparty/flake8_lockfile.txt b/3rdparty/flake8_lockfile.txt index 1e0f213b9..f7babe305 100644 --- a/3rdparty/flake8_lockfile.txt +++ b/3rdparty/flake8_lockfile.txt @@ -4,7 +4,7 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 6, // "valid_for_interpreter_constraints": [ // "CPython==3.12.*" // ], @@ -20,7 +20,12 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [], +// "sources": [], +// "lock_style": "universal", +// "complete_platforms": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -279,23 +284,24 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d9a90dba89607489548a49d557f8bac8112bd25d3cbc8aeef23e860811bd5ed9", - "url": "https://files.pythonhosted.org/packages/a0/56/0cc15b8ff2613c1d5c3dc1f3f576ede1c43868c1bc2e5ccaa2d4bcd7974d/vulture-2.14-py2.py3-none-any.whl" + "hash": "a3d8ebef918694326620eb128fa783486c8d285b23381c2b457d864ac056ef8d", + "url": "https://files.pythonhosted.org/packages/1c/f3/07cf122e145bc6df976030e9935123124c3fcb5044cf407b5e71e85821b4/vulture-2.15-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "cb8277902a1138deeab796ec5bef7076a6e0248ca3607a3f3dee0b6d9e9b8415", - "url": "https://files.pythonhosted.org/packages/8e/25/925f35db758a0f9199113aaf61d703de891676b082bd7cf73ea01d6000f7/vulture-2.14.tar.gz" + "hash": "f9d8b4ce29c69950d323f21dceab4a4d6c694403dffbed7713c4691057e561fe", + "url": "https://files.pythonhosted.org/packages/59/c6/4f147b621b4c0899eb1770f98113334bb706ebd251ac2be979316b1985fa/vulture-2.15.tar.gz" } ], "project_name": "vulture", "requires_dists": [ "tomli>=1.1.0; python_version < \"3.11\"" ], - "requires_python": ">=3.8", - "version": "2.14" + "requires_python": ">=3.9", + "version": "2.15" } ], + "marker": null, "platform_tag": null } ], @@ -303,7 +309,7 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.45.2", + "pex_version": "2.81.0", "pip_version": "24.2", "prefer_older_binary": false, "requirements": [ @@ -316,7 +322,7 @@ "vulture" ], "requires_python": [ - "==3.12.*" + "CPython==3.12.*" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/3rdparty/mypy_lockfile.txt b/3rdparty/mypy_lockfile.txt index 2511ed5f8..73b6a57e1 100644 --- a/3rdparty/mypy_lockfile.txt +++ b/3rdparty/mypy_lockfile.txt @@ -4,7 +4,7 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 6, // "valid_for_interpreter_constraints": [ // "CPython==3.12.*" // ], @@ -14,7 +14,12 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [], +// "sources": [], +// "lock_style": "universal", +// "complete_platforms": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -33,54 +38,64 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "703456146dc2bf430f7832fd1341adac5c893ec3c1430194fdcefba00012555c", - "url": "https://files.pythonhosted.org/packages/1f/48/77bc05c4cc232efae6c5592c0095034390992edbd5bae8d6cf1263bb7157/librt-0.7.3-cp312-cp312-musllinux_1_2_x86_64.whl" + "hash": "e0d138c7ae532908cbb342162b2611dbd4d90c941cd25ab82084aaf71d2c0bd0", + "url": "https://files.pythonhosted.org/packages/43/e8/37b3ac108e8976888e559a7b227d0ceac03c384cfd3e7a1c2ee248dbae79/librt-0.8.1-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d91e60ac44bbe3a77a67af4a4c13114cbe9f6d540337ce22f2c9eaf7454ca71f", - "url": "https://files.pythonhosted.org/packages/02/10/b612a9944ebd39fa143c7e2e2d33f2cb790205e025ddd903fb509a3a3bb3/librt-0.7.3-cp312-cp312-musllinux_1_2_i686.whl" + "hash": "758509ea3f1eba2a57558e7e98f4659d0ea7670bff49673b0dde18a3c7e6c0eb", + "url": "https://files.pythonhosted.org/packages/0a/33/c510de7f93bf1fa19e13423a606d8189a02624a800710f6e6a0a0f0784b3/librt-0.8.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "aca73d70c3f553552ba9133d4a09e767dcfeee352d8d8d3eb3f77e38a3beb3ed", - "url": "https://files.pythonhosted.org/packages/02/69/3ba05b73ab29ccbe003856232cea4049769be5942d799e628d1470ed1694/librt-0.7.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "5bb54f1205a3a6ab41a6fd71dfcdcbd278670d3a90ca502a30d9da583105b6f7", + "url": "https://files.pythonhosted.org/packages/30/7a/8d908a152e1875c9f8eac96c97a480df425e657cdb47854b9efaa4998889/librt-0.8.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c634a0a6db395fdaba0361aa78395597ee72c3aad651b9a307a3a7eaf5efd67e", - "url": "https://files.pythonhosted.org/packages/22/ad/d7c2671e7bf6c285ef408aa435e9cd3fdc06fd994601e1f2b242df12034f/librt-0.7.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl" + "hash": "be46a14693955b3bd96014ccbdb8339ee8c9346fbe11c1b78901b55125f14c73", + "url": "https://files.pythonhosted.org/packages/56/9c/b4b0c54d84da4a94b37bd44151e46d5e583c9534c7e02250b961b1b6d8a8/librt-0.8.1.tar.gz" }, { "algorithm": "sha256", - "hash": "0fa9ac2e49a6bee56e47573a6786cb635e128a7b12a0dc7851090037c0d397a3", - "url": "https://files.pythonhosted.org/packages/29/90/ed8595fa4e35b6020317b5ea8d226a782dcbac7a997c19ae89fb07a41c66/librt-0.7.3-cp312-cp312-macosx_10_13_x86_64.whl" + "hash": "60a78b694c9aee2a0f1aaeaa7d101cf713e92e8423a941d2897f4fa37908dab9", + "url": "https://files.pythonhosted.org/packages/69/f1/46375e71441c43e8ae335905e069f1c54febee63a146278bcee8782c84fd/librt-0.8.1-cp312-cp312-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "e094e445c37c57e9ec612847812c301840239d34ccc5d153a982fa9814478c60", - "url": "https://files.pythonhosted.org/packages/79/f3/b0c4703d5ffe9359b67bb2ccb86c42d4e930a363cfc72262ac3ba53cff3e/librt-0.7.3-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "adfab487facf03f0d0857b8710cf82d0704a309d8ffc33b03d9302b4c64e91a9", + "url": "https://files.pythonhosted.org/packages/79/6f/5c6fea00357e4f82ba44f81dbfb027921f1ab10e320d4a64e1c408d035d9/librt-0.8.1-cp312-cp312-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3ec50cf65235ff5c02c5b747748d9222e564ad48597122a361269dd3aa808798", - "url": "https://files.pythonhosted.org/packages/b3/d9/6f3d3fcf5e5543ed8a60cc70fa7d50508ed60b8a10e9af6d2058159ab54e/librt-0.7.3.tar.gz" + "hash": "dd3c41254ee98604b08bd5b3af5bf0a89740d4ee0711de95b65166bf44091921", + "url": "https://files.pythonhosted.org/packages/93/c2/0517281cb4d4101c27ab59472924e67f55e375bc46bedae94ac6dc6e1902/librt-0.8.1-cp312-cp312-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "2e980cf1ed1a2420a6424e2ed884629cdead291686f1048810a817de07b5eb18", - "url": "https://files.pythonhosted.org/packages/dd/f6/6a20702a07b41006cb001a759440cb6b5362530920978f64a2b2ae2bf729/librt-0.7.3-cp312-cp312-macosx_11_0_arm64.whl" + "hash": "a28f2612ab566b17f3698b0da021ff9960610301607c9a5e8eaca62f5e1c350a", + "url": "https://files.pythonhosted.org/packages/95/21/d39b0a87ac52fc98f621fb6f8060efb017a767ebbbac2f99fbcbc9ddc0d7/librt-0.8.1-cp312-cp312-macosx_10_13_x86_64.whl" }, { "algorithm": "sha256", - "hash": "a59a69deeb458c858b8fea6acf9e2acd5d755d76cd81a655256bc65c20dfff5b", - "url": "https://files.pythonhosted.org/packages/f4/94/d13f57193148004592b618555f296b41d2d79b1dc814ff8b3273a0bf1546/librt-0.7.3-cp312-cp312-musllinux_1_2_aarch64.whl" + "hash": "05bd41cdee35b0c59c259f870f6da532a2c5ca57db95b5f23689fcb5c9e42440", + "url": "https://files.pythonhosted.org/packages/a8/b8/a22c34f2c485b8903a06f3fe3315341fe6876ef3599792344669db98fcff/librt-0.8.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + }, + { + "algorithm": "sha256", + "hash": "039b9f2c506bd0ab0f8725aa5ba339c6f0cd19d3b514b50d134789809c24285d", + "url": "https://files.pythonhosted.org/packages/dd/36/e725903416409a533d92398e88ce665476f275081d0d7d42f9c4951999e5/librt-0.8.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "153188fe98a72f206042be10a2c6026139852805215ed9539186312d50a8e972", + "url": "https://files.pythonhosted.org/packages/f2/a0/95ced4e7b1267fe1e2720a111685bcddf0e781f7e9e0ce59d751c44dcfe5/librt-0.8.1-cp312-cp312-musllinux_1_2_i686.whl" } ], "project_name": "librt", "requires_dists": [], "requires_python": ">=3.9", - "version": "0.7.3" + "version": "0.8.1" }, { "artifacts": [ @@ -158,19 +173,25 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", - "url": "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl" + "hash": "fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", + "url": "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", - "url": "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz" + "hash": "0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645", + "url": "https://files.pythonhosted.org/packages/fa/36/e27608899f9b8d4dff0617b2d9ab17ca5608956ca44461ac14ac48b44015/pathspec-1.0.4.tar.gz" } ], "project_name": "pathspec", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "0.12.1" + "requires_dists": [ + "google-re2>=1.1; extra == \"re2\"", + "hyperscan>=0.7; extra == \"hyperscan\"", + "pytest>=9; extra == \"tests\"", + "typing-extensions>=4.15; extra == \"tests\"", + "typing-extensions>=4; extra == \"optional\"" + ], + "requires_python": ">=3.9", + "version": "1.0.4" }, { "artifacts": [ @@ -191,6 +212,7 @@ "version": "4.15.0" } ], + "marker": null, "platform_tag": null } ], @@ -198,14 +220,14 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.45.2", + "pex_version": "2.81.0", "pip_version": "24.2", "prefer_older_binary": false, "requirements": [ "mypy==1.19.1" ], "requires_python": [ - "==3.12.*" + "CPython==3.12.*" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/3rdparty/pytest_lockfile.txt b/3rdparty/pytest_lockfile.txt index 322803c19..53155493d 100644 --- a/3rdparty/pytest_lockfile.txt +++ b/3rdparty/pytest_lockfile.txt @@ -4,7 +4,7 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 6, // "valid_for_interpreter_constraints": [ // "CPython==3.12.*" // ], @@ -20,7 +20,12 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [], +// "sources": [], +// "lock_style": "universal", +// "complete_platforms": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -39,63 +44,73 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "850d2998f380b1e266459ca5b47bc9e7daf9af1d070f66317972f382d46f1904", - "url": "https://files.pythonhosted.org/packages/8d/4c/1968f32fb9a2604645827e11ff84a31e59d532e01995f904723b4f5328b3/coverage-7.13.0-py3-none-any.whl" + "hash": "1af1641e57cf7ba1bd67d677c9abdbcd6cc2ab7da3bca7fa1e2b7e50e65f2ad0", + "url": "https://files.pythonhosted.org/packages/0d/4a/331fe2caf6799d591109bb9c08083080f6de90a823695d412a935622abb2/coverage-7.13.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "5f5d9bd30756fff3e7216491a0d6d520c448d5124d3d8e8f56446d6412499e74", - "url": "https://files.pythonhosted.org/packages/0d/f8/972a5affea41de798691ab15d023d3530f9f56a72e12e243f35031846ff7/coverage-7.13.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + "hash": "ee756f00726693e5ba94d6df2bdfd64d4852d23b09bb0bc700e3b30e6f333985", + "url": "https://files.pythonhosted.org/packages/03/94/0a4b12f1d0e029ce1ccc1c800944a9984cbe7d678e470bb6d3c6bc38a0da/coverage-7.13.4-cp312-cp312-musllinux_1_2_riscv64.whl" }, { "algorithm": "sha256", - "hash": "3ab483ea0e251b5790c2aac03acde31bff0c736bf8a86829b89382b407cd1c3b", - "url": "https://files.pythonhosted.org/packages/19/98/8df9e1af6a493b03694a1e8070e024e7d2cdc77adedc225a35e616d505de/coverage-7.13.0-cp312-cp312-musllinux_1_2_riscv64.whl" + "hash": "e5c8f6ed1e61a8b2dcdf31eb0b9bbf0130750ca79c1c49eb898e2ad86f5ccc91", + "url": "https://files.pythonhosted.org/packages/24/56/95b7e30fa389756cb56630faa728da46a27b8c6eb46f9d557c68fff12b65/coverage-7.13.4.tar.gz" }, { "algorithm": "sha256", - "hash": "581f086833d24a22c89ae0fe2142cfaa1c92c930adf637ddf122d55083fb5a0f", - "url": "https://files.pythonhosted.org/packages/2b/11/30d71ae5d6e949ff93b2a79a2c1b4822e00423116c5c6edfaeef37301396/coverage-7.13.0-cp312-cp312-macosx_11_0_arm64.whl" + "hash": "de6defc1c9badbf8b9e67ae90fd00519186d6ab64e5cc5f3d21359c2a9b2c1d3", + "url": "https://files.pythonhosted.org/packages/2d/4d/26d236ff35abc3b5e63540d3386e4c3b192168c1d96da5cb2f43c640970f/coverage-7.13.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "583221913fbc8f53b88c42e8dbb8fca1d0f2e597cb190ce45916662b8b9d9621", - "url": "https://files.pythonhosted.org/packages/5b/b6/51b5d1eb6fcbb9a1d5d6984e26cbe09018475c2922d554fd724dd0f056ee/coverage-7.13.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" + "hash": "25381386e80ae727608e662474db537d4df1ecd42379b5ba33c84633a2b36d47", + "url": "https://files.pythonhosted.org/packages/51/24/8cd73dd399b812cc76bb0ac260e671c4163093441847ffe058ac9fda1e32/coverage-7.13.4-cp312-cp312-musllinux_1_2_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "0a3a30f0e257df382f5f9534d4ce3d4cf06eafaf5192beb1a7bd066cb10e78fb", - "url": "https://files.pythonhosted.org/packages/79/c2/fce80fc6ded8d77e53207489d6065d0fed75db8951457f9213776615e0f5/coverage-7.13.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" + "hash": "40aa8808140e55dc022b15d8aa7f651b6b3d68b365ea0398f1441e0b04d859c3", + "url": "https://files.pythonhosted.org/packages/5d/96/5238b1efc5922ddbdc9b0db9243152c09777804fb7c02ad1741eb18a11c0/coverage-7.13.4-cp312-cp312-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "a23e5a1f8b982d56fa64f8e442e037f6ce29322f1f9e6c2344cd9e9f4407ee57", - "url": "https://files.pythonhosted.org/packages/8a/56/116513aee860b2c7968aa3506b0f59b22a959261d1dbf3aea7b4450a7520/coverage-7.13.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" + "hash": "2c048ea43875fbf8b45d476ad79f179809c590ec7b79e2035c662e7afa3192e3", + "url": "https://files.pythonhosted.org/packages/5d/a0/2ea570925524ef4e00bb6c82649f5682a77fac5ab910a65c9284de422600/coverage-7.13.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl" }, { "algorithm": "sha256", - "hash": "0b3d67d31383c4c68e19a88e28fc4c2e29517580f1b0ebec4a069d502ce1e0bf", - "url": "https://files.pythonhosted.org/packages/9b/f1/2619559f17f31ba00fc40908efd1fbf1d0a5536eb75dc8341e7d660a08de/coverage-7.13.0-cp312-cp312-macosx_10_13_x86_64.whl" + "hash": "fdfc1e28e7c7cdce44985b3043bc13bbd9c747520f94a4d7164af8260b3d91f0", + "url": "https://files.pythonhosted.org/packages/73/44/6002fbf88f6698ca034360ce474c406be6d5a985b3fdb3401128031eef6b/coverage-7.13.4-cp312-cp312-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "a394aa27f2d7ff9bc04cf703817773a59ad6dfbd577032e690f961d2460ee936", - "url": "https://files.pythonhosted.org/packages/b6/45/2c665ca77ec32ad67e25c77daf1cee28ee4558f3bc571cdbaf88a00b9f23/coverage-7.13.0.tar.gz" + "hash": "e87f6c587c3f34356c3759f0420693e35e7eb0e2e41e4c011cb6ec6ecbbf1db7", + "url": "https://files.pythonhosted.org/packages/77/33/50116647905837c66d28b2af1321b845d5f5d19be9655cb84d4a0ea806b4/coverage-7.13.4-cp312-cp312-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "9b01c22bc74a7fb44066aaf765224c0d933ddf1f5047d6cdfe4795504a4493f8", - "url": "https://files.pythonhosted.org/packages/d6/75/074476d64248fbadf16dfafbf93fdcede389ec821f74ca858d7c87d2a98c/coverage-7.13.0-cp312-cp312-musllinux_1_2_aarch64.whl" + "hash": "5b856a8ccf749480024ff3bd7310adaef57bf31fd17e1bfc404b7940b6986634", + "url": "https://files.pythonhosted.org/packages/78/72/2f372b726d433c9c35e56377cf1d513b4c16fe51841060d826b95caacec1/coverage-7.13.4-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl" }, { "algorithm": "sha256", - "hash": "1d84e91521c5e4cb6602fe11ece3e1de03b2760e14ae4fcf1a4b56fa3c801fcd", - "url": "https://files.pythonhosted.org/packages/d8/71/f8679231f3353018ca66ef647fa6fe7b77e6bff7845be54ab84f86233363/coverage-7.13.0-cp312-cp312-musllinux_1_2_x86_64.whl" + "hash": "8248977c2e33aecb2ced42fef99f2d319e9904a36e55a8a68b69207fb7e43edc", + "url": "https://files.pythonhosted.org/packages/c2/b4/8efb11a46e3665d92635a56e4f2d4529de6d33f2cb38afd47d779d15fc99/coverage-7.13.4-cp312-cp312-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "898cce66d0836973f48dda4e3514d863d70142bdf6dfab932b9b6a90ea5b222d", - "url": "https://files.pythonhosted.org/packages/f2/d2/aa4f8acd1f7c06024705c12609d8698c51b27e4d635d717cd1934c9668e2/coverage-7.13.0-cp312-cp312-musllinux_1_2_i686.whl" + "hash": "02231499b08dabbe2b96612993e5fc34217cdae907a51b906ac7fca8027a4459", + "url": "https://files.pythonhosted.org/packages/d1/81/4ce2fdd909c5a0ed1f6dedb88aa57ab79b6d1fbd9b588c1ac7ef45659566/coverage-7.13.4-cp312-cp312-macosx_10_13_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b7b38448866e83176e28086674fe7368ab8590e4610fb662b44e345b86d63ffa", + "url": "https://files.pythonhosted.org/packages/e8/ac/45dc2e19a1939098d783c846e130b8f862fbb50d09e0af663988f2f21973/coverage-7.13.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7eda778067ad7ffccd23ecffce537dface96212576a07924cbf0d8799d2ded5a", + "url": "https://files.pythonhosted.org/packages/ec/55/14a966c757d1348b2e19caf699415a2a4c4f7feaa4bbc6326a51f5c7dd1b/coverage-7.13.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl" } ], "project_name": "coverage", @@ -103,25 +118,25 @@ "tomli; python_full_version <= \"3.11.0a6\" and extra == \"toml\"" ], "requires_python": ">=3.10", - "version": "7.13.0" + "version": "7.13.4" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "f05d1b3623223dd1c70f7848da7d699de3d9a2550b902a8234d9026292fb5762", - "url": "https://files.pythonhosted.org/packages/7c/2a/b3178baa75a3ec75a33588252296c82a1332d2b83cd01061539b74bde9dd/icdiff-2.0.7-py3-none-any.whl" + "hash": "fd8ce592d94261c435e2a410f668a41ec3be4527878f8df01100797021d8edb0", + "url": "https://files.pythonhosted.org/packages/85/4b/bb94514476624bfff977599e5ef3ac9aea603abb693639ed305b22ed1b35/icdiff-2.0.10-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f79a318891adbf59a45e3a7694f5e1f18c5407065264637072ac8363b759866f", - "url": "https://files.pythonhosted.org/packages/fa/e4/43341832be5f2bcae71eb3ef08a07aaef9b74f74fe0b3675f62bd12057fe/icdiff-2.0.7.tar.gz" + "hash": "75a3de5c9af35ab45fb0504df59770c514a12c0d2b2c99e5f9c5c2429957e133", + "url": "https://files.pythonhosted.org/packages/5b/6d/41c8ff13b67c30ceb9325398ff6bb9fc4b77208c6c1d79db8d5913840bc6/icdiff-2.0.10.tar.gz" } ], "project_name": "icdiff", "requires_dists": [], "requires_python": null, - "version": "2.0.7" + "version": "2.0.10" }, { "artifacts": [ @@ -145,19 +160,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", - "url": "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl" + "hash": "b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", + "url": "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", - "url": "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz" + "hash": "00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", + "url": "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz" } ], "project_name": "packaging", "requires_dists": [], "requires_python": ">=3.8", - "version": "25.0" + "version": "26.0" }, { "artifacts": [ @@ -407,6 +422,7 @@ "version": "4.15.0" } ], + "marker": null, "platform_tag": null } ], @@ -414,7 +430,7 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.45.2", + "pex_version": "2.81.0", "pip_version": "24.2", "prefer_older_binary": false, "requirements": [ @@ -427,7 +443,7 @@ "pytest-timeout" ], "requires_python": [ - "==3.12.*" + "CPython==3.12.*" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/3rdparty/requirements.txt b/3rdparty/requirements.txt index 325ce6818..90b700d2f 100644 --- a/3rdparty/requirements.txt +++ b/3rdparty/requirements.txt @@ -1,12 +1,12 @@ Cython~=3.2.2 Flask~=3.1.2 -Pillow~=12.0.0 +Pillow~=12.1.1 PyYAML~=6.0.3 aiofiles~=25.1.0 aiologger~=0.7.0 aiorun~=2025.1.1 apispec-webframeworks~=1.2.0 # dependency on Flask has to be specified manually! -apispec[yaml]~=6.9.0 +apispec[yaml]~=6.10.0 autopep8~=2.3.2 colorlog~=6.10.1 ciso8601~=2.3.3 @@ -19,7 +19,7 @@ lru-dict~=1.4.1 numpy-quaternion[scipy,numba]~=2024.0.13 numpy~=2.3.5 open3d==0.19.0 -openapi-spec-validator~=0.7.2 +openapi-spec-validator~=0.8.4 opencv-contrib-python~=4.10.0.84 orjson~=3.11.4 packaging~=25.0 @@ -32,7 +32,7 @@ pytest-repeat~=0.9.4 pytest~=9.0.1 python-dateutil~=2.9.0.post0 requests~=2.32.5 -setuptools~=80.9.0 +setuptools~=82.0.1 sqlitedict~=2.1.0 types-playsound~=1.3.1.20241019 typing-inspect~=0.9.0 @@ -44,11 +44,11 @@ werkzeug~=3.1.4 types-PyYAML==6.0.12.20250915 types-aiofiles==25.1.0.20251011 types-orjson==3.6.2 -types-python-dateutil==2.9.0.20251115 -types-requests==2.32.4.20250913 -types-setuptools==80.9.0.20250822 +types-python-dateutil==2.9.0.20260305 +types-requests==2.32.4.20260107 +types-setuptools==82.0.0.20260210 pydub-stubs==0.25.1.6 -opencv-stubs[opencv-contrib]==0.1.1 +opencv-stubs[opencv-contrib]==0.1.3 lark==1.3.1 # pymodbus 3.11.x available, requires code changes (client API/slave param); pinned to 3.7.x. pymodbus~=3.7.4 diff --git a/3rdparty/setuptools-requirements.txt b/3rdparty/setuptools-requirements.txt index d6fc62393..b8ad9e008 100644 --- a/3rdparty/setuptools-requirements.txt +++ b/3rdparty/setuptools-requirements.txt @@ -1 +1 @@ -setuptools==74.1.2 \ No newline at end of file +setuptools==82.0.1 diff --git a/3rdparty/setuptools_lockfile.txt b/3rdparty/setuptools_lockfile.txt index a782a9b79..91d73342c 100644 --- a/3rdparty/setuptools_lockfile.txt +++ b/3rdparty/setuptools_lockfile.txt @@ -4,17 +4,22 @@ // // --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- // { -// "version": 3, +// "version": 6, // "valid_for_interpreter_constraints": [ // "CPython==3.12.*" // ], // "generated_with_requirements": [ -// "setuptools==74.1.2" +// "setuptools==82.0.1" // ], // "manylinux": "manylinux2014", // "requirement_constraints": [], // "only_binary": [], -// "no_binary": [] +// "no_binary": [], +// "excludes": [], +// "overrides": [], +// "sources": [], +// "lock_style": "universal", +// "complete_platforms": [] // } // --- END PANTS LOCKFILE METADATA --- @@ -33,13 +38,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5f4c08aa4d3ebcb57a50c33b1b07e94315d7fc7230f7115e47fc99776c8ce308", - "url": "https://files.pythonhosted.org/packages/cb/9c/9ad11ac06b97e55ada655f8a6bea9d1d3f06e120b178cd578d80e558191d/setuptools-74.1.2-py3-none-any.whl" + "hash": "a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb", + "url": "https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "95b40ed940a1c67eb70fc099094bd6e99c6ee7c23aa2306f4d2697ba7916f9c6", - "url": "https://files.pythonhosted.org/packages/3e/2c/f0a538a2f91ce633a78daaeb34cbfb93a54bd2132a6de1f6cec028eee6ef/setuptools-74.1.2.tar.gz" + "hash": "7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", + "url": "https://files.pythonhosted.org/packages/4f/db/cfac1baf10650ab4d1c111714410d2fbb77ac5a616db26775db562c8fab2/setuptools-82.0.1.tar.gz" } ], "project_name": "setuptools", @@ -47,24 +52,24 @@ "build[virtualenv]>=1.0.3; extra == \"test\"", "filelock>=3.4.0; extra == \"test\"", "furo; extra == \"doc\"", - "importlib-metadata>=6; python_version < \"3.10\" and extra == \"core\"", - "importlib-metadata>=7.0.2; python_version < \"3.10\" and extra == \"type\"", - "importlib-resources>=5.10.2; python_version < \"3.9\" and extra == \"core\"", + "importlib_metadata>=6; python_version < \"3.10\" and extra == \"core\"", + "importlib_metadata>=7.0.2; python_version < \"3.10\" and extra == \"type\"", "ini2toml[lite]>=0.14; extra == \"test\"", "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"test\"", "jaraco.develop>=7.21; sys_platform != \"cygwin\" and extra == \"type\"", "jaraco.envs>=2.2; extra == \"test\"", + "jaraco.functools>=4; extra == \"core\"", "jaraco.packaging>=9.3; extra == \"doc\"", - "jaraco.path>=3.2.0; extra == \"test\"", - "jaraco.test; extra == \"test\"", + "jaraco.path>=3.7.2; extra == \"test\"", + "jaraco.test>=5.5; extra == \"test\"", "jaraco.text>=3.7; extra == \"core\"", "jaraco.tidelift>=1.4; extra == \"doc\"", - "more-itertools>=8.8; extra == \"core\"", - "mypy==1.11.*; extra == \"type\"", - "packaging>=23.2; extra == \"test\"", - "packaging>=24; extra == \"core\"", + "more_itertools; extra == \"core\"", + "more_itertools>=8.8; extra == \"core\"", + "mypy==1.18.*; extra == \"type\"", + "packaging>=24.2; extra == \"core\"", + "packaging>=24.2; extra == \"test\"", "pip>=19.1; extra == \"test\"", - "platformdirs>=2.6.2; extra == \"core\"", "pygments-github-lexers==0.0.5; extra == \"doc\"", "pyproject-hooks!=1.1; extra == \"doc\"", "pyproject-hooks!=1.1; extra == \"test\"", @@ -80,7 +85,7 @@ "pytest-timeout; extra == \"test\"", "pytest-xdist>=3; extra == \"test\"", "rst.linker>=1.9; extra == \"doc\"", - "ruff>=0.5.2; sys_platform != \"cygwin\" and extra == \"check\"", + "ruff>=0.13.0; sys_platform != \"cygwin\" and extra == \"check\"", "sphinx-favicon; extra == \"doc\"", "sphinx-inline-tabs; extra == \"doc\"", "sphinx-lint; extra == \"doc\"", @@ -95,10 +100,11 @@ "wheel>=0.43.0; extra == \"core\"", "wheel>=0.44.0; extra == \"test\"" ], - "requires_python": ">=3.8", - "version": "74.1.2" + "requires_python": ">=3.9", + "version": "82.0.1" } ], + "marker": null, "platform_tag": null } ], @@ -106,14 +112,14 @@ "only_wheels": [], "overridden": [], "path_mappings": {}, - "pex_version": "2.45.2", + "pex_version": "2.81.0", "pip_version": "24.2", "prefer_older_binary": false, "requirements": [ - "setuptools==74.1.2" + "setuptools==82.0.1" ], "requires_python": [ - "==3.12.*" + "CPython==3.12.*" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..221f5babe --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,54 @@ +# AGENTS.md +Repo-wide guidance for coding agents working in this repository. + +## Repo Layout +- `src/python/`: Python packages, service code, scripts, and tests. Most packages map to one ARCOR2 service or robot + integration. +- `src/docker/`: Docker image definitions packaged through Pants `docker_image` targets. +- `3rdparty/`: Central Python dependency declarations and generated lockfiles for runtime and tool resolves. +- `build-support/`: Helper scripts used by CI and local setup. +- `compose-files/`: Demo and deployment compose stacks. `compose-files/fit-demo` is the easiest no-hardware smoke path. +- `pants-plugins/`: Local Pants macros and plugins. + +## Working Rules +- Use Pants as the primary entry point for linting, type checking, tests, packaging, and BUILD-file maintenance. +- Keep dependency declarations centralized in `3rdparty/`; do not introduce ad-hoc per-package requirements files. +- Treat `3rdparty/constraints.txt` and `3rdparty/*_lockfile.txt` as generated artifacts. Edit the matching + `*requirements.txt` inputs, then regenerate them with Pants. +- Keep changes scoped to the relevant package or service. Avoid broad refactors across unrelated `src/python/arcor2_*` + packages unless the task explicitly requires it. +- Prefer ASCII-only edits unless the file already requires non-ASCII content. + +## Dependencies and Packaging +- When runtime dependencies change, update `3rdparty/requirements.txt` and regenerate lockfiles with + `pants generate-lockfiles`. +- When tool dependencies change, update the matching file in `3rdparty/` (`mypy-requirements.txt`, + `pytest-requirements.txt`, `flake8-requirements.txt`, `setuptools-requirements.txt`) and regenerate lockfiles. +- Keep ROS Jazzy packages in `build-support/install_ur_dependencies.sh` pinned unless the goal is a deliberate UR stack + upgrade. Those pins keep host-side tests and the `arcor2_ur` image on the same stack over time. +- Do not reintroduce exact Ubuntu package pins in Dockerfiles unless there is a clear reproducibility reason and the + hadolint policy is updated with it. + +## CI And Verification +- Start with focused Pants commands over the touched scope, then widen only if needed. Run one Pants command at a + time. +- Common verification commands: + - `pants update-build-files :: --check` + - `pants lint` + - `pants check` + - `source /opt/ros/jazzy/setup.bash && pants test ::` + - `pants package ::` +- For Docker changes, also run: + - `pants lint src/docker::` + - `pants --filter-target-type=docker_image --changed-since=origin/master --changed-dependents=transitive package` +- For Python distribution changes, keep the package-validation step green: + - `pants --filter-target-type=python_distribution package ::` + - install `dist/*.tar.gz` into a fresh virtualenv + - `pip install "pipdeptree==2.30.0" && pipdeptree -w fail` +- If BUILD metadata may have drifted after file moves or new modules, run `pants update-build-files ::` before + handoff. + +## Docs +- Keep `README.md` high-level and user-facing. Put deeper developer workflow notes in the wiki or focused docs. +- Update docs when changing developer workflow, release flow, CI behavior, or dependency policy. +- By default, do not create git commits unless the user explicitly asks for one. diff --git a/compose-files/fit-demo/docker-compose.2.yml b/compose-files/fit-demo/docker-compose.2.yml index 94181c6f0..6e2f33f65 100644 --- a/compose-files/fit-demo/docker-compose.2.yml +++ b/compose-files/fit-demo/docker-compose.2.yml @@ -38,7 +38,7 @@ services: - fit-demo2-network fit-demo2-execution: - image: arcor2/arcor2_execution:1.6.0 + image: arcor2/arcor2_execution:1.7.0 container_name: fit-demo2-execution networks: - fit-demo2-network diff --git a/pants-plugins/setup_kwargs_plugin/register.py b/pants-plugins/setup_kwargs_plugin/register.py index 7e22160e5..e219c4628 100644 --- a/pants-plugins/setup_kwargs_plugin/register.py +++ b/pants-plugins/setup_kwargs_plugin/register.py @@ -1,12 +1,12 @@ from packaging.version import InvalidVersion, Version from pants.backend.python.target_types import PythonProvidesField -from pants.backend.python.util_rules.package_dists import SetupKwargsRequest, SetupKwargs +from pants.backend.python.util_rules.package_dists import SetupKwargs, SetupKwargsRequest +from pants.engine.fs import GlobMatchErrorBehavior, PathGlobs +from pants.engine.intrinsics import get_digest_contents +from pants.engine.rules import collect_rules, implicitly, rule from pants.engine.target import Target -from pants.engine.rules import collect_rules from pants.engine.unions import UnionRule -from pants.engine.rules import Get, rule -from pants.engine.fs import DigestContents, GlobMatchErrorBehavior, PathGlobs class CustomSetupKwargsRequest(SetupKwargsRequest): @@ -22,18 +22,22 @@ def rules(): ] +async def _read_required_file(spec_path: str, filename: str) -> str: + digest_contents = await get_digest_contents( + **implicitly( + PathGlobs( + [f"{spec_path}/{filename}"], + description_of_origin="`setup_py()` plugin", + glob_match_error_behavior=GlobMatchErrorBehavior.error, + ) + ) + ) + return digest_contents[0].content.decode().strip() + + @rule async def setup_kwargs_plugin(request: CustomSetupKwargsRequest) -> SetupKwargs: - - version_digest_contents = await Get( - DigestContents, - PathGlobs( - [f"{request.target.address.spec_path}/VERSION"], - description_of_origin="`setup_py()` plugin", - glob_match_error_behavior=GlobMatchErrorBehavior.error, - ), - ) - version = version_digest_contents[0].content.decode().strip() + version = await _read_required_file(request.target.address.spec_path, "VERSION") package_name = request.target[PythonProvidesField].value.kwargs["name"] @@ -42,32 +46,16 @@ async def setup_kwargs_plugin(request: CustomSetupKwargsRequest) -> SetupKwargs: except InvalidVersion as exc: raise ValueError(f"Version {version} of {package_name} is not valid.") from exc - desc_digest_contents = await Get( - DigestContents, - PathGlobs( - [f"{request.target.address.spec_path}/README.md"], - description_of_origin="`setup_py()` plugin", - glob_match_error_behavior=GlobMatchErrorBehavior.error, - ), - ) - long_description = desc_digest_contents[0].content.decode().strip() + long_description = await _read_required_file(request.target.address.spec_path, "README.md") - changelog_digest_contents = await Get( - DigestContents, - PathGlobs( - [f"{request.target.address.spec_path}/CHANGELOG.md"], - description_of_origin="`setup_py()` plugin", - glob_match_error_behavior=GlobMatchErrorBehavior.error, - ), - ) - changelog = changelog_digest_contents[0].content.decode().strip() + changelog = await _read_required_file(request.target.address.spec_path, "CHANGELOG.md") return SetupKwargs( { **request.explicit_kwargs, "version": version, "long_description": f"{long_description}\n{changelog}", - "long_description_content_type": "text/markdown" - }, - address=request.target.address + "long_description_content_type": "text/markdown", + }, + address=request.target.address, ) diff --git a/pants.toml b/pants.toml index 7ba87e496..be2ae32c0 100644 --- a/pants.toml +++ b/pants.toml @@ -1,5 +1,5 @@ [GLOBAL] -pants_version = "2.28.0" +pants_version = "2.31.0" colors = true process_execution_local_parallelism = 4 diff --git a/pyproject.toml b/pyproject.toml index 36fc99ffb..519e38e33 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,3 @@ [tool.black] line-length = 120 -target-version = ['py311'] \ No newline at end of file +target-version = ['py312'] diff --git a/src/docker/arcor2_arserver/Dockerfile b/src/docker/arcor2_arserver/Dockerfile index 8d8ee14f5..812f15fe9 100644 --- a/src/docker/arcor2_arserver/Dockerfile +++ b/src/docker/arcor2_arserver/Dockerfile @@ -1,12 +1,12 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_arserver.scripts/arserver.pex /binary.pex RUN PEX_TOOLS=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_arserver.scripts/arserver.pex /binary.pex RUN PEX_TOOLS=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN set -euo pipefail \ diff --git a/src/docker/arcor2_build/Dockerfile b/src/docker/arcor2_build/Dockerfile index d42f8c472..0fc22b401 100644 --- a/src/docker/arcor2_build/Dockerfile +++ b/src/docker/arcor2_build/Dockerfile @@ -1,12 +1,12 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_build.scripts/build.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_build.scripts/build.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm SHELL ["/bin/bash", "-o", "pipefail", "-c"] # curl is for healthcheck diff --git a/src/docker/arcor2_calibration/Dockerfile b/src/docker/arcor2_calibration/Dockerfile index 685566c0c..290b06199 100644 --- a/src/docker/arcor2_calibration/Dockerfile +++ b/src/docker/arcor2_calibration/Dockerfile @@ -1,12 +1,12 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_calibration.scripts/calibration.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_calibration.scripts/calibration.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm SHELL ["/bin/bash", "-o", "pipefail", "-c"] # libgomp1 and libusb-1.0-0 are because of Open3D diff --git a/src/docker/arcor2_dobot/Dockerfile b/src/docker/arcor2_dobot/Dockerfile index 38aa3e375..f71e76d45 100644 --- a/src/docker/arcor2_dobot/Dockerfile +++ b/src/docker/arcor2_dobot/Dockerfile @@ -1,12 +1,12 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_dobot.scripts/dobot.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_dobot.scripts/dobot.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm SHELL ["/bin/bash", "-o", "pipefail", "-c"] # curl is for healthcheck diff --git a/src/docker/arcor2_execution/Dockerfile b/src/docker/arcor2_execution/Dockerfile index 8dd21466b..a5998688e 100644 --- a/src/docker/arcor2_execution/Dockerfile +++ b/src/docker/arcor2_execution/Dockerfile @@ -1,12 +1,12 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_execution.scripts/execution.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_execution.scripts/execution.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN set -euo pipefail \ diff --git a/src/docker/arcor2_execution_proxy/Dockerfile b/src/docker/arcor2_execution_proxy/Dockerfile index 6c78729f8..331a42afb 100644 --- a/src/docker/arcor2_execution_proxy/Dockerfile +++ b/src/docker/arcor2_execution_proxy/Dockerfile @@ -1,12 +1,12 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_execution_rest_proxy.scripts/execution_rest_proxy.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_execution_rest_proxy.scripts/execution_rest_proxy.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN mkdir -p /root/tokens \ diff --git a/src/docker/arcor2_scene/Dockerfile b/src/docker/arcor2_scene/Dockerfile index f9d06659f..ac2cd3f65 100644 --- a/src/docker/arcor2_scene/Dockerfile +++ b/src/docker/arcor2_scene/Dockerfile @@ -1,12 +1,12 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_scene.scripts/scene.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_scene.scripts/scene.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm SHELL ["/bin/bash", "-o", "pipefail", "-c"] # libgomp1 and libusb-1.0-0 are because of Open3D diff --git a/src/docker/arcor2_storage/Dockerfile b/src/docker/arcor2_storage/Dockerfile index 767839d6f..1ea3eeaf4 100644 --- a/src/docker/arcor2_storage/Dockerfile +++ b/src/docker/arcor2_storage/Dockerfile @@ -1,12 +1,12 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_storage.scripts/storage.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_storage.scripts/storage.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN set -euo pipefail \ diff --git a/src/docker/arcor2_upload_builtin_objects/Dockerfile b/src/docker/arcor2_upload_builtin_objects/Dockerfile index fe81bf670..c38e77354 100644 --- a/src/docker/arcor2_upload_builtin_objects/Dockerfile +++ b/src/docker/arcor2_upload_builtin_objects/Dockerfile @@ -1,12 +1,12 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_object_types.scripts/upload_object_types.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_object_types.scripts/upload_object_types.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm ENTRYPOINT ["/bin/app/pex"] COPY --from=deps /bin/app /bin/app diff --git a/src/docker/arcor2_upload_fit_demo/Dockerfile b/src/docker/arcor2_upload_fit_demo/Dockerfile index 43ab2f463..e11d4370d 100644 --- a/src/docker/arcor2_upload_fit_demo/Dockerfile +++ b/src/docker/arcor2_upload_fit_demo/Dockerfile @@ -1,13 +1,13 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_fit_demo.scripts/upload_objects.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_fit_demo.scripts/upload_objects.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm ENTRYPOINT ["/bin/app/pex"] COPY --from=deps /bin/app /bin/app -COPY --from=srcs /bin/app /bin/app \ No newline at end of file +COPY --from=srcs /bin/app /bin/app diff --git a/src/docker/arcor2_ur_ot/Dockerfile b/src/docker/arcor2_ur_ot/Dockerfile index 8e908c90f..31dbd202d 100644 --- a/src/docker/arcor2_ur_ot/Dockerfile +++ b/src/docker/arcor2_ur_ot/Dockerfile @@ -1,13 +1,13 @@ -FROM python:3.12.7-bookworm as deps +FROM python:3.12.12-bookworm as deps COPY src.python.arcor2_ur.scripts/upload_objects.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app -FROM python:3.12.7-bookworm as srcs +FROM python:3.12.12-bookworm as srcs COPY src.python.arcor2_ur.scripts/upload_objects.pex /binary.pex RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app -FROM python:3.12.7-bookworm +FROM python:3.12.12-bookworm ENTRYPOINT ["/bin/app/pex"] COPY --from=deps /bin/app /bin/app -COPY --from=srcs /bin/app /bin/app \ No newline at end of file +COPY --from=srcs /bin/app /bin/app