From d94b530fec8f7fbaa00bce7261603fcd95951cb2 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Wed, 26 Feb 2025 11:47:39 -0500 Subject: [PATCH 01/46] Test commit --- test.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 test.txt diff --git a/test.txt b/test.txt new file mode 100644 index 000000000000..b6f2dfbaed5c --- /dev/null +++ b/test.txt @@ -0,0 +1 @@ +This is a test file to confirm my fork is working From 794032fe1207fa77c4095bbec701864b9211dc39 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Wed, 26 Feb 2025 12:00:04 -0500 Subject: [PATCH 02/46] Test commit 2 --- test.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 test.txt diff --git a/test.txt b/test.txt deleted file mode 100644 index b6f2dfbaed5c..000000000000 --- a/test.txt +++ /dev/null @@ -1 +0,0 @@ -This is a test file to confirm my fork is working From c02966ef6ddd70e7114e9df34b7ea10a5ca085e4 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Wed, 26 Feb 2025 13:00:36 -0500 Subject: [PATCH 03/46] Test commit 3 --- .DS_Store | Bin 0 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..fa5e55bf1d7f7c94a653b30e703ff3becb435bd6 GIT binary patch literal 6148 zcmeH~J!->15QX2wE(~c@y4=PG$PE_boWK`I;ov67U`XmcdfxmrQCtTR-oVV;nbjca zE3_H_cKp1&026>6-4zE93p3^$T=9wKR-Zu6BDuL4gIGh=1KV!yT}A|L`HAOa#F z0xKerr#N=cD|#k9iU^3nItcjpq0wD?=}3)F2Sbbi)Gf Date: Wed, 26 Feb 2025 14:48:18 -0500 Subject: [PATCH 04/46] created new external files and calculated sha256 for cpplint commit --- tools/workspace/cpplint_internal/BUILD.bazel | 0 .../cpplint_internal/package.BUILD.bazel | 0 tools/workspace/cpplint_internal/repository.bzl | 15 +++++++++++++++ venv | 1 + 4 files changed, 16 insertions(+) create mode 100644 tools/workspace/cpplint_internal/BUILD.bazel create mode 100644 tools/workspace/cpplint_internal/package.BUILD.bazel create mode 100644 tools/workspace/cpplint_internal/repository.bzl create mode 120000 venv diff --git a/tools/workspace/cpplint_internal/BUILD.bazel b/tools/workspace/cpplint_internal/BUILD.bazel new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl new file mode 100644 index 000000000000..fd2d749a3aec --- /dev/null +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -0,0 +1,15 @@ +load("//tools/workspace:github.bzl", "github_archive") + +def cpplint_internal_repository( + name, + mirrors = None): + github_archive( + name = name, + repository = "cpplint/cpplint", + commit = "f4363d7fc0d5f38c4fd41b658e069e96583da0d5", + sha256 = "8bbba15797079b82f733a17b48f9da0c06d328cdaf14be12d37a0a5782d7be1a", # noqa + build_file = ":package.BUILD.bazel", + patches = [ + ], + mirrors = mirrors, + ) \ No newline at end of file diff --git a/venv b/venv new file mode 120000 index 000000000000..441688f6087d --- /dev/null +++ b/venv @@ -0,0 +1 @@ +/private/var/tmp/_bazel_aiden.mccormack/9598f1a1c587a95262ff87f0aa2eecbc.drake_python/venv.drake \ No newline at end of file From 2c13a4af213c3f1cb6f190711caa9417aa9e2e04 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Wed, 26 Feb 2025 15:00:26 -0500 Subject: [PATCH 05/46] copied files from old target to new external --- tools/workspace/cpplint_internal/.sha256.txt | 5 +++ tools/workspace/cpplint_internal/BUILD.bazel | 13 ++++++ .../cpplint_internal/package.BUILD.bazel | 40 +++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 tools/workspace/cpplint_internal/.sha256.txt diff --git a/tools/workspace/cpplint_internal/.sha256.txt b/tools/workspace/cpplint_internal/.sha256.txt new file mode 100644 index 000000000000..cab37ddc855e --- /dev/null +++ b/tools/workspace/cpplint_internal/.sha256.txt @@ -0,0 +1,5 @@ +sha-256 calculation for cpplint/cpplint commit f4363d7fc0d5f38c4fd41b658e069e96583da0d5 + + +shasum -a 256 cpplint-2.0.0.tar.gz +8bbba15797079b82f733a17b48f9da0c06d328cdaf14be12d37a0a5782d7be1a cpplint-2.0.0.tar.gz diff --git a/tools/workspace/cpplint_internal/BUILD.bazel b/tools/workspace/cpplint_internal/BUILD.bazel index e69de29bb2d1..7693364cc017 100644 --- a/tools/workspace/cpplint_internal/BUILD.bazel +++ b/tools/workspace/cpplint_internal/BUILD.bazel @@ -0,0 +1,13 @@ +load("//tools/lint:lint.bzl", "add_lint_tests") +load("//tools/skylark:py.bzl", "py_test") + +py_test( + name = "cpplint_unittest", + size = "small", + srcs = ["@styleguide//:test_files"], + data = ["@styleguide//:test_files"], + main = "@styleguide//:cpplint/cpplint_unittest.py", + tags = ["no_kcov"], +) + +add_lint_tests() \ No newline at end of file diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index e69de29bb2d1..c9ffd8134c9c 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -0,0 +1,40 @@ +# -*- bazel -*- + +load("@drake//tools/skylark:py.bzl", "py_binary") + +licenses(["notice"]) # BSD-3-Clause + +package(default_visibility = ["//visibility:public"]) + +# Export doc files for website publication. +exports_files(glob([ + "*", + "include/*", +])) + +# We can't set name="cpplint" here because that's the directory name so the +# sandbox gets confused. We'll give it a private name with a public alias. +py_binary( + name = "cpplint_binary", + srcs = ["cpplint/cpplint.py"], + imports = ["cpplint"], + main = "cpplint/cpplint.py", + python_version = "PY3", + srcs_version = "PY3", + visibility = [], +) + +alias( + name = "cpplint", + actual = ":cpplint_binary", +) + +filegroup( + name = "test_files", + testonly = True, + srcs = [ + "cpplint/cpplint.py", + "cpplint/cpplint_test_header.h", + "cpplint/cpplint_unittest.py", + ], +) From 1e9f54fe4ede7940d808c378e70f1b1428086ca7 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Wed, 26 Feb 2025 16:18:20 -0500 Subject: [PATCH 06/46] refactored bazel files to match cpplint repo structure --- tools/workspace/cpplint_internal/BUILD.bazel | 6 +++--- .../cpplint_internal/package.BUILD.bazel | 20 ++++++------------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/tools/workspace/cpplint_internal/BUILD.bazel b/tools/workspace/cpplint_internal/BUILD.bazel index 7693364cc017..11b7e10ca3b7 100644 --- a/tools/workspace/cpplint_internal/BUILD.bazel +++ b/tools/workspace/cpplint_internal/BUILD.bazel @@ -4,9 +4,9 @@ load("//tools/skylark:py.bzl", "py_test") py_test( name = "cpplint_unittest", size = "small", - srcs = ["@styleguide//:test_files"], - data = ["@styleguide//:test_files"], - main = "@styleguide//:cpplint/cpplint_unittest.py", + srcs = ["@cpplint_internal//:test_files"], + data = ["@cpplint_internal//:test_files"], + main = "@cpplint_internal//:cpplint_unittest.py", tags = ["no_kcov"], ) diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index c9ffd8134c9c..7f8f88fd3ef3 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -12,29 +12,21 @@ exports_files(glob([ "include/*", ])) -# We can't set name="cpplint" here because that's the directory name so the -# sandbox gets confused. We'll give it a private name with a public alias. + py_binary( - name = "cpplint_binary", - srcs = ["cpplint/cpplint.py"], - imports = ["cpplint"], - main = "cpplint/cpplint.py", + name = "cpplint", + srcs = ["cpplint.py"], + main = "cpplint.py", python_version = "PY3", srcs_version = "PY3", visibility = [], ) -alias( - name = "cpplint", - actual = ":cpplint_binary", -) - filegroup( name = "test_files", testonly = True, srcs = [ - "cpplint/cpplint.py", - "cpplint/cpplint_test_header.h", - "cpplint/cpplint_unittest.py", + "cpplint.py", + "cpplint_unittest.py", ], ) From d015cb5c5e5ae3523965693225c032e8b437889e Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Wed, 26 Feb 2025 16:30:56 -0500 Subject: [PATCH 07/46] modified default bazel file to run unit test --- MODULE.bazel | 1 + tools/workspace/default.bzl | 3 +++ 2 files changed, 4 insertions(+) diff --git a/MODULE.bazel b/MODULE.bazel index ee565a0ee0fd..ab5526ec1cd4 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -191,6 +191,7 @@ use_repo( "common_robotics_utilities_internal", "commons_io", # TODO(jwnimmer-tri) Mark as internal. "conex_internal", + "cpplint_internal", "csdp_internal", "curl_internal", "dm_control_internal", diff --git a/tools/workspace/default.bzl b/tools/workspace/default.bzl index 9203a6fc5fee..7cdce27e4f96 100644 --- a/tools/workspace/default.bzl +++ b/tools/workspace/default.bzl @@ -16,6 +16,7 @@ load("//tools/workspace/com_jidesoft_jide_oss:repository.bzl", "com_jidesoft_jid load("//tools/workspace/common_robotics_utilities_internal:repository.bzl", "common_robotics_utilities_internal_repository", "common_robotics_utilities_repository") # noqa load("//tools/workspace/commons_io:repository.bzl", "commons_io_repository") load("//tools/workspace/conex_internal:repository.bzl", "conex_internal_repository") # noqa +load("//tools/workspace/cpplint_internal:repository.bzl", "cpplint_internal_repository") load("//tools/workspace/crate_universe:repository.bzl", "crate_universe_repositories") # noqa load("//tools/workspace/csdp_internal:repository.bzl", "csdp_internal_repository") # noqa load("//tools/workspace/curl_internal:repository.bzl", "curl_internal_repository") # noqa @@ -171,6 +172,8 @@ def add_default_repositories( commons_io_repository(name = "commons_io", mirrors = mirrors, _is_drake_self_call = True) # noqa if "conex_internal" not in excludes: conex_internal_repository(name = "conex_internal", mirrors = mirrors) + if "cpplint_internal" not in excludes: + cpplint_internal_repository(name = "cpplint_internal", mirrors = mirrors) if "crate_universe" not in excludes: crate_universe_repositories(mirrors = mirrors, excludes = excludes, _is_drake_self_call = True) # noqa if "csdp_internal" not in excludes: From 0a8548d7a3a68de8362cce863677cc1dc2002d25 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Wed, 26 Feb 2025 17:44:48 -0500 Subject: [PATCH 08/46] WIP debugging dependency issue with parameterized library --- tools/workspace/cpplint_internal/package.BUILD.bazel | 5 +++-- tools/workspace/cpplint_internal/repository.bzl | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index 7f8f88fd3ef3..7f06044ce1b0 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -10,7 +10,7 @@ package(default_visibility = ["//visibility:public"]) exports_files(glob([ "*", "include/*", -])) +], allow_empty=True)) py_binary( @@ -19,7 +19,6 @@ py_binary( main = "cpplint.py", python_version = "PY3", srcs_version = "PY3", - visibility = [], ) filegroup( @@ -28,5 +27,7 @@ filegroup( srcs = [ "cpplint.py", "cpplint_unittest.py", + "pyproject.toml", + "setup.py" ], ) diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index fd2d749a3aec..55403d3ac477 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -7,7 +7,7 @@ def cpplint_internal_repository( name = name, repository = "cpplint/cpplint", commit = "f4363d7fc0d5f38c4fd41b658e069e96583da0d5", - sha256 = "8bbba15797079b82f733a17b48f9da0c06d328cdaf14be12d37a0a5782d7be1a", # noqa + sha256 = "c1502a16e609c65731cd6eb62b94eb2e4ef5be195e57d85a5619f4ff12a0de3e", # noqa build_file = ":package.BUILD.bazel", patches = [ ], From 22a814fa9450808ed380abb5ab42cb531b2a59d9 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 10:34:32 -0500 Subject: [PATCH 09/46] added relevant test dependencies to python venv --- setup/python/pdm.lock | 606 ++++++++++-------- setup/python/pyproject.toml | 2 + setup/python/requirements.txt | 30 +- tools/workspace/cpplint_internal/.sha256.txt | 5 - .../cpplint_internal/package.BUILD.bazel | 2 +- .../workspace/cpplint_internal/repository.bzl | 2 - 6 files changed, 348 insertions(+), 299 deletions(-) delete mode 100644 tools/workspace/cpplint_internal/.sha256.txt diff --git a/setup/python/pdm.lock b/setup/python/pdm.lock index bfb94ab97620..37c197ed65cf 100644 --- a/setup/python/pdm.lock +++ b/setup/python/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "test", "wheel"] strategy = ["inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:b809d9d13dff5455d6d7ccd47bb4c93d97d5348781bceea33709393623b2d975" +content_hash = "sha256:1d3eeb1a0c2bc213cd1ded8ecc1ad4b9d0bdfb39c63bfd18f0f12d6f4bfaf43b" [[metadata.targets]] requires_python = ">=3.10" @@ -157,7 +157,7 @@ files = [ [[package]] name = "babel" -version = "2.16.0" +version = "2.17.0" requires_python = ">=3.8" summary = "Internationalization utilities" groups = ["default"] @@ -165,22 +165,23 @@ dependencies = [ "pytz>=2015.7; python_version < \"3.9\"", ] files = [ - {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, - {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, + {file = "babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"}, + {file = "babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d"}, ] [[package]] name = "beautifulsoup4" -version = "4.12.3" -requires_python = ">=3.6.0" +version = "4.13.3" +requires_python = ">=3.7.0" summary = "Screen-scraping library" groups = ["default"] dependencies = [ "soupsieve>1.2", + "typing-extensions>=4.0.0", ] files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, + {file = "beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16"}, + {file = "beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b"}, ] [[package]] @@ -226,13 +227,13 @@ files = [ [[package]] name = "certifi" -version = "2024.12.14" +version = "2025.1.31" requires_python = ">=3.6" summary = "Python package for providing Mozilla's CA Bundle." groups = ["default"] files = [ - {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, - {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, + {file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, + {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, ] [[package]] @@ -378,7 +379,7 @@ version = "0.4.6" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" summary = "Cross-platform colored terminal text." groups = ["default", "test"] -marker = "platform_system == \"Windows\" or sys_platform == \"win32\"" +marker = "sys_platform == \"win32\" or platform_system == \"Windows\"" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, @@ -504,13 +505,13 @@ files = [ [[package]] name = "decorator" -version = "5.1.1" -requires_python = ">=3.5" +version = "5.2.1" +requires_python = ">=3.8" summary = "Decorators for Humans" groups = ["default"] files = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, + {file = "decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a"}, + {file = "decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360"}, ] [[package]] @@ -546,7 +547,7 @@ name = "exceptiongroup" version = "1.2.2" requires_python = ">=3.7" summary = "Backport of PEP 654 (exception groups)" -groups = ["default"] +groups = ["default", "test"] marker = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, @@ -595,45 +596,45 @@ files = [ [[package]] name = "fonttools" -version = "4.55.8" +version = "4.56.0" requires_python = ">=3.8" summary = "Tools to manipulate font files" groups = ["default"] files = [ - {file = "fonttools-4.55.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d11600f5343092697d7434f3bf77a393c7ae74be206fe30e577b9a195fd53165"}, - {file = "fonttools-4.55.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c96f2506ce1a0beeaa9595f9a8b7446477eb133f40c0e41fc078744c28149f80"}, - {file = "fonttools-4.55.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b5f05ef72e846e9f49ccdd74b9da4309901a4248434c63c1ee9321adcb51d65"}, - {file = "fonttools-4.55.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba45b637da80a262b55b7657aec68da2ac54b8ae7891cd977a5dbe5fd26db429"}, - {file = "fonttools-4.55.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:edcffaeadba9a334c1c3866e275d7dd495465e7dbd296f688901bdbd71758113"}, - {file = "fonttools-4.55.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b9f9fce3c9b2196e162182ec5db8af8eb3acd0d76c2eafe9fdba5f370044e556"}, - {file = "fonttools-4.55.8-cp310-cp310-win32.whl", hash = "sha256:f089e8da0990cfe2d67e81d9cf581ff372b48dc5acf2782701844211cd1f0eb3"}, - {file = "fonttools-4.55.8-cp310-cp310-win_amd64.whl", hash = "sha256:01ea3901b0802fc5f9e854f5aeb5bc27770dd9dd24c28df8f74ba90f8b3f5915"}, - {file = "fonttools-4.55.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:95f5a1d4432b3cea6571f5ce4f4e9b25bf36efbd61c32f4f90130a690925d6ee"}, - {file = "fonttools-4.55.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d20f152de7625a0008ba1513f126daaaa0de3b4b9030aa72dd5c27294992260"}, - {file = "fonttools-4.55.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5a3ff5bb95fd5a3962b2754f8435e6d930c84fc9e9921c51e802dddf40acd56"}, - {file = "fonttools-4.55.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b99d4fd2b6d0a00c7336c8363fccc7a11eccef4b17393af75ca6e77cf93ff413"}, - {file = "fonttools-4.55.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d637e4d33e46619c79d1a6c725f74d71b574cd15fb5bbb9b6f3eba8f28363573"}, - {file = "fonttools-4.55.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0f38bfb6b7a39c4162c3eb0820a0bdf8e3bdd125cd54e10ba242397d15e32439"}, - {file = "fonttools-4.55.8-cp311-cp311-win32.whl", hash = "sha256:acfec948de41cd5e640d5c15d0200e8b8e7c5c6bb82afe1ca095cbc4af1188ee"}, - {file = "fonttools-4.55.8-cp311-cp311-win_amd64.whl", hash = "sha256:604c805b41241b4880e2dc86cf2d4754c06777371c8299799ac88d836cb18c3b"}, - {file = "fonttools-4.55.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63403ee0f2fa4e1de28e539f8c24f2bdca1d8ecb503fa9ea2d231d9f1e729809"}, - {file = "fonttools-4.55.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:302e1003a760b222f711d5ba6d1ad7fd5f7f713eb872cd6a3eb44390bc9770af"}, - {file = "fonttools-4.55.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e72a7816ff8a759be9ca36ca46934f8ccf4383711ef597d9240306fe1878cb8d"}, - {file = "fonttools-4.55.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03c2b50b54e6e8b3564b232e57e8f58be217cf441cf0155745d9e44a76f9c30f"}, - {file = "fonttools-4.55.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7230f7590f9570d26ee903b6a4540274494e200fae978df0d9325b7b9144529"}, - {file = "fonttools-4.55.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:466a78984f0572305c3c48377f4e3f7f4e909f1209f45ef8e7041d5c8a744a56"}, - {file = "fonttools-4.55.8-cp312-cp312-win32.whl", hash = "sha256:243cbfc0b7cb1c307af40e321f8343a48d0a080bc1f9466cf2b5468f776ef108"}, - {file = "fonttools-4.55.8-cp312-cp312-win_amd64.whl", hash = "sha256:a19059aa892676822c1f05cb5a67296ecdfeb267fe7c47d4758f3e8e942c2b2a"}, - {file = "fonttools-4.55.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:332883b6280b9d90d2ba7e9e81be77cf2ace696161e60cdcf40cfcd2b3ed06fa"}, - {file = "fonttools-4.55.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6b8d7c149d47b47de7ec81763396c8266e5ebe2e0b14aa9c3ccf29e52260ab2f"}, - {file = "fonttools-4.55.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4dfae7c94987149bdaa0388e6c937566aa398fa0eec973b17952350a069cff4e"}, - {file = "fonttools-4.55.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0fe12f06169af2fdc642d26a8df53e40adc3beedbd6ffedb19f1c5397b63afd"}, - {file = "fonttools-4.55.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f971aa5f50c22dc4b63a891503624ae2c77330429b34ead32f23c2260c5618cd"}, - {file = "fonttools-4.55.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:708cb17b2590b7f6c6854999df0039ff1140dda9e6f56d67c3599ba6f968fab5"}, - {file = "fonttools-4.55.8-cp313-cp313-win32.whl", hash = "sha256:cfe9cf30f391a0f2875247a3e5e44d8dcb61596e5cf89b360cdffec8a80e9961"}, - {file = "fonttools-4.55.8-cp313-cp313-win_amd64.whl", hash = "sha256:1e10efc8ee10d6f1fe2931d41bccc90cd4b872f2ee4ff21f2231a2c293b2dbf8"}, - {file = "fonttools-4.55.8-py3-none-any.whl", hash = "sha256:07636dae94f7fe88561f9da7a46b13d8e3f529f87fdb221b11d85f91eabceeb7"}, - {file = "fonttools-4.55.8.tar.gz", hash = "sha256:54d481d456dcd59af25d4a9c56b2c4c3f20e9620b261b84144e5950f33e8df17"}, + {file = "fonttools-4.56.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:331954d002dbf5e704c7f3756028e21db07097c19722569983ba4d74df014000"}, + {file = "fonttools-4.56.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d1613abd5af2f93c05867b3a3759a56e8bf97eb79b1da76b2bc10892f96ff16"}, + {file = "fonttools-4.56.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:705837eae384fe21cee5e5746fd4f4b2f06f87544fa60f60740007e0aa600311"}, + {file = "fonttools-4.56.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc871904a53a9d4d908673c6faa15689874af1c7c5ac403a8e12d967ebd0c0dc"}, + {file = "fonttools-4.56.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38b947de71748bab150259ee05a775e8a0635891568e9fdb3cdd7d0e0004e62f"}, + {file = "fonttools-4.56.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:86b2a1013ef7a64d2e94606632683f07712045ed86d937c11ef4dde97319c086"}, + {file = "fonttools-4.56.0-cp310-cp310-win32.whl", hash = "sha256:133bedb9a5c6376ad43e6518b7e2cd2f866a05b1998f14842631d5feb36b5786"}, + {file = "fonttools-4.56.0-cp310-cp310-win_amd64.whl", hash = "sha256:17f39313b649037f6c800209984a11fc256a6137cbe5487091c6c7187cae4685"}, + {file = "fonttools-4.56.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ef04bc7827adb7532be3d14462390dd71287644516af3f1e67f1e6ff9c6d6df"}, + {file = "fonttools-4.56.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ffda9b8cd9cb8b301cae2602ec62375b59e2e2108a117746f12215145e3f786c"}, + {file = "fonttools-4.56.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e993e8db36306cc3f1734edc8ea67906c55f98683d6fd34c3fc5593fdbba4c"}, + {file = "fonttools-4.56.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:003548eadd674175510773f73fb2060bb46adb77c94854af3e0cc5bc70260049"}, + {file = "fonttools-4.56.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd9825822e7bb243f285013e653f6741954d8147427aaa0324a862cdbf4cbf62"}, + {file = "fonttools-4.56.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b23d30a2c0b992fb1c4f8ac9bfde44b5586d23457759b6cf9a787f1a35179ee0"}, + {file = "fonttools-4.56.0-cp311-cp311-win32.whl", hash = "sha256:47b5e4680002ae1756d3ae3b6114e20aaee6cc5c69d1e5911f5ffffd3ee46c6b"}, + {file = "fonttools-4.56.0-cp311-cp311-win_amd64.whl", hash = "sha256:14a3e3e6b211660db54ca1ef7006401e4a694e53ffd4553ab9bc87ead01d0f05"}, + {file = "fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9"}, + {file = "fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f"}, + {file = "fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2"}, + {file = "fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563"}, + {file = "fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a"}, + {file = "fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28"}, + {file = "fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c"}, + {file = "fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba"}, + {file = "fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692"}, + {file = "fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0"}, + {file = "fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1"}, + {file = "fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea"}, + {file = "fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3"}, + {file = "fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278"}, + {file = "fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f"}, + {file = "fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6"}, + {file = "fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14"}, + {file = "fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4"}, ] [[package]] @@ -707,6 +708,17 @@ files = [ {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[[package]] +name = "iniconfig" +version = "2.0.0" +requires_python = ">=3.7" +summary = "brain-dead simple config-ini parsing" +groups = ["test"] +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + [[package]] name = "ipykernel" version = "6.29.5" @@ -735,7 +747,7 @@ files = [ [[package]] name = "ipython" -version = "8.31.0" +version = "8.32.0" requires_python = ">=3.10" summary = "IPython: Productive Interactive Computing" groups = ["default"] @@ -753,8 +765,8 @@ dependencies = [ "typing-extensions>=4.6; python_version < \"3.12\"", ] files = [ - {file = "ipython-8.31.0-py3-none-any.whl", hash = "sha256:46ec58f8d3d076a61d128fe517a51eb730e3aaf0c184ea8c17d16e366660c6a6"}, - {file = "ipython-8.31.0.tar.gz", hash = "sha256:b6a2274606bec6166405ff05e54932ed6e5cfecaca1fc05f2cacde7bb074d70b"}, + {file = "ipython-8.32.0-py3-none-any.whl", hash = "sha256:cae85b0c61eff1fc48b0a8002de5958b6528fa9c8defb1894da63f42613708aa"}, + {file = "ipython-8.32.0.tar.gz", hash = "sha256:be2c91895b0b9ea7ba49d33b23e2040c352b33eb6a519cca7ce6e0c743444251"}, ] [[package]] @@ -943,12 +955,13 @@ files = [ [[package]] name = "jupyter-events" -version = "0.11.0" +version = "0.12.0" requires_python = ">=3.9" summary = "Jupyter Event System library" groups = ["default"] dependencies = [ "jsonschema[format-nongpl]>=4.18.0", + "packaging", "python-json-logger>=2.0.4", "pyyaml>=5.3", "referencing", @@ -957,8 +970,8 @@ dependencies = [ "traitlets>=5.3", ] files = [ - {file = "jupyter_events-0.11.0-py3-none-any.whl", hash = "sha256:36399b41ce1ca45fe8b8271067d6a140ffa54cec4028e95491c93b78a855cacf"}, - {file = "jupyter_events-0.11.0.tar.gz", hash = "sha256:c0bc56a37aac29c1fbc3bcfbddb8c8c49533f9cf11f1c4e6adadba936574ab90"}, + {file = "jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb"}, + {file = "jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b"}, ] [[package]] @@ -1328,7 +1341,7 @@ files = [ [[package]] name = "mistune" -version = "3.1.1" +version = "3.1.2" requires_python = ">=3.8" summary = "A sane and fast Markdown parser with useful plugins and renderers" groups = ["default"] @@ -1336,8 +1349,8 @@ dependencies = [ "typing-extensions; python_version < \"3.11\"", ] files = [ - {file = "mistune-3.1.1-py3-none-any.whl", hash = "sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a"}, - {file = "mistune-3.1.1.tar.gz", hash = "sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c"}, + {file = "mistune-3.1.2-py3-none-any.whl", hash = "sha256:4b47731332315cdca99e0ded46fc0004001c1299ff773dfb48fbe1fd226de319"}, + {file = "mistune-3.1.2.tar.gz", hash = "sha256:733bf018ba007e8b5f2d3a9eb624034f6ee26c4ea769a98ec533ee111d504dff"}, ] [[package]] @@ -1447,66 +1460,66 @@ files = [ [[package]] name = "numpy" -version = "2.2.2" +version = "2.2.3" requires_python = ">=3.10" summary = "Fundamental package for array computing in Python" groups = ["default"] files = [ - {file = "numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e"}, - {file = "numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e"}, - {file = "numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715"}, - {file = "numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a"}, - {file = "numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97"}, - {file = "numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957"}, - {file = "numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d"}, - {file = "numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd"}, - {file = "numpy-2.2.2-cp310-cp310-win32.whl", hash = "sha256:159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160"}, - {file = "numpy-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014"}, - {file = "numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189"}, - {file = "numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323"}, - {file = "numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac"}, - {file = "numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e"}, - {file = "numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c"}, - {file = "numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f"}, - {file = "numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826"}, - {file = "numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8"}, - {file = "numpy-2.2.2-cp311-cp311-win32.whl", hash = "sha256:860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50"}, - {file = "numpy-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2"}, - {file = "numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467"}, - {file = "numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a"}, - {file = "numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825"}, - {file = "numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37"}, - {file = "numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748"}, - {file = "numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0"}, - {file = "numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278"}, - {file = "numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba"}, - {file = "numpy-2.2.2-cp312-cp312-win32.whl", hash = "sha256:4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283"}, - {file = "numpy-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb"}, - {file = "numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc"}, - {file = "numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369"}, - {file = "numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd"}, - {file = "numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be"}, - {file = "numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84"}, - {file = "numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff"}, - {file = "numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0"}, - {file = "numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de"}, - {file = "numpy-2.2.2-cp313-cp313-win32.whl", hash = "sha256:4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9"}, - {file = "numpy-2.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369"}, - {file = "numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391"}, - {file = "numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39"}, - {file = "numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317"}, - {file = "numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49"}, - {file = "numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2"}, - {file = "numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7"}, - {file = "numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb"}, - {file = "numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648"}, - {file = "numpy-2.2.2-cp313-cp313t-win32.whl", hash = "sha256:0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4"}, - {file = "numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576"}, - {file = "numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495"}, - {file = "numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df"}, - {file = "numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a"}, - {file = "numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60"}, - {file = "numpy-2.2.2.tar.gz", hash = "sha256:ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f"}, + {file = "numpy-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cbc6472e01952d3d1b2772b720428f8b90e2deea8344e854df22b0618e9cce71"}, + {file = "numpy-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdfe0c22692a30cd830c0755746473ae66c4a8f2e7bd508b35fb3b6a0813d787"}, + {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:e37242f5324ffd9f7ba5acf96d774f9276aa62a966c0bad8dae692deebec7716"}, + {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:95172a21038c9b423e68be78fd0be6e1b97674cde269b76fe269a5dfa6fadf0b"}, + {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5b47c440210c5d1d67e1cf434124e0b5c395eee1f5806fdd89b553ed1acd0a3"}, + {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0391ea3622f5c51a2e29708877d56e3d276827ac5447d7f45e9bc4ade8923c52"}, + {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f6b3dfc7661f8842babd8ea07e9897fe3d9b69a1d7e5fbb743e4160f9387833b"}, + {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1ad78ce7f18ce4e7df1b2ea4019b5817a2f6a8a16e34ff2775f646adce0a5027"}, + {file = "numpy-2.2.3-cp310-cp310-win32.whl", hash = "sha256:5ebeb7ef54a7be11044c33a17b2624abe4307a75893c001a4800857956b41094"}, + {file = "numpy-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:596140185c7fa113563c67c2e894eabe0daea18cf8e33851738c19f70ce86aeb"}, + {file = "numpy-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:16372619ee728ed67a2a606a614f56d3eabc5b86f8b615c79d01957062826ca8"}, + {file = "numpy-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5521a06a3148686d9269c53b09f7d399a5725c47bbb5b35747e1cb76326b714b"}, + {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:7c8dde0ca2f77828815fd1aedfdf52e59071a5bae30dac3b4da2a335c672149a"}, + {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:77974aba6c1bc26e3c205c2214f0d5b4305bdc719268b93e768ddb17e3fdd636"}, + {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d42f9c36d06440e34226e8bd65ff065ca0963aeecada587b937011efa02cdc9d"}, + {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2712c5179f40af9ddc8f6727f2bd910ea0eb50206daea75f58ddd9fa3f715bb"}, + {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c8b0451d2ec95010d1db8ca733afc41f659f425b7f608af569711097fd6014e2"}, + {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9b4a8148c57ecac25a16b0e11798cbe88edf5237b0df99973687dd866f05e1b"}, + {file = "numpy-2.2.3-cp311-cp311-win32.whl", hash = "sha256:1f45315b2dc58d8a3e7754fe4e38b6fce132dab284a92851e41b2b344f6441c5"}, + {file = "numpy-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f48ba6f6c13e5e49f3d3efb1b51c8193215c42ac82610a04624906a9270be6f"}, + {file = "numpy-2.2.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12c045f43b1d2915eca6b880a7f4a256f59d62df4f044788c8ba67709412128d"}, + {file = "numpy-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:87eed225fd415bbae787f93a457af7f5990b92a334e346f72070bf569b9c9c95"}, + {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:712a64103d97c404e87d4d7c47fb0c7ff9acccc625ca2002848e0d53288b90ea"}, + {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a5ae282abe60a2db0fd407072aff4599c279bcd6e9a2475500fc35b00a57c532"}, + {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5266de33d4c3420973cf9ae3b98b54a2a6d53a559310e3236c4b2b06b9c07d4e"}, + {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b787adbf04b0db1967798dba8da1af07e387908ed1553a0d6e74c084d1ceafe"}, + {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:34c1b7e83f94f3b564b35f480f5652a47007dd91f7c839f404d03279cc8dd021"}, + {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4d8335b5f1b6e2bce120d55fb17064b0262ff29b459e8493d1785c18ae2553b8"}, + {file = "numpy-2.2.3-cp312-cp312-win32.whl", hash = "sha256:4d9828d25fb246bedd31e04c9e75714a4087211ac348cb39c8c5f99dbb6683fe"}, + {file = "numpy-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:83807d445817326b4bcdaaaf8e8e9f1753da04341eceec705c001ff342002e5d"}, + {file = "numpy-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bfdb06b395385ea9b91bf55c1adf1b297c9fdb531552845ff1d3ea6e40d5aba"}, + {file = "numpy-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:23c9f4edbf4c065fddb10a4f6e8b6a244342d95966a48820c614891e5059bb50"}, + {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:a0c03b6be48aaf92525cccf393265e02773be8fd9551a2f9adbe7db1fa2b60f1"}, + {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:2376e317111daa0a6739e50f7ee2a6353f768489102308b0d98fcf4a04f7f3b5"}, + {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8fb62fe3d206d72fe1cfe31c4a1106ad2b136fcc1606093aeab314f02930fdf2"}, + {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52659ad2534427dffcc36aac76bebdd02b67e3b7a619ac67543bc9bfe6b7cdb1"}, + {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1b416af7d0ed3271cad0f0a0d0bee0911ed7eba23e66f8424d9f3dfcdcae1304"}, + {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1402da8e0f435991983d0a9708b779f95a8c98c6b18a171b9f1be09005e64d9d"}, + {file = "numpy-2.2.3-cp313-cp313-win32.whl", hash = "sha256:136553f123ee2951bfcfbc264acd34a2fc2f29d7cdf610ce7daf672b6fbaa693"}, + {file = "numpy-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:5b732c8beef1d7bc2d9e476dbba20aaff6167bf205ad9aa8d30913859e82884b"}, + {file = "numpy-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:435e7a933b9fda8126130b046975a968cc2d833b505475e588339e09f7672890"}, + {file = "numpy-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7678556eeb0152cbd1522b684dcd215250885993dd00adb93679ec3c0e6e091c"}, + {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2e8da03bd561504d9b20e7a12340870dfc206c64ea59b4cfee9fceb95070ee94"}, + {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:c9aa4496fd0e17e3843399f533d62857cef5900facf93e735ef65aa4bbc90ef0"}, + {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4ca91d61a4bf61b0f2228f24bbfa6a9facd5f8af03759fe2a655c50ae2c6610"}, + {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:deaa09cd492e24fd9b15296844c0ad1b3c976da7907e1c1ed3a0ad21dded6f76"}, + {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:246535e2f7496b7ac85deffe932896a3577be7af8fb7eebe7146444680297e9a"}, + {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:daf43a3d1ea699402c5a850e5313680ac355b4adc9770cd5cfc2940e7861f1bf"}, + {file = "numpy-2.2.3-cp313-cp313t-win32.whl", hash = "sha256:cf802eef1f0134afb81fef94020351be4fe1d6681aadf9c5e862af6602af64ef"}, + {file = "numpy-2.2.3-cp313-cp313t-win_amd64.whl", hash = "sha256:aee2512827ceb6d7f517c8b85aa5d3923afe8fc7a57d028cffcd522f1c6fd082"}, + {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3c2ec8a0f51d60f1e9c0c5ab116b7fc104b165ada3f6c58abf881cb2eb16044d"}, + {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:ed2cf9ed4e8ebc3b754d398cba12f24359f018b416c380f577bbae112ca52fc9"}, + {file = "numpy-2.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39261798d208c3095ae4f7bc8eaeb3481ea8c6e03dc48028057d3cbdbdb8937e"}, + {file = "numpy-2.2.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:783145835458e60fa97afac25d511d00a1eca94d4a8f3ace9fe2043003c678e4"}, + {file = "numpy-2.2.3.tar.gz", hash = "sha256:dbdc15f0c81611925f382dfa97b3bd0bc2c1ce19d4fe50482cb0ddc12ba30020"}, ] [[package]] @@ -1528,7 +1541,7 @@ name = "packaging" version = "24.2" requires_python = ">=3.8" summary = "Core utilities for Python packages" -groups = ["default", "wheel"] +groups = ["default", "test", "wheel"] files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -1545,6 +1558,17 @@ files = [ {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, ] +[[package]] +name = "parameterized" +version = "0.9.0" +requires_python = ">=3.7" +summary = "Parameterized testing with any Python test framework" +groups = ["test"] +files = [ + {file = "parameterized-0.9.0-py2.py3-none-any.whl", hash = "sha256:4e0758e3d41bea3bbd05ec14fc2c24736723f243b28d702081aef438c9372b1b"}, + {file = "parameterized-0.9.0.tar.gz", hash = "sha256:7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1"}, +] + [[package]] name = "parso" version = "0.8.4" @@ -1650,6 +1674,17 @@ files = [ {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] +[[package]] +name = "pluggy" +version = "1.5.0" +requires_python = ">=3.8" +summary = "plugin and hook calling mechanisms for python" +groups = ["test"] +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + [[package]] name = "prometheus-client" version = "0.21.1" @@ -1677,19 +1712,19 @@ files = [ [[package]] name = "psutil" -version = "6.1.1" -requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -summary = "Cross-platform lib for process and system monitoring in Python." +version = "7.0.0" +requires_python = ">=3.6" +summary = "Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7." groups = ["default"] files = [ - {file = "psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8"}, - {file = "psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3"}, - {file = "psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53"}, - {file = "psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649"}, - {file = "psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5"}, + {file = "psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25"}, + {file = "psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da"}, + {file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91"}, + {file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34"}, + {file = "psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993"}, + {file = "psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99"}, + {file = "psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553"}, + {file = "psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456"}, ] [[package]] @@ -1740,13 +1775,13 @@ files = [ [[package]] name = "pyelftools" -version = "0.31" +version = "0.32" summary = "Library for analyzing ELF files and DWARF debugging information" groups = ["wheel"] marker = "sys_platform == \"linux\"" files = [ - {file = "pyelftools-0.31-py3-none-any.whl", hash = "sha256:f52de7b3c7e8c64c8abc04a79a1cf37ac5fb0b8a49809827130b858944840607"}, - {file = "pyelftools-0.31.tar.gz", hash = "sha256:c774416b10310156879443b81187d182d8d9ee499660380e645918b50bc88f99"}, + {file = "pyelftools-0.32-py3-none-any.whl", hash = "sha256:013df952a006db5e138b1edf6d8a68ecc50630adbd0d83a2d41e7f846163d738"}, + {file = "pyelftools-0.32.tar.gz", hash = "sha256:6de90ee7b8263e740c8715a925382d4099b354f29ac48ea40d840cf7aa14ace5"}, ] [[package]] @@ -1771,6 +1806,25 @@ files = [ {file = "pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a"}, ] +[[package]] +name = "pytest" +version = "8.3.4" +requires_python = ">=3.8" +summary = "pytest: simple powerful testing with Python" +groups = ["test"] +dependencies = [ + "colorama; sys_platform == \"win32\"", + "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"", + "iniconfig", + "packaging", + "pluggy<2,>=1.5", + "tomli>=1; python_version < \"3.11\"", +] +files = [ + {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, + {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -1822,17 +1876,18 @@ files = [ [[package]] name = "pywinpty" -version = "2.0.14" -requires_python = ">=3.8" +version = "2.0.15" +requires_python = ">=3.9" summary = "Pseudo terminal support for Windows from Python." groups = ["default"] marker = "os_name == \"nt\"" files = [ - {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"}, - {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"}, - {file = "pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737"}, - {file = "pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819"}, - {file = "pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e"}, + {file = "pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e"}, + {file = "pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca"}, + {file = "pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc"}, + {file = "pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408"}, + {file = "pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901"}, + {file = "pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2"}, ] [[package]] @@ -2016,89 +2071,89 @@ files = [ [[package]] name = "rpds-py" -version = "0.22.3" +version = "0.23.1" requires_python = ">=3.9" summary = "Python bindings to Rust's persistent data structures (rpds)" groups = ["default"] files = [ - {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"}, - {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"}, - {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"}, - {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"}, - {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"}, - {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"}, - {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"}, - {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"}, - {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"}, - {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"}, - {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, + {file = "rpds_py-0.23.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2a54027554ce9b129fc3d633c92fa33b30de9f08bc61b32c053dc9b537266fed"}, + {file = "rpds_py-0.23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b5ef909a37e9738d146519657a1aab4584018746a18f71c692f2f22168ece40c"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ee9d6f0b38efb22ad94c3b68ffebe4c47865cdf4b17f6806d6c674e1feb4246"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f7356a6da0562190558c4fcc14f0281db191cdf4cb96e7604c06acfcee96df15"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9441af1d25aed96901f97ad83d5c3e35e6cd21a25ca5e4916c82d7dd0490a4fa"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d8abf7896a91fb97e7977d1aadfcc2c80415d6dc2f1d0fca5b8d0df247248f3"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b08027489ba8fedde72ddd233a5ea411b85a6ed78175f40285bd401bde7466d"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fee513135b5a58f3bb6d89e48326cd5aa308e4bcdf2f7d59f67c861ada482bf8"}, + {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:35d5631ce0af26318dba0ae0ac941c534453e42f569011585cb323b7774502a5"}, + {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a20cb698c4a59c534c6701b1c24a968ff2768b18ea2991f886bd8985ce17a89f"}, + {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e9c206a1abc27e0588cf8b7c8246e51f1a16a103734f7750830a1ccb63f557a"}, + {file = "rpds_py-0.23.1-cp310-cp310-win32.whl", hash = "sha256:d9f75a06ecc68f159d5d7603b734e1ff6daa9497a929150f794013aa9f6e3f12"}, + {file = "rpds_py-0.23.1-cp310-cp310-win_amd64.whl", hash = "sha256:f35eff113ad430b5272bbfc18ba111c66ff525828f24898b4e146eb479a2cdda"}, + {file = "rpds_py-0.23.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b79f5ced71efd70414a9a80bbbfaa7160da307723166f09b69773153bf17c590"}, + {file = "rpds_py-0.23.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c9e799dac1ffbe7b10c1fd42fe4cd51371a549c6e108249bde9cd1200e8f59b4"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721f9c4011b443b6e84505fc00cc7aadc9d1743f1c988e4c89353e19c4a968ee"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f88626e3f5e57432e6191cd0c5d6d6b319b635e70b40be2ffba713053e5147dd"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:285019078537949cecd0190f3690a0b0125ff743d6a53dfeb7a4e6787af154f5"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b92f5654157de1379c509b15acec9d12ecf6e3bc1996571b6cb82a4302060447"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e768267cbe051dd8d1c5305ba690bb153204a09bf2e3de3ae530de955f5b5580"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c5334a71f7dc1160382d45997e29f2637c02f8a26af41073189d79b95d3321f1"}, + {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d6adb81564af0cd428910f83fa7da46ce9ad47c56c0b22b50872bc4515d91966"}, + {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:cafa48f2133d4daa028473ede7d81cd1b9f9e6925e9e4003ebdf77010ee02f35"}, + {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fced9fd4a07a1ded1bac7e961ddd9753dd5d8b755ba8e05acba54a21f5f1522"}, + {file = "rpds_py-0.23.1-cp311-cp311-win32.whl", hash = "sha256:243241c95174b5fb7204c04595852fe3943cc41f47aa14c3828bc18cd9d3b2d6"}, + {file = "rpds_py-0.23.1-cp311-cp311-win_amd64.whl", hash = "sha256:11dd60b2ffddba85715d8a66bb39b95ddbe389ad2cfcf42c833f1bcde0878eaf"}, + {file = "rpds_py-0.23.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3902df19540e9af4cc0c3ae75974c65d2c156b9257e91f5101a51f99136d834c"}, + {file = "rpds_py-0.23.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:66f8d2a17e5838dd6fb9be6baaba8e75ae2f5fa6b6b755d597184bfcd3cb0eba"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:112b8774b0b4ee22368fec42749b94366bd9b536f8f74c3d4175d4395f5cbd31"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0df046f2266e8586cf09d00588302a32923eb6386ced0ca5c9deade6af9a149"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3288930b947cbebe767f84cf618d2cbe0b13be476e749da0e6a009f986248c"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce473a2351c018b06dd8d30d5da8ab5a0831056cc53b2006e2a8028172c37ce5"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d550d7e9e7d8676b183b37d65b5cd8de13676a738973d330b59dc8312df9c5dc"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e14f86b871ea74c3fddc9a40e947d6a5d09def5adc2076ee61fb910a9014fb35"}, + {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf5be5ba34e19be579ae873da515a2836a2166d8d7ee43be6ff909eda42b72b"}, + {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d7031d493c4465dbc8d40bd6cafefef4bd472b17db0ab94c53e7909ee781b9ef"}, + {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:55ff4151cfd4bc635e51cfb1c59ac9f7196b256b12e3a57deb9e5742e65941ad"}, + {file = "rpds_py-0.23.1-cp312-cp312-win32.whl", hash = "sha256:a9d3b728f5a5873d84cba997b9d617c6090ca5721caaa691f3b1a78c60adc057"}, + {file = "rpds_py-0.23.1-cp312-cp312-win_amd64.whl", hash = "sha256:b03a8d50b137ee758e4c73638b10747b7c39988eb8e6cd11abb7084266455165"}, + {file = "rpds_py-0.23.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:4caafd1a22e5eaa3732acb7672a497123354bef79a9d7ceed43387d25025e935"}, + {file = "rpds_py-0.23.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:178f8a60fc24511c0eb756af741c476b87b610dba83270fce1e5a430204566a4"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c632419c3870507ca20a37c8f8f5352317aca097639e524ad129f58c125c61c6"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:698a79d295626ee292d1730bc2ef6e70a3ab135b1d79ada8fde3ed0047b65a10"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271fa2184cf28bdded86bb6217c8e08d3a169fe0bbe9be5e8d96e8476b707122"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b91cceb5add79ee563bd1f70b30896bd63bc5f78a11c1f00a1e931729ca4f1f4"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a6cb95074777f1ecda2ca4fa7717caa9ee6e534f42b7575a8f0d4cb0c24013"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:50fb62f8d8364978478b12d5f03bf028c6bc2af04082479299139dc26edf4c64"}, + {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c8f7e90b948dc9dcfff8003f1ea3af08b29c062f681c05fd798e36daa3f7e3e8"}, + {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5b98b6c953e5c2bda51ab4d5b4f172617d462eebc7f4bfdc7c7e6b423f6da957"}, + {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2893d778d4671ee627bac4037a075168b2673c57186fb1a57e993465dbd79a93"}, + {file = "rpds_py-0.23.1-cp313-cp313-win32.whl", hash = "sha256:2cfa07c346a7ad07019c33fb9a63cf3acb1f5363c33bc73014e20d9fe8b01cdd"}, + {file = "rpds_py-0.23.1-cp313-cp313-win_amd64.whl", hash = "sha256:3aaf141d39f45322e44fc2c742e4b8b4098ead5317e5f884770c8df0c332da70"}, + {file = "rpds_py-0.23.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:759462b2d0aa5a04be5b3e37fb8183615f47014ae6b116e17036b131985cb731"}, + {file = "rpds_py-0.23.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3e9212f52074fc9d72cf242a84063787ab8e21e0950d4d6709886fb62bcb91d5"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e9f3a3ac919406bc0414bbbd76c6af99253c507150191ea79fab42fdb35982a"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c04ca91dda8a61584165825907f5c967ca09e9c65fe8966ee753a3f2b019fe1e"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ab923167cfd945abb9b51a407407cf19f5bee35001221f2911dc85ffd35ff4f"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed6f011bedca8585787e5082cce081bac3d30f54520097b2411351b3574e1219"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6959bb9928c5c999aba4a3f5a6799d571ddc2c59ff49917ecf55be2bbb4e3722"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1ed7de3c86721b4e83ac440751329ec6a1102229aa18163f84c75b06b525ad7e"}, + {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5fb89edee2fa237584e532fbf78f0ddd1e49a47c7c8cfa153ab4849dc72a35e6"}, + {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7e5413d2e2d86025e73f05510ad23dad5950ab8417b7fc6beaad99be8077138b"}, + {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d31ed4987d72aabdf521eddfb6a72988703c091cfc0064330b9e5f8d6a042ff5"}, + {file = "rpds_py-0.23.1-cp313-cp313t-win32.whl", hash = "sha256:f3429fb8e15b20961efca8c8b21432623d85db2228cc73fe22756c6637aa39e7"}, + {file = "rpds_py-0.23.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d6f6512a90bd5cd9030a6237f5346f046c6f0e40af98657568fa45695d4de59d"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c1f8afa346ccd59e4e5630d5abb67aba6a9812fddf764fd7eb11f382a345f8cc"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fad784a31869747df4ac968a351e070c06ca377549e4ace94775aaa3ab33ee06"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a96fcac2f18e5a0a23a75cd27ce2656c66c11c127b0318e508aab436b77428"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3e77febf227a1dc3220159355dba68faa13f8dca9335d97504abf428469fb18b"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26bb3e8de93443d55e2e748e9fd87deb5f8075ca7bc0502cfc8be8687d69a2ec"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:db7707dde9143a67b8812c7e66aeb2d843fe33cc8e374170f4d2c50bd8f2472d"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eedaaccc9bb66581d4ae7c50e15856e335e57ef2734dbc5fd8ba3e2a4ab3cb6"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28358c54fffadf0ae893f6c1050e8f8853e45df22483b7fff2f6ab6152f5d8bf"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:633462ef7e61d839171bf206551d5ab42b30b71cac8f10a64a662536e057fdef"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a98f510d86f689fcb486dc59e6e363af04151e5260ad1bdddb5625c10f1e95f8"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e0397dd0b3955c61ef9b22838144aa4bef6f0796ba5cc8edfc64d468b93798b4"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:75307599f0d25bf6937248e5ac4e3bde5ea72ae6618623b86146ccc7845ed00b"}, + {file = "rpds_py-0.23.1.tar.gz", hash = "sha256:7f3240dcfa14d198dba24b8b9cb3b108c06b68d45b7babd9eefc1038fdf7e707"}, ] [[package]] @@ -2114,13 +2169,13 @@ files = [ [[package]] name = "setuptools" -version = "75.8.0" +version = "75.8.2" requires_python = ">=3.9" summary = "Easily download, build, install, upgrade, and uninstall Python packages" groups = ["default", "wheel"] files = [ - {file = "setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3"}, - {file = "setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6"}, + {file = "setuptools-75.8.2-py3-none-any.whl", hash = "sha256:558e47c15f1811c1fa7adbd0096669bf76c1d3f433f58324df69f3f5ecac4e8f"}, + {file = "setuptools-75.8.2.tar.gz", hash = "sha256:4880473a969e5f23f2a2be3646b2dfd84af9028716d398e46192f84bc36900d2"}, ] [[package]] @@ -2206,7 +2261,7 @@ name = "tomli" version = "2.2.1" requires_python = ">=3.8" summary = "A lil' TOML parser" -groups = ["default"] +groups = ["default", "test"] marker = "python_version < \"3.11\"" files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, @@ -2291,7 +2346,6 @@ version = "4.12.2" requires_python = ">=3.8" summary = "Backported and Experimental Type Hints for Python 3.8+" groups = ["default", "wheel"] -marker = "sys_platform == \"darwin\" or python_version < \"3.13\"" files = [ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, @@ -2376,63 +2430,63 @@ files = [ [[package]] name = "websockets" -version = "14.2" +version = "15.0" requires_python = ">=3.9" summary = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" groups = ["test"] files = [ - {file = "websockets-14.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e8179f95323b9ab1c11723e5d91a89403903f7b001828161b480a7810b334885"}, - {file = "websockets-14.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d8c3e2cdb38f31d8bd7d9d28908005f6fa9def3324edb9bf336d7e4266fd397"}, - {file = "websockets-14.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:714a9b682deb4339d39ffa674f7b674230227d981a37d5d174a4a83e3978a610"}, - {file = "websockets-14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2e53c72052f2596fb792a7acd9704cbc549bf70fcde8a99e899311455974ca3"}, - {file = "websockets-14.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fbd68850c837e57373d95c8fe352203a512b6e49eaae4c2f4088ef8cf21980"}, - {file = "websockets-14.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b27ece32f63150c268593d5fdb82819584831a83a3f5809b7521df0685cd5d8"}, - {file = "websockets-14.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4daa0faea5424d8713142b33825fff03c736f781690d90652d2c8b053345b0e7"}, - {file = "websockets-14.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bc63cee8596a6ec84d9753fd0fcfa0452ee12f317afe4beae6b157f0070c6c7f"}, - {file = "websockets-14.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a570862c325af2111343cc9b0257b7119b904823c675b22d4ac547163088d0d"}, - {file = "websockets-14.2-cp310-cp310-win32.whl", hash = "sha256:75862126b3d2d505e895893e3deac0a9339ce750bd27b4ba515f008b5acf832d"}, - {file = "websockets-14.2-cp310-cp310-win_amd64.whl", hash = "sha256:cc45afb9c9b2dc0852d5c8b5321759cf825f82a31bfaf506b65bf4668c96f8b2"}, - {file = "websockets-14.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3bdc8c692c866ce5fefcaf07d2b55c91d6922ac397e031ef9b774e5b9ea42166"}, - {file = "websockets-14.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c93215fac5dadc63e51bcc6dceca72e72267c11def401d6668622b47675b097f"}, - {file = "websockets-14.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c9b6535c0e2cf8a6bf938064fb754aaceb1e6a4a51a80d884cd5db569886910"}, - {file = "websockets-14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a52a6d7cf6938e04e9dceb949d35fbdf58ac14deea26e685ab6368e73744e4c"}, - {file = "websockets-14.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f05702e93203a6ff5226e21d9b40c037761b2cfb637187c9802c10f58e40473"}, - {file = "websockets-14.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22441c81a6748a53bfcb98951d58d1af0661ab47a536af08920d129b4d1c3473"}, - {file = "websockets-14.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd9b868d78b194790e6236d9cbc46d68aba4b75b22497eb4ab64fa640c3af56"}, - {file = "websockets-14.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a5a20d5843886d34ff8c57424cc65a1deda4375729cbca4cb6b3353f3ce4142"}, - {file = "websockets-14.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:34277a29f5303d54ec6468fb525d99c99938607bc96b8d72d675dee2b9f5bf1d"}, - {file = "websockets-14.2-cp311-cp311-win32.whl", hash = "sha256:02687db35dbc7d25fd541a602b5f8e451a238ffa033030b172ff86a93cb5dc2a"}, - {file = "websockets-14.2-cp311-cp311-win_amd64.whl", hash = "sha256:862e9967b46c07d4dcd2532e9e8e3c2825e004ffbf91a5ef9dde519ee2effb0b"}, - {file = "websockets-14.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f20522e624d7ffbdbe259c6b6a65d73c895045f76a93719aa10cd93b3de100c"}, - {file = "websockets-14.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:647b573f7d3ada919fd60e64d533409a79dcf1ea21daeb4542d1d996519ca967"}, - {file = "websockets-14.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6af99a38e49f66be5a64b1e890208ad026cda49355661549c507152113049990"}, - {file = "websockets-14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:091ab63dfc8cea748cc22c1db2814eadb77ccbf82829bac6b2fbe3401d548eda"}, - {file = "websockets-14.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b374e8953ad477d17e4851cdc66d83fdc2db88d9e73abf755c94510ebddceb95"}, - {file = "websockets-14.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a39d7eceeea35db85b85e1169011bb4321c32e673920ae9c1b6e0978590012a3"}, - {file = "websockets-14.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0a6f3efd47ffd0d12080594f434faf1cd2549b31e54870b8470b28cc1d3817d9"}, - {file = "websockets-14.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:065ce275e7c4ffb42cb738dd6b20726ac26ac9ad0a2a48e33ca632351a737267"}, - {file = "websockets-14.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e9d0e53530ba7b8b5e389c02282f9d2aa47581514bd6049d3a7cffe1385cf5fe"}, - {file = "websockets-14.2-cp312-cp312-win32.whl", hash = "sha256:20e6dd0984d7ca3037afcb4494e48c74ffb51e8013cac71cf607fffe11df7205"}, - {file = "websockets-14.2-cp312-cp312-win_amd64.whl", hash = "sha256:44bba1a956c2c9d268bdcdf234d5e5ff4c9b6dc3e300545cbe99af59dda9dcce"}, - {file = "websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f1372e511c7409a542291bce92d6c83320e02c9cf392223272287ce55bc224e"}, - {file = "websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4da98b72009836179bb596a92297b1a61bb5a830c0e483a7d0766d45070a08ad"}, - {file = "websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8a86a269759026d2bde227652b87be79f8a734e582debf64c9d302faa1e9f03"}, - {file = "websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86cf1aaeca909bf6815ea714d5c5736c8d6dd3a13770e885aafe062ecbd04f1f"}, - {file = "websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9b0f6c3ba3b1240f602ebb3971d45b02cc12bd1845466dd783496b3b05783a5"}, - {file = "websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669c3e101c246aa85bc8534e495952e2ca208bd87994650b90a23d745902db9a"}, - {file = "websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eabdb28b972f3729348e632ab08f2a7b616c7e53d5414c12108c29972e655b20"}, - {file = "websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2066dc4cbcc19f32c12a5a0e8cc1b7ac734e5b64ac0a325ff8353451c4b15ef2"}, - {file = "websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ab95d357cd471df61873dadf66dd05dd4709cae001dd6342edafc8dc6382f307"}, - {file = "websockets-14.2-cp313-cp313-win32.whl", hash = "sha256:a9e72fb63e5f3feacdcf5b4ff53199ec8c18d66e325c34ee4c551ca748623bbc"}, - {file = "websockets-14.2-cp313-cp313-win_amd64.whl", hash = "sha256:b439ea828c4ba99bb3176dc8d9b933392a2413c0f6b149fdcba48393f573377f"}, - {file = "websockets-14.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d7d9cafbccba46e768be8a8ad4635fa3eae1ffac4c6e7cb4eb276ba41297ed29"}, - {file = "websockets-14.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c76193c1c044bd1e9b3316dcc34b174bbf9664598791e6fb606d8d29000e070c"}, - {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd475a974d5352390baf865309fe37dec6831aafc3014ffac1eea99e84e83fc2"}, - {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c6c0097a41968b2e2b54ed3424739aab0b762ca92af2379f152c1aef0187e1c"}, - {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d7ff794c8b36bc402f2e07c0b2ceb4a2424147ed4785ff03e2a7af03711d60a"}, - {file = "websockets-14.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dec254fcabc7bd488dab64846f588fc5b6fe0d78f641180030f8ea27b76d72c3"}, - {file = "websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b"}, - {file = "websockets-14.2.tar.gz", hash = "sha256:5059ed9c54945efb321f097084b4c7e52c246f2c869815876a69d1efc4ad6eb5"}, + {file = "websockets-15.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5e6ee18a53dd5743e6155b8ff7e8e477c25b29b440f87f65be8165275c87fef0"}, + {file = "websockets-15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ee06405ea2e67366a661ed313e14cf2a86e84142a3462852eb96348f7219cee3"}, + {file = "websockets-15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8711682a629bbcaf492f5e0af72d378e976ea1d127a2d47584fa1c2c080b436b"}, + {file = "websockets-15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94c4a9b01eede952442c088d415861b0cf2053cbd696b863f6d5022d4e4e2453"}, + {file = "websockets-15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:45535fead66e873f411c1d3cf0d3e175e66f4dd83c4f59d707d5b3e4c56541c4"}, + {file = "websockets-15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e389efe46ccb25a1f93d08c7a74e8123a2517f7b7458f043bd7529d1a63ffeb"}, + {file = "websockets-15.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:67a04754d121ea5ca39ddedc3f77071651fb5b0bc6b973c71c515415b44ed9c5"}, + {file = "websockets-15.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bd66b4865c8b853b8cca7379afb692fc7f52cf898786537dfb5e5e2d64f0a47f"}, + {file = "websockets-15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a4cc73a6ae0a6751b76e69cece9d0311f054da9b22df6a12f2c53111735657c8"}, + {file = "websockets-15.0-cp310-cp310-win32.whl", hash = "sha256:89da58e4005e153b03fe8b8794330e3f6a9774ee9e1c3bd5bc52eb098c3b0c4f"}, + {file = "websockets-15.0-cp310-cp310-win_amd64.whl", hash = "sha256:4ff380aabd7a74a42a760ee76c68826a8f417ceb6ea415bd574a035a111fd133"}, + {file = "websockets-15.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:dd24c4d256558429aeeb8d6c24ebad4e982ac52c50bc3670ae8646c181263965"}, + {file = "websockets-15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f83eca8cbfd168e424dfa3b3b5c955d6c281e8fc09feb9d870886ff8d03683c7"}, + {file = "websockets-15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4095a1f2093002c2208becf6f9a178b336b7572512ee0a1179731acb7788e8ad"}, + {file = "websockets-15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb915101dfbf318486364ce85662bb7b020840f68138014972c08331458d41f3"}, + {file = "websockets-15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:45d464622314973d78f364689d5dbb9144e559f93dca11b11af3f2480b5034e1"}, + {file = "websockets-15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace960769d60037ca9625b4c578a6f28a14301bd2a1ff13bb00e824ac9f73e55"}, + {file = "websockets-15.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c7cd4b1015d2f60dfe539ee6c95bc968d5d5fad92ab01bb5501a77393da4f596"}, + {file = "websockets-15.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4f7290295794b5dec470867c7baa4a14182b9732603fd0caf2a5bf1dc3ccabf3"}, + {file = "websockets-15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3abd670ca7ce230d5a624fd3d55e055215d8d9b723adee0a348352f5d8d12ff4"}, + {file = "websockets-15.0-cp311-cp311-win32.whl", hash = "sha256:110a847085246ab8d4d119632145224d6b49e406c64f1bbeed45c6f05097b680"}, + {file = "websockets-15.0-cp311-cp311-win_amd64.whl", hash = "sha256:8d7bbbe2cd6ed80aceef2a14e9f1c1b61683194c216472ed5ff33b700e784e37"}, + {file = "websockets-15.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:cccc18077acd34c8072578394ec79563664b1c205f7a86a62e94fafc7b59001f"}, + {file = "websockets-15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d4c22992e24f12de340ca5f824121a5b3e1a37ad4360b4e1aaf15e9d1c42582d"}, + {file = "websockets-15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1206432cc6c644f6fc03374b264c5ff805d980311563202ed7fef91a38906276"}, + {file = "websockets-15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d3cc75ef3e17490042c47e0523aee1bcc4eacd2482796107fd59dd1100a44bc"}, + {file = "websockets-15.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b89504227a5311610e4be16071465885a0a3d6b0e82e305ef46d9b064ce5fb72"}, + {file = "websockets-15.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56e3efe356416bc67a8e093607315951d76910f03d2b3ad49c4ade9207bf710d"}, + {file = "websockets-15.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0f2205cdb444a42a7919690238fb5979a05439b9dbb73dd47c863d39640d85ab"}, + {file = "websockets-15.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:aea01f40995fa0945c020228ab919b8dfc93fc8a9f2d3d705ab5b793f32d9e99"}, + {file = "websockets-15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a9f8e33747b1332db11cf7fcf4a9512bef9748cb5eb4d3f7fbc8c30d75dc6ffc"}, + {file = "websockets-15.0-cp312-cp312-win32.whl", hash = "sha256:32e02a2d83f4954aa8c17e03fe8ec6962432c39aca4be7e8ee346b05a3476904"}, + {file = "websockets-15.0-cp312-cp312-win_amd64.whl", hash = "sha256:ffc02b159b65c05f2ed9ec176b715b66918a674bd4daed48a9a7a590dd4be1aa"}, + {file = "websockets-15.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d2244d8ab24374bed366f9ff206e2619345f9cd7fe79aad5225f53faac28b6b1"}, + {file = "websockets-15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3a302241fbe825a3e4fe07666a2ab513edfdc6d43ce24b79691b45115273b5e7"}, + {file = "websockets-15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:10552fed076757a70ba2c18edcbc601c7637b30cdfe8c24b65171e824c7d6081"}, + {file = "websockets-15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c53f97032b87a406044a1c33d1e9290cc38b117a8062e8a8b285175d7e2f99c9"}, + {file = "websockets-15.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1caf951110ca757b8ad9c4974f5cac7b8413004d2f29707e4d03a65d54cedf2b"}, + {file = "websockets-15.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bf1ab71f9f23b0a1d52ec1682a3907e0c208c12fef9c3e99d2b80166b17905f"}, + {file = "websockets-15.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bfcd3acc1a81f106abac6afd42327d2cf1e77ec905ae11dc1d9142a006a496b6"}, + {file = "websockets-15.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c8c5c8e1bac05ef3c23722e591ef4f688f528235e2480f157a9cfe0a19081375"}, + {file = "websockets-15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:86bfb52a9cfbcc09aba2b71388b0a20ea5c52b6517c0b2e316222435a8cdab72"}, + {file = "websockets-15.0-cp313-cp313-win32.whl", hash = "sha256:26ba70fed190708551c19a360f9d7eca8e8c0f615d19a574292b7229e0ae324c"}, + {file = "websockets-15.0-cp313-cp313-win_amd64.whl", hash = "sha256:ae721bcc8e69846af00b7a77a220614d9b2ec57d25017a6bbde3a99473e41ce8"}, + {file = "websockets-15.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b499caef4bca9cbd0bd23cd3386f5113ee7378094a3cb613a2fa543260fe9506"}, + {file = "websockets-15.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:17f2854c6bd9ee008c4b270f7010fe2da6c16eac5724a175e75010aacd905b31"}, + {file = "websockets-15.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89f72524033abbfde880ad338fd3c2c16e31ae232323ebdfbc745cbb1b3dcc03"}, + {file = "websockets-15.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1657a9eecb29d7838e3b415458cc494e6d1b194f7ac73a34aa55c6fb6c72d1f3"}, + {file = "websockets-15.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e413352a921f5ad5d66f9e2869b977e88d5103fc528b6deb8423028a2befd842"}, + {file = "websockets-15.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8561c48b0090993e3b2a54db480cab1d23eb2c5735067213bb90f402806339f5"}, + {file = "websockets-15.0-py3-none-any.whl", hash = "sha256:51ffd53c53c4442415b613497a34ba0aa7b99ac07f1e4a62db5dcd640ae6c3c3"}, + {file = "websockets-15.0.tar.gz", hash = "sha256:ca36151289a15b39d8d683fd8b7abbe26fc50be311066c5f8dcf3cb8cee107ab"}, ] [[package]] diff --git a/setup/python/pyproject.toml b/setup/python/pyproject.toml index f145eb6fb5e2..9788b921ca88 100644 --- a/setup/python/pyproject.toml +++ b/setup/python/pyproject.toml @@ -32,6 +32,8 @@ test = [ "six", "u-msgpack-python", "websockets", + "parameterized", + "pytest", ] # (Additional) dependencies needed to build a Drake wheel. wheel = [ diff --git a/setup/python/requirements.txt b/setup/python/requirements.txt index c3ffe5321e51..c3de68314f23 100644 --- a/setup/python/requirements.txt +++ b/setup/python/requirements.txt @@ -11,12 +11,12 @@ anyio==4.8.0 \ blinker==1.9.0 \ --hash=sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf \ --hash=sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc -certifi==2024.12.14 \ - --hash=sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56 \ - --hash=sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db -dep-logic==0.4.10 \ - --hash=sha256:5be313254e8fb7cbbc45f6d3c525373fdff174b601c8383234b449c0d12a6c75 \ - --hash=sha256:d2fe0626ae5700c5d3788f7105015a291bd1f4e4ae83287e7094e2feb503f859 +certifi==2025.1.31 \ + --hash=sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651 \ + --hash=sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe +dep-logic==0.4.11 \ + --hash=sha256:44cf69b3e0e369315e7d4cafa4a5050aa70666753831bf0c27b7f3eadbcf70ce \ + --hash=sha256:6084c81ce683943a60394ca0f8531ff803dfd955b5d7f52fb0571b53b930a182 distlib==0.3.9 \ --hash=sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87 \ --hash=sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403 @@ -102,9 +102,9 @@ msgpack==1.1.0 \ packaging==24.2 \ --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \ --hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f -pbs-installer==2025.1.6 \ - --hash=sha256:0eb974ed142298f0dcc3adff5938b49fb219c4f81dbeae9fe609f7374a0cbcc8 \ - --hash=sha256:69cc3fab5bb36eac678af9228bdd288a25610bc7aaee7b3f3b0c31562fe206d4 +pbs-installer==2025.2.12 \ + --hash=sha256:3d9034047945b2d5f169cd9bb324f1f28c37d0ec120d6110ddb10aa07016fb79 \ + --hash=sha256:c6815165babf312c90d27ccd16afe598de641d616860f88e1855f183b0253b39 pdm==2.22.3 \ --hash=sha256:e868f5ff46aa716b33aa69a10678447af681c26864b2992c4cb1f853a0f958cc \ --hash=sha256:f409d37b44f6b9938e4eed0bd0ca8016d15cd4514337640d6f962a74d022b412 @@ -171,16 +171,16 @@ tomli==2.2.1; python_version < "3.11" \ tomlkit==0.13.2 \ --hash=sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde \ --hash=sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79 -truststore==0.10.0; python_version >= "3.10" \ - --hash=sha256:5da347c665714fdfbd46f738c823fe9f0d8775e41ac5fb94f325749091187896 \ - --hash=sha256:b3798548e421ffe2ca2a6217cca49e7a17baf40b72d86a5505dc7d701e77d15b +truststore==0.10.1; python_version >= "3.10" \ + --hash=sha256:b64e6025a409a43ebdd2807b0c41c8bff49ea7ae6550b5087ac6df6619352d4c \ + --hash=sha256:eda021616b59021812e800fa0a071e51b266721bef3ce092db8a699e21c63539 typing-extensions==4.12.2; python_version < "3.13" \ --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \ --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 unearth==0.17.2 \ --hash=sha256:0b8a2afd3476f1ab6155fc579501ac47fffe43547d88a70e5a5b76a7fe6caa2c \ --hash=sha256:4d21af1238a583835fca156322f7225382e718cdcc42d6278050a88e605c4ad5 -virtualenv==20.29.1 \ - --hash=sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779 \ - --hash=sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35 +virtualenv==20.29.2 \ + --hash=sha256:fdaabebf6d03b5ba83ae0a02cfe96f48a716f4fae556461d180825866f75b728 \ + --hash=sha256:febddfc3d1ea571bdb1dc0f98d7b45d24def7428214d4fb73cc486c9568cce6a diff --git a/tools/workspace/cpplint_internal/.sha256.txt b/tools/workspace/cpplint_internal/.sha256.txt deleted file mode 100644 index cab37ddc855e..000000000000 --- a/tools/workspace/cpplint_internal/.sha256.txt +++ /dev/null @@ -1,5 +0,0 @@ -sha-256 calculation for cpplint/cpplint commit f4363d7fc0d5f38c4fd41b658e069e96583da0d5 - - -shasum -a 256 cpplint-2.0.0.tar.gz -8bbba15797079b82f733a17b48f9da0c06d328cdaf14be12d37a0a5782d7be1a cpplint-2.0.0.tar.gz diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index 7f06044ce1b0..20639f2733ad 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -15,7 +15,7 @@ exports_files(glob([ py_binary( name = "cpplint", - srcs = ["cpplint.py"], + srcs = ["cpplint.py", "pyproject.toml"], main = "cpplint.py", python_version = "PY3", srcs_version = "PY3", diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index 55403d3ac477..9b85a2e3fa3c 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -9,7 +9,5 @@ def cpplint_internal_repository( commit = "f4363d7fc0d5f38c4fd41b658e069e96583da0d5", sha256 = "c1502a16e609c65731cd6eb62b94eb2e4ef5be195e57d85a5619f4ff12a0de3e", # noqa build_file = ":package.BUILD.bazel", - patches = [ - ], mirrors = mirrors, ) \ No newline at end of file From d495d10557ca67f0c2a7a869ccc2c311acb88800 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 11:42:47 -0500 Subject: [PATCH 10/46] linted buildfiles and addressed style errors --- tools/workspace/cpplint_internal/BUILD.bazel | 2 +- .../cpplint_internal/package.BUILD.bazel | 5 +-- .../workspace/cpplint_internal/repository.bzl | 2 +- .../crate_universe/lock/details/defs.bzl | 1 - tools/workspace/default.bzl | 4 +- ...arch64__aarch64-apple-darwin__stable.bazel | 12 +++-- ...__aarch64-apple-darwin__stable_tools.bazel | 44 ++++++++++--------- ..._x86_64__x86_64-apple-darwin__stable.bazel | 12 +++-- ...4__x86_64-apple-darwin__stable_tools.bazel | 44 ++++++++++--------- ...4__aarch64-unknown-linux-gnu__stable.bazel | 12 +++-- ...ch64-unknown-linux-gnu__stable_tools.bazel | 44 ++++++++++--------- ...64__x86_64-unknown-linux-gnu__stable.bazel | 12 +++-- ...6_64-unknown-linux-gnu__stable_tools.bazel | 44 ++++++++++--------- 13 files changed, 134 insertions(+), 104 deletions(-) diff --git a/tools/workspace/cpplint_internal/BUILD.bazel b/tools/workspace/cpplint_internal/BUILD.bazel index 11b7e10ca3b7..dcd58b84561c 100644 --- a/tools/workspace/cpplint_internal/BUILD.bazel +++ b/tools/workspace/cpplint_internal/BUILD.bazel @@ -10,4 +10,4 @@ py_test( tags = ["no_kcov"], ) -add_lint_tests() \ No newline at end of file +add_lint_tests() diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index 20639f2733ad..1de591154edc 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -10,8 +10,7 @@ package(default_visibility = ["//visibility:public"]) exports_files(glob([ "*", "include/*", -], allow_empty=True)) - +], allow_empty = True)) py_binary( name = "cpplint", @@ -28,6 +27,6 @@ filegroup( "cpplint.py", "cpplint_unittest.py", "pyproject.toml", - "setup.py" + "setup.py", ], ) diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index 9b85a2e3fa3c..1d48b03c6b05 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -10,4 +10,4 @@ def cpplint_internal_repository( sha256 = "c1502a16e609c65731cd6eb62b94eb2e4ef5be195e57d85a5619f4ff12a0de3e", # noqa build_file = ":package.BUILD.bazel", mirrors = mirrors, - ) \ No newline at end of file + ) diff --git a/tools/workspace/crate_universe/lock/details/defs.bzl b/tools/workspace/crate_universe/lock/details/defs.bzl index 59dc3f874a37..6ee7b6340b35 100644 --- a/tools/workspace/crate_universe/lock/details/defs.bzl +++ b/tools/workspace/crate_universe/lock/details/defs.bzl @@ -399,4 +399,3 @@ _CONDITIONS = { } ############################################################################### - diff --git a/tools/workspace/default.bzl b/tools/workspace/default.bzl index 7cdce27e4f96..196103e3a184 100644 --- a/tools/workspace/default.bzl +++ b/tools/workspace/default.bzl @@ -16,7 +16,7 @@ load("//tools/workspace/com_jidesoft_jide_oss:repository.bzl", "com_jidesoft_jid load("//tools/workspace/common_robotics_utilities_internal:repository.bzl", "common_robotics_utilities_internal_repository", "common_robotics_utilities_repository") # noqa load("//tools/workspace/commons_io:repository.bzl", "commons_io_repository") load("//tools/workspace/conex_internal:repository.bzl", "conex_internal_repository") # noqa -load("//tools/workspace/cpplint_internal:repository.bzl", "cpplint_internal_repository") +load("//tools/workspace/cpplint_internal:repository.bzl", "cpplint_internal_repository") # noqa load("//tools/workspace/crate_universe:repository.bzl", "crate_universe_repositories") # noqa load("//tools/workspace/csdp_internal:repository.bzl", "csdp_internal_repository") # noqa load("//tools/workspace/curl_internal:repository.bzl", "curl_internal_repository") # noqa @@ -173,7 +173,7 @@ def add_default_repositories( if "conex_internal" not in excludes: conex_internal_repository(name = "conex_internal", mirrors = mirrors) if "cpplint_internal" not in excludes: - cpplint_internal_repository(name = "cpplint_internal", mirrors = mirrors) + cpplint_internal_repository(name = "cpplint_internal", mirrors = mirrors) # noqa if "crate_universe" not in excludes: crate_universe_repositories(mirrors = mirrors, excludes = excludes, _is_drake_self_call = True) # noqa if "csdp_internal" not in excludes: diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable.bazel index 0914718e464b..99183fa82031 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable.bazel @@ -2,9 +2,15 @@ toolchain( name = "toolchain", - exec_compatible_with = ["@platforms//cpu:aarch64","@platforms//os:osx"], - target_compatible_with = ["@platforms//cpu:aarch64","@platforms//os:osx"], + exec_compatible_with = [ + "@platforms//cpu:aarch64", + "@platforms//os:osx", + ], + target_compatible_with = [ + "@platforms//cpu:aarch64", + "@platforms//os:osx", + ], + target_settings = ["@rules_rust//rust/toolchain/channel:stable"], toolchain = "@rust_darwin_aarch64__aarch64-apple-darwin__stable_tools//:rust_toolchain", toolchain_type = "@rules_rust//rust:toolchain", - target_settings = ["@rules_rust//rust/toolchain/channel:stable"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable_tools.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable_tools.bazel index 6ac60e768a46..2e5a3b944f10 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable_tools.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable_tools.bazel @@ -1,5 +1,8 @@ # This file is automatically generated by upgrade.py. +load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup", "rust_toolchain") +load("@rules_shell//shell:sh_binary.bzl", "sh_binary") + filegroup( name = "rustc", srcs = ["bin/rustc"], @@ -32,6 +35,7 @@ filegroup( srcs = ["bin/clippy-driver"], visibility = ["//visibility:public"], ) + filegroup( name = "cargo_clippy_bin", srcs = ["bin/cargo-clippy"], @@ -43,7 +47,6 @@ filegroup( srcs = ["bin/cargo"], visibility = ["//visibility:public"], ) -load("@rules_shell//shell:sh_binary.bzl", "sh_binary") filegroup( name = "rustfmt_bin", @@ -69,8 +72,6 @@ filegroup( visibility = ["//visibility:public"], ) -load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup") - rust_stdlib_filegroup( name = "rust_std-aarch64-apple-darwin", srcs = glob( @@ -93,32 +94,33 @@ alias( visibility = ["//visibility:public"], ) -load("@rules_rust//rust:toolchain.bzl", "rust_toolchain") - rust_toolchain( name = "rust_toolchain", - rust_doc = "//:rustdoc", - rust_std = "//:rust_std-aarch64-apple-darwin", - rustc = "//:rustc", - rustfmt = "//:rustfmt_bin", + allocator_library = "@rules_rust//ffi/cc/allocator_library", + binary_ext = "", cargo = "//:cargo", - clippy_driver = "//:clippy_driver_bin", cargo_clippy = "//:cargo_clippy_bin", + clippy_driver = "//:clippy_driver_bin", + default_edition = "", + dylib_ext = ".dylib", + exec_triple = "aarch64-apple-darwin", + extra_exec_rustc_flags = [], + extra_rustc_flags = [], + global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", llvm_cov = "//:llvm_cov_bin", llvm_profdata = "//:llvm_profdata_bin", + opt_level = None, + rust_doc = "//:rustdoc", + rust_std = "//:rust_std-aarch64-apple-darwin", + rustc = "//:rustc", rustc_lib = "//:rustc_lib", - allocator_library = "@rules_rust//ffi/cc/allocator_library", - global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", - binary_ext = "", + rustfmt = "//:rustfmt_bin", staticlib_ext = ".a", - dylib_ext = ".dylib", - stdlib_linkflags = ["-lSystem", "-lresolv"], - default_edition = "", - exec_triple = "aarch64-apple-darwin", + stdlib_linkflags = [ + "-lSystem", + "-lresolv", + ], + tags = ["rust_version=1.83.0"], target_triple = "aarch64-apple-darwin", visibility = ["//visibility:public"], - extra_rustc_flags = [], - extra_exec_rustc_flags = [], - opt_level = None, - tags = ["rust_version=1.83.0"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable.bazel index 25908951d1ed..18cbb04f7949 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable.bazel @@ -2,9 +2,15 @@ toolchain( name = "toolchain", - exec_compatible_with = ["@platforms//cpu:x86_64","@platforms//os:osx"], - target_compatible_with = ["@platforms//cpu:x86_64","@platforms//os:osx"], + exec_compatible_with = [ + "@platforms//cpu:x86_64", + "@platforms//os:osx", + ], + target_compatible_with = [ + "@platforms//cpu:x86_64", + "@platforms//os:osx", + ], + target_settings = ["@rules_rust//rust/toolchain/channel:stable"], toolchain = "@rust_darwin_x86_64__x86_64-apple-darwin__stable_tools//:rust_toolchain", toolchain_type = "@rules_rust//rust:toolchain", - target_settings = ["@rules_rust//rust/toolchain/channel:stable"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable_tools.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable_tools.bazel index 5cfc727d3843..c196b4bb3365 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable_tools.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable_tools.bazel @@ -1,5 +1,8 @@ # This file is automatically generated by upgrade.py. +load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup", "rust_toolchain") +load("@rules_shell//shell:sh_binary.bzl", "sh_binary") + filegroup( name = "rustc", srcs = ["bin/rustc"], @@ -32,6 +35,7 @@ filegroup( srcs = ["bin/clippy-driver"], visibility = ["//visibility:public"], ) + filegroup( name = "cargo_clippy_bin", srcs = ["bin/cargo-clippy"], @@ -43,7 +47,6 @@ filegroup( srcs = ["bin/cargo"], visibility = ["//visibility:public"], ) -load("@rules_shell//shell:sh_binary.bzl", "sh_binary") filegroup( name = "rustfmt_bin", @@ -69,8 +72,6 @@ filegroup( visibility = ["//visibility:public"], ) -load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup") - rust_stdlib_filegroup( name = "rust_std-x86_64-apple-darwin", srcs = glob( @@ -93,32 +94,33 @@ alias( visibility = ["//visibility:public"], ) -load("@rules_rust//rust:toolchain.bzl", "rust_toolchain") - rust_toolchain( name = "rust_toolchain", - rust_doc = "//:rustdoc", - rust_std = "//:rust_std-x86_64-apple-darwin", - rustc = "//:rustc", - rustfmt = "//:rustfmt_bin", + allocator_library = "@rules_rust//ffi/cc/allocator_library", + binary_ext = "", cargo = "//:cargo", - clippy_driver = "//:clippy_driver_bin", cargo_clippy = "//:cargo_clippy_bin", + clippy_driver = "//:clippy_driver_bin", + default_edition = "", + dylib_ext = ".dylib", + exec_triple = "x86_64-apple-darwin", + extra_exec_rustc_flags = [], + extra_rustc_flags = [], + global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", llvm_cov = "//:llvm_cov_bin", llvm_profdata = "//:llvm_profdata_bin", + opt_level = None, + rust_doc = "//:rustdoc", + rust_std = "//:rust_std-x86_64-apple-darwin", + rustc = "//:rustc", rustc_lib = "//:rustc_lib", - allocator_library = "@rules_rust//ffi/cc/allocator_library", - global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", - binary_ext = "", + rustfmt = "//:rustfmt_bin", staticlib_ext = ".a", - dylib_ext = ".dylib", - stdlib_linkflags = ["-lSystem", "-lresolv"], - default_edition = "", - exec_triple = "x86_64-apple-darwin", + stdlib_linkflags = [ + "-lSystem", + "-lresolv", + ], + tags = ["rust_version=1.83.0"], target_triple = "x86_64-apple-darwin", visibility = ["//visibility:public"], - extra_rustc_flags = [], - extra_exec_rustc_flags = [], - opt_level = None, - tags = ["rust_version=1.83.0"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable.bazel index 808ca52c01ac..43d2f6f8d464 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable.bazel @@ -2,9 +2,15 @@ toolchain( name = "toolchain", - exec_compatible_with = ["@platforms//cpu:aarch64","@platforms//os:linux"], - target_compatible_with = ["@platforms//cpu:aarch64","@platforms//os:linux"], + exec_compatible_with = [ + "@platforms//cpu:aarch64", + "@platforms//os:linux", + ], + target_compatible_with = [ + "@platforms//cpu:aarch64", + "@platforms//os:linux", + ], + target_settings = ["@rules_rust//rust/toolchain/channel:stable"], toolchain = "@rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools//:rust_toolchain", toolchain_type = "@rules_rust//rust:toolchain", - target_settings = ["@rules_rust//rust/toolchain/channel:stable"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools.bazel index 9c06583f2e36..5c9634ae30b3 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools.bazel @@ -1,5 +1,8 @@ # This file is automatically generated by upgrade.py. +load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup", "rust_toolchain") +load("@rules_shell//shell:sh_binary.bzl", "sh_binary") + filegroup( name = "rustc", srcs = ["bin/rustc"], @@ -32,6 +35,7 @@ filegroup( srcs = ["bin/clippy-driver"], visibility = ["//visibility:public"], ) + filegroup( name = "cargo_clippy_bin", srcs = ["bin/cargo-clippy"], @@ -43,7 +47,6 @@ filegroup( srcs = ["bin/cargo"], visibility = ["//visibility:public"], ) -load("@rules_shell//shell:sh_binary.bzl", "sh_binary") filegroup( name = "rustfmt_bin", @@ -69,8 +72,6 @@ filegroup( visibility = ["//visibility:public"], ) -load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup") - rust_stdlib_filegroup( name = "rust_std-aarch64-unknown-linux-gnu", srcs = glob( @@ -93,32 +94,33 @@ alias( visibility = ["//visibility:public"], ) -load("@rules_rust//rust:toolchain.bzl", "rust_toolchain") - rust_toolchain( name = "rust_toolchain", - rust_doc = "//:rustdoc", - rust_std = "//:rust_std-aarch64-unknown-linux-gnu", - rustc = "//:rustc", - rustfmt = "//:rustfmt_bin", + allocator_library = "@rules_rust//ffi/cc/allocator_library", + binary_ext = "", cargo = "//:cargo", - clippy_driver = "//:clippy_driver_bin", cargo_clippy = "//:cargo_clippy_bin", + clippy_driver = "//:clippy_driver_bin", + default_edition = "", + dylib_ext = ".so", + exec_triple = "aarch64-unknown-linux-gnu", + extra_exec_rustc_flags = [], + extra_rustc_flags = [], + global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", llvm_cov = "//:llvm_cov_bin", llvm_profdata = "//:llvm_profdata_bin", + opt_level = None, + rust_doc = "//:rustdoc", + rust_std = "//:rust_std-aarch64-unknown-linux-gnu", + rustc = "//:rustc", rustc_lib = "//:rustc_lib", - allocator_library = "@rules_rust//ffi/cc/allocator_library", - global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", - binary_ext = "", + rustfmt = "//:rustfmt_bin", staticlib_ext = ".a", - dylib_ext = ".so", - stdlib_linkflags = ["-ldl", "-lpthread"], - default_edition = "", - exec_triple = "aarch64-unknown-linux-gnu", + stdlib_linkflags = [ + "-ldl", + "-lpthread", + ], + tags = ["rust_version=1.83.0"], target_triple = "aarch64-unknown-linux-gnu", visibility = ["//visibility:public"], - extra_rustc_flags = [], - extra_exec_rustc_flags = [], - opt_level = None, - tags = ["rust_version=1.83.0"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable.bazel index 551659314fb0..ad6f8d9ddaa5 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable.bazel @@ -2,9 +2,15 @@ toolchain( name = "toolchain", - exec_compatible_with = ["@platforms//cpu:x86_64","@platforms//os:linux"], - target_compatible_with = ["@platforms//cpu:x86_64","@platforms//os:linux"], + exec_compatible_with = [ + "@platforms//cpu:x86_64", + "@platforms//os:linux", + ], + target_compatible_with = [ + "@platforms//cpu:x86_64", + "@platforms//os:linux", + ], + target_settings = ["@rules_rust//rust/toolchain/channel:stable"], toolchain = "@rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools//:rust_toolchain", toolchain_type = "@rules_rust//rust:toolchain", - target_settings = ["@rules_rust//rust/toolchain/channel:stable"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools.bazel index 8be703e646f2..0b02cd4466f2 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools.bazel @@ -1,5 +1,8 @@ # This file is automatically generated by upgrade.py. +load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup", "rust_toolchain") +load("@rules_shell//shell:sh_binary.bzl", "sh_binary") + filegroup( name = "rustc", srcs = ["bin/rustc"], @@ -32,6 +35,7 @@ filegroup( srcs = ["bin/clippy-driver"], visibility = ["//visibility:public"], ) + filegroup( name = "cargo_clippy_bin", srcs = ["bin/cargo-clippy"], @@ -43,7 +47,6 @@ filegroup( srcs = ["bin/cargo"], visibility = ["//visibility:public"], ) -load("@rules_shell//shell:sh_binary.bzl", "sh_binary") filegroup( name = "rustfmt_bin", @@ -69,8 +72,6 @@ filegroup( visibility = ["//visibility:public"], ) -load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup") - rust_stdlib_filegroup( name = "rust_std-x86_64-unknown-linux-gnu", srcs = glob( @@ -93,32 +94,33 @@ alias( visibility = ["//visibility:public"], ) -load("@rules_rust//rust:toolchain.bzl", "rust_toolchain") - rust_toolchain( name = "rust_toolchain", - rust_doc = "//:rustdoc", - rust_std = "//:rust_std-x86_64-unknown-linux-gnu", - rustc = "//:rustc", - rustfmt = "//:rustfmt_bin", + allocator_library = "@rules_rust//ffi/cc/allocator_library", + binary_ext = "", cargo = "//:cargo", - clippy_driver = "//:clippy_driver_bin", cargo_clippy = "//:cargo_clippy_bin", + clippy_driver = "//:clippy_driver_bin", + default_edition = "", + dylib_ext = ".so", + exec_triple = "x86_64-unknown-linux-gnu", + extra_exec_rustc_flags = [], + extra_rustc_flags = [], + global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", llvm_cov = "//:llvm_cov_bin", llvm_profdata = "//:llvm_profdata_bin", + opt_level = None, + rust_doc = "//:rustdoc", + rust_std = "//:rust_std-x86_64-unknown-linux-gnu", + rustc = "//:rustc", rustc_lib = "//:rustc_lib", - allocator_library = "@rules_rust//ffi/cc/allocator_library", - global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", - binary_ext = "", + rustfmt = "//:rustfmt_bin", staticlib_ext = ".a", - dylib_ext = ".so", - stdlib_linkflags = ["-ldl", "-lpthread"], - default_edition = "", - exec_triple = "x86_64-unknown-linux-gnu", + stdlib_linkflags = [ + "-ldl", + "-lpthread", + ], + tags = ["rust_version=1.83.0"], target_triple = "x86_64-unknown-linux-gnu", visibility = ["//visibility:public"], - extra_rustc_flags = [], - extra_exec_rustc_flags = [], - opt_level = None, - tags = ["rust_version=1.83.0"], ) From 11ea7082357d3e9e6965b22f62c974945e424a48 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 11:53:51 -0500 Subject: [PATCH 11/46] WIP changed cpplint command to reference new target --- doc/_pages/clion.md | 4 ++-- tools/lint/cpplint.bzl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/_pages/clion.md b/doc/_pages/clion.md index 5aea19028360..f6b2567220e1 100644 --- a/doc/_pages/clion.md +++ b/doc/_pages/clion.md @@ -244,7 +244,7 @@ following values for the fields: * **Name:** ``Cpplint File`` * **Description:** ``Apply cpplint to the current file`` * **Program:** ``bazel`` -* **Arguments:** ``run @styleguide//:cpplint -- --output=eclipse +* **Arguments:** ``run @cpplint_internal//:cpplint -- --output=eclipse $FilePath$`` * **Working directory:** ``$Projectpath$`` * **Advanced Options:** Confirm ``Open console for tool output`` is checked @@ -304,7 +304,7 @@ Change the following fields in the instructions given above: Building the google styleguide lint tool: -``bazel build @styleguide//:cpplint`` +``bazel build @cpplint_internal//:cpplint`` **Drake style addenda** diff --git a/tools/lint/cpplint.bzl b/tools/lint/cpplint.bzl index f44df55f1633..b7d30e62d1c6 100644 --- a/tools/lint/cpplint.bzl +++ b/tools/lint/cpplint.bzl @@ -73,10 +73,10 @@ def _add_linter_rules( # Google cpplint. py_test_isolated( name = name + "_cpplint", - srcs = ["@styleguide//:cpplint"], + srcs = ["@cpplint_internal//:cpplint"], data = cpplint_data + source_labels, args = _EXTENSIONS_ARGS + source_filenames, - main = "@styleguide//:cpplint/cpplint.py", + main = "@cpplint_internal//:cpplint/cpplint.py", size = size, tags = ["cpplint", "lint"], ) From 65e6c1b0442473399ea18092e19abd2651861593 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 12:30:03 -0500 Subject: [PATCH 12/46] WIP cpplint catching new errors in source files --- tools/lint/cpplint.bzl | 2 +- tools/workspace/cpplint_internal/package.BUILD.bazel | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/lint/cpplint.bzl b/tools/lint/cpplint.bzl index b7d30e62d1c6..25a42c6ff3d0 100644 --- a/tools/lint/cpplint.bzl +++ b/tools/lint/cpplint.bzl @@ -76,7 +76,7 @@ def _add_linter_rules( srcs = ["@cpplint_internal//:cpplint"], data = cpplint_data + source_labels, args = _EXTENSIONS_ARGS + source_filenames, - main = "@cpplint_internal//:cpplint/cpplint.py", + main = "@cpplint_internal//:cpplint.py", size = size, tags = ["cpplint", "lint"], ) diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index 1de591154edc..2a9f98f18c11 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -14,7 +14,11 @@ exports_files(glob([ py_binary( name = "cpplint", - srcs = ["cpplint.py", "pyproject.toml"], + srcs = [ + "cpplint.py", + "setup.py" + ], + data = ["pyproject.toml"], main = "cpplint.py", python_version = "PY3", srcs_version = "PY3", From 7e5f6df6318e5c1443c11d22dbdf6f4319acc2f0 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 12:45:42 -0500 Subject: [PATCH 13/46] WIP added filter conditions to cpplint config --- CPPLINT.cfg | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index 9d756d577669..4b50a869f1f3 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -42,6 +42,12 @@ filter=-whitespace/todo # TODO(#1805) Fix this. filter=-legal/copyright +# These conditions were causing tests to fail after changing the cpplint +# target from RobotLogistics/styleguide to cpplint/cpplint. Ignoring for +# the time being. +filter=-whitespace/indent_namespace +filter=-build/include_what_you_use + # Ignore code that isn't ours. exclude_files=third_party From e3174e537e63c7a3542c7ff8dbdc92634a05c113 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 14:39:36 -0500 Subject: [PATCH 14/46] WIP added necessary flags to suppress new cpplint errors (band aid) --- CPPLINT.cfg | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index 4b50a869f1f3..525c39d341da 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -24,7 +24,7 @@ filter=-build/include_order # matches are anchored only at the start of the name, not the end), so we must # explicitly opt-in to longer category names that the `-build/include` filter in # the next paragraph would otherwise disable. -filter=+build/include_what_you_use +# filter=+build/include_what_you_use # Disable cpplint's check to include the h file atop the cc file (along with # some other, even less relevant checks). Given the layout of bazel's runfiles @@ -45,8 +45,15 @@ filter=-legal/copyright # These conditions were causing tests to fail after changing the cpplint # target from RobotLogistics/styleguide to cpplint/cpplint. Ignoring for # the time being. -filter=-whitespace/indent_namespace +filter=-build/c++17 filter=-build/include_what_you_use +filter=-build/namespaces_headers +filter=-build/namespaces_literals +filter=-readability/casting +filter=-runtime/explicit +filter=-runtime/references +filter=-whitespace/indent_namespace +filter=-whitespace/newline # Ignore code that isn't ours. exclude_files=third_party From 6a4f21c3be8a7ae4949897a3cb9491c6fa03fc73 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 14:45:10 -0500 Subject: [PATCH 15/46] WIP all tests passing, revisiting cpplint filters --- tools/workspace/cpplint_internal/package.BUILD.bazel | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index 2a9f98f18c11..093297dc0dc8 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -16,7 +16,7 @@ py_binary( name = "cpplint", srcs = [ "cpplint.py", - "setup.py" + "setup.py", ], data = ["pyproject.toml"], main = "cpplint.py", From 97e6956b3273c9f6fb5da7980704a51734c50d53 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 15:17:24 -0500 Subject: [PATCH 16/46] reformatted cpplint config file filters --- CPPLINT.cfg | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index 525c39d341da..9866efbc8e86 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -43,16 +43,23 @@ filter=-whitespace/todo filter=-legal/copyright # These conditions were causing tests to fail after changing the cpplint -# target from RobotLogistics/styleguide to cpplint/cpplint. Ignoring for -# the time being. +# target from RobotLogistics/styleguide to cpplint/cpplint. Notably, these +# filters were NOT listed as error categories in the legacy target for cpplint +# (RobotLocomotion/styleguide) and were presumably added in later updates. filter=-build/c++17 -filter=-build/include_what_you_use filter=-build/namespaces_headers filter=-build/namespaces_literals +filter=-whitespace/indent_namespace + +# These error categories ARE defined in the legacy target, yet only began +# causing problems when the cpplint target was switched to (cpplint/cpplint). +# Generally, the updated version of cpplint causes these filters to +# be more strict and trip up the test suite more often. +# Ignoring for the time being. +filter=-build/include_what_you_use # filter behavior change in update filter=-readability/casting -filter=-runtime/explicit filter=-runtime/references -filter=-whitespace/indent_namespace +filter=-runtime/explicit filter=-whitespace/newline # Ignore code that isn't ours. From 4a172668a76641b9183ddba7913acca3377a9838 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 15:20:27 -0500 Subject: [PATCH 17/46] minor change to config file --- CPPLINT.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index 9866efbc8e86..afebf9b36ad5 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -53,8 +53,8 @@ filter=-whitespace/indent_namespace # These error categories ARE defined in the legacy target, yet only began # causing problems when the cpplint target was switched to (cpplint/cpplint). -# Generally, the updated version of cpplint causes these filters to -# be more strict and trip up the test suite more often. +# Generally, the updated version of cpplint caused these filters to +# become more strict and trip up the test suite more often. # Ignoring for the time being. filter=-build/include_what_you_use # filter behavior change in update filter=-readability/casting From 6d5158def58e3f8dbed4f061c8f1ffc0a13d5813 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Thu, 27 Feb 2025 17:11:36 -0500 Subject: [PATCH 18/46] commented out filters in library --- CPPLINT.cfg | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index afebf9b36ad5..1ed5f7de4f97 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -24,7 +24,7 @@ filter=-build/include_order # matches are anchored only at the start of the name, not the end), so we must # explicitly opt-in to longer category names that the `-build/include` filter in # the next paragraph would otherwise disable. -# filter=+build/include_what_you_use +filter=+build/include_what_you_use # Disable cpplint's check to include the h file atop the cc file (along with # some other, even less relevant checks). Given the layout of bazel's runfiles @@ -46,21 +46,21 @@ filter=-legal/copyright # target from RobotLogistics/styleguide to cpplint/cpplint. Notably, these # filters were NOT listed as error categories in the legacy target for cpplint # (RobotLocomotion/styleguide) and were presumably added in later updates. -filter=-build/c++17 -filter=-build/namespaces_headers -filter=-build/namespaces_literals -filter=-whitespace/indent_namespace +# filter=-build/c++17 +# filter=-build/namespaces_headers +# filter=-build/namespaces_literals +# filter=-whitespace/indent_namespace # These error categories ARE defined in the legacy target, yet only began # causing problems when the cpplint target was switched to (cpplint/cpplint). # Generally, the updated version of cpplint caused these filters to # become more strict and trip up the test suite more often. # Ignoring for the time being. -filter=-build/include_what_you_use # filter behavior change in update -filter=-readability/casting -filter=-runtime/references -filter=-runtime/explicit -filter=-whitespace/newline +# filter=-build/include_what_you_use # filter behavior change in update +# filter=-readability/casting +# filter=-runtime/references +# filter=-runtime/explicit +# filter=-whitespace/newline # Ignore code that isn't ours. exclude_files=third_party From ab20c0067ef79c1ff145f53e51ea82324a038566 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Mon, 3 Mar 2025 09:44:15 -0500 Subject: [PATCH 19/46] untracked venv --- .gitignore | 1 + venv | 1 + 2 files changed, 2 insertions(+) create mode 120000 venv diff --git a/.gitignore b/.gitignore index d9dd610777e7..6be50a9ad5bc 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ # User-specified configuration /user.bazelrc +/venv \ No newline at end of file diff --git a/venv b/venv new file mode 120000 index 000000000000..441688f6087d --- /dev/null +++ b/venv @@ -0,0 +1 @@ +/private/var/tmp/_bazel_aiden.mccormack/9598f1a1c587a95262ff87f0aa2eecbc.drake_python/venv.drake \ No newline at end of file From 138440168bd74610e0b844df3b5e662bd1e4366c Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Mon, 3 Mar 2025 10:24:09 -0500 Subject: [PATCH 20/46] reintroduced cpplint filters to suppress upstream-induced errors --- CPPLINT.cfg | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index 1ed5f7de4f97..afebf9b36ad5 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -24,7 +24,7 @@ filter=-build/include_order # matches are anchored only at the start of the name, not the end), so we must # explicitly opt-in to longer category names that the `-build/include` filter in # the next paragraph would otherwise disable. -filter=+build/include_what_you_use +# filter=+build/include_what_you_use # Disable cpplint's check to include the h file atop the cc file (along with # some other, even less relevant checks). Given the layout of bazel's runfiles @@ -46,21 +46,21 @@ filter=-legal/copyright # target from RobotLogistics/styleguide to cpplint/cpplint. Notably, these # filters were NOT listed as error categories in the legacy target for cpplint # (RobotLocomotion/styleguide) and were presumably added in later updates. -# filter=-build/c++17 -# filter=-build/namespaces_headers -# filter=-build/namespaces_literals -# filter=-whitespace/indent_namespace +filter=-build/c++17 +filter=-build/namespaces_headers +filter=-build/namespaces_literals +filter=-whitespace/indent_namespace # These error categories ARE defined in the legacy target, yet only began # causing problems when the cpplint target was switched to (cpplint/cpplint). # Generally, the updated version of cpplint caused these filters to # become more strict and trip up the test suite more often. # Ignoring for the time being. -# filter=-build/include_what_you_use # filter behavior change in update -# filter=-readability/casting -# filter=-runtime/references -# filter=-runtime/explicit -# filter=-whitespace/newline +filter=-build/include_what_you_use # filter behavior change in update +filter=-readability/casting +filter=-runtime/references +filter=-runtime/explicit +filter=-whitespace/newline # Ignore code that isn't ours. exclude_files=third_party From 48fe00f6443384ca06e3f4419f6901378cfd9351 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Mon, 3 Mar 2025 10:56:43 -0500 Subject: [PATCH 21/46] removed cpplint filters for error reproduction --- CPPLINT.cfg | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index afebf9b36ad5..1ed5f7de4f97 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -24,7 +24,7 @@ filter=-build/include_order # matches are anchored only at the start of the name, not the end), so we must # explicitly opt-in to longer category names that the `-build/include` filter in # the next paragraph would otherwise disable. -# filter=+build/include_what_you_use +filter=+build/include_what_you_use # Disable cpplint's check to include the h file atop the cc file (along with # some other, even less relevant checks). Given the layout of bazel's runfiles @@ -46,21 +46,21 @@ filter=-legal/copyright # target from RobotLogistics/styleguide to cpplint/cpplint. Notably, these # filters were NOT listed as error categories in the legacy target for cpplint # (RobotLocomotion/styleguide) and were presumably added in later updates. -filter=-build/c++17 -filter=-build/namespaces_headers -filter=-build/namespaces_literals -filter=-whitespace/indent_namespace +# filter=-build/c++17 +# filter=-build/namespaces_headers +# filter=-build/namespaces_literals +# filter=-whitespace/indent_namespace # These error categories ARE defined in the legacy target, yet only began # causing problems when the cpplint target was switched to (cpplint/cpplint). # Generally, the updated version of cpplint caused these filters to # become more strict and trip up the test suite more often. # Ignoring for the time being. -filter=-build/include_what_you_use # filter behavior change in update -filter=-readability/casting -filter=-runtime/references -filter=-runtime/explicit -filter=-whitespace/newline +# filter=-build/include_what_you_use # filter behavior change in update +# filter=-readability/casting +# filter=-runtime/references +# filter=-runtime/explicit +# filter=-whitespace/newline # Ignore code that isn't ours. exclude_files=third_party From bd669ae6b353b857614209c1b635e28f7fa0a759 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Mon, 3 Mar 2025 17:39:34 -0500 Subject: [PATCH 22/46] incorporated whitespace filter --- CPPLINT.cfg | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index 1ed5f7de4f97..8239dda47bcb 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -39,6 +39,10 @@ filter=-build/include # by the readability/todo rule, which we leave enabled.) filter=-whitespace/todo +# TODO(jwnimmer-tri) This has hundreds of false positives. Seems completely +# broken. With our growing use of clang-format, we probably don't care. +filter=-whitespace/indent_namespace + # TODO(#1805) Fix this. filter=-legal/copyright From 8859802cdfce909886f0f08a3c79e0a09f1aa18c Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Tue, 4 Mar 2025 15:39:32 -0500 Subject: [PATCH 23/46] undid a change I made to gitignore --- .gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6be50a9ad5bc..39808e1ffd8d 100644 --- a/.gitignore +++ b/.gitignore @@ -28,5 +28,4 @@ /gen/ # User-specified configuration -/user.bazelrc -/venv \ No newline at end of file +/user.bazelrc \ No newline at end of file From 4b71cfae97f4d03d8b0505efab82e120f5ad1177 Mon Sep 17 00:00:00 2001 From: Aiden2244 Date: Tue, 4 Mar 2025 23:17:46 -0500 Subject: [PATCH 24/46] Squashed commit of the following: commit 223582512aa95d8c344219a2c1c2a3322fe218c5 Author: Aiden2244 Date: Tue Mar 4 22:40:54 2025 -0500 fixed comma spacing errors in macos.py commit 44251d8d02eb53bbde50fe705ddfb833c79d5bb0 Author: Aiden2244 Date: Tue Mar 4 15:52:00 2025 -0500 added blank line in .gitignore commit 5c8408ec99e6f27ea7acfaf3a7b273398777a59c Author: Aiden2244 Date: Tue Mar 4 15:50:52 2025 -0500 removed env variables and hopefully escaped git hell commit 006d4eea68d0f576c4c8d43f5e89ee783f7be99c Merge: ec68da87b 8859802cd Author: Aiden2244 Date: Tue Mar 4 15:46:39 2025 -0500 Merge branch 'master' into bug-brew-no-lock modified local gitignore, reverted change on local master branch commit ec68da87ba8b0eb46a50444201be8e44c1af67db Author: Aiden2244 Date: Tue Mar 4 15:43:15 2025 -0500 Revert "removed references to brew lockfiles" This reverts commit 14ac2d476b643386bd057eede2a80ee9abaa2530. commit e774794d98d94e76950bbfe1f568a16f4c6187cc Author: Aiden2244 Date: Tue Mar 4 15:38:00 2025 -0500 modified gitignore commit e5789ad00402b3ea4baf3ea8bee0631bc8b15787 Author: Aiden2244 Date: Tue Mar 4 15:31:31 2025 -0500 removed irrelevant changes commit 14ac2d476b643386bd057eede2a80ee9abaa2530 Author: Aiden2244 Date: Tue Mar 4 15:29:17 2025 -0500 removed references to brew lockfiles commit a6da02a1e6c67813d6501d42f86a96683bcd98a0 Author: Aiden2244 Date: Tue Mar 4 15:27:19 2025 -0500 addressed an instance of '--no-lock' in python build script commit ebc06c7d1679004d1ce5ab374fdedcfb005a392a Author: Aiden2244 Date: Tue Mar 4 15:17:46 2025 -0500 removed venv from gitignore commit 0d0f8205d45d06063ff3304591630f4c418e885a Author: Aiden2244 Date: Tue Mar 4 15:10:01 2025 -0500 removed --no-lock from source distribution build script commit 0ba270e990f4523af3513de3423483403809fc4b Author: Aiden2244 Date: Tue Mar 4 14:47:21 2025 -0500 added homebrew env variable and removed deprecated flag Fixed brew lockfile issues --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 2 +- setup/mac/binary_distribution/install_prereqs.sh | 2 +- setup/mac/source_distribution/install_prereqs.sh | 2 +- tools/wheel/wheel_builder/macos.py | 2 +- venv | 1 - 6 files changed, 4 insertions(+), 5 deletions(-) delete mode 100644 .DS_Store delete mode 120000 venv diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index fa5e55bf1d7f7c94a653b30e703ff3becb435bd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~J!->15QX2wE(~c@y4=PG$PE_boWK`I;ov67U`XmcdfxmrQCtTR-oVV;nbjca zE3_H_cKp1&026>6-4zE93p3^$T=9wKR-Zu6BDuL4gIGh=1KV!yT}A|L`HAOa#F z0xKerr#N=cD|#k9iU^3nItcjpq0wD?=}3)F2Sbbi)Gf/dev/null; then echo 'ERROR: pip3.12 is NOT installed. The post-install step for the python@3.12 formula may have failed.' >&2 diff --git a/setup/mac/source_distribution/install_prereqs.sh b/setup/mac/source_distribution/install_prereqs.sh index 7bd3392ee873..56a05f7932dc 100755 --- a/setup/mac/source_distribution/install_prereqs.sh +++ b/setup/mac/source_distribution/install_prereqs.sh @@ -32,4 +32,4 @@ if ! command -v brew &>/dev/null; then exit 4 fi -brew bundle --file="${BASH_SOURCE%/*}/Brewfile" --no-lock +brew bundle --file="${BASH_SOURCE%/*}/Brewfile" diff --git a/tools/wheel/wheel_builder/macos.py b/tools/wheel/wheel_builder/macos.py index 99748107ace7..735d409fe467 100644 --- a/tools/wheel/wheel_builder/macos.py +++ b/tools/wheel/wheel_builder/macos.py @@ -72,7 +72,7 @@ def _provision(python_targets): Prepares wheel build environment. """ packages_path = os.path.join(resource_root, 'image', 'packages-macos') - command = ['brew', 'bundle', f'--file={packages_path}', '--no-lock'] + command = ['brew', 'bundle', f'--file={packages_path}',] subprocess.check_call(command) for t in python_targets: diff --git a/venv b/venv deleted file mode 120000 index 441688f6087d..000000000000 --- a/venv +++ /dev/null @@ -1 +0,0 @@ -/private/var/tmp/_bazel_aiden.mccormack/9598f1a1c587a95262ff87f0aa2eecbc.drake_python/venv.drake \ No newline at end of file From b7ec18bf688e7b1cfa817a28401f98e6da2c9c88 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Wed, 5 Mar 2025 11:35:58 -0500 Subject: [PATCH 25/46] removed unit test for cpplint --- setup/python/pyproject.toml | 2 -- tools/workspace/cpplint_internal/BUILD.bazel | 10 ---------- tools/workspace/cpplint_internal/package.BUILD.bazel | 11 ----------- venv | 2 +- 4 files changed, 1 insertion(+), 24 deletions(-) diff --git a/setup/python/pyproject.toml b/setup/python/pyproject.toml index 9788b921ca88..f145eb6fb5e2 100644 --- a/setup/python/pyproject.toml +++ b/setup/python/pyproject.toml @@ -32,8 +32,6 @@ test = [ "six", "u-msgpack-python", "websockets", - "parameterized", - "pytest", ] # (Additional) dependencies needed to build a Drake wheel. wheel = [ diff --git a/tools/workspace/cpplint_internal/BUILD.bazel b/tools/workspace/cpplint_internal/BUILD.bazel index dcd58b84561c..67914ea7e0a0 100644 --- a/tools/workspace/cpplint_internal/BUILD.bazel +++ b/tools/workspace/cpplint_internal/BUILD.bazel @@ -1,13 +1,3 @@ load("//tools/lint:lint.bzl", "add_lint_tests") -load("//tools/skylark:py.bzl", "py_test") - -py_test( - name = "cpplint_unittest", - size = "small", - srcs = ["@cpplint_internal//:test_files"], - data = ["@cpplint_internal//:test_files"], - main = "@cpplint_internal//:cpplint_unittest.py", - tags = ["no_kcov"], -) add_lint_tests() diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index 093297dc0dc8..dea67fe56d1a 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -23,14 +23,3 @@ py_binary( python_version = "PY3", srcs_version = "PY3", ) - -filegroup( - name = "test_files", - testonly = True, - srcs = [ - "cpplint.py", - "cpplint_unittest.py", - "pyproject.toml", - "setup.py", - ], -) diff --git a/venv b/venv index 441688f6087d..b5a707a89834 120000 --- a/venv +++ b/venv @@ -1 +1 @@ -/private/var/tmp/_bazel_aiden.mccormack/9598f1a1c587a95262ff87f0aa2eecbc.drake_python/venv.drake \ No newline at end of file +/private/var/tmp/_bazel_aiden.mccormack/6c6b3e0c3456762a7f497c30d14b5e35.drake_python/venv.drake \ No newline at end of file From 70651b2a8216abe0e9262a95be45dec62d763047 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Wed, 5 Mar 2025 13:42:38 -0500 Subject: [PATCH 26/46] added patchfile to reinstate UpdateIncludeState from upstream (IWYU still unhappy) --- .../patches/transitive_includes.patch | 82 +++++++++++++++++++ .../workspace/cpplint_internal/repository.bzl | 3 + 2 files changed, 85 insertions(+) create mode 100644 tools/workspace/cpplint_internal/patches/transitive_includes.patch diff --git a/tools/workspace/cpplint_internal/patches/transitive_includes.patch b/tools/workspace/cpplint_internal/patches/transitive_includes.patch new file mode 100644 index 000000000000..1b36136b4558 --- /dev/null +++ b/tools/workspace/cpplint_internal/patches/transitive_includes.patch @@ -0,0 +1,82 @@ +Restore UpdateIncludeState function to fix dependency issues + +This restores the UpdateIncludeState function which was removed but is still +needed by our codebase. Without this function, code that depends on it breaks. + +n.b. In the future we should consider finding a more sustainable solution that +doesn't depend on this deprecated functionality. + +--- cpplint.py ++++ cpplint.py +@@ -6040,6 +6040,34 @@ def FilesBelongToSameModule(filename_cc, filename_h): + return files_belong_to_same_module, common_path + + ++def UpdateIncludeState(filename, include_dict, io=codecs): ++ """Fill up the include_dict with new includes found from the file. ++ ++ Args: ++ filename: the name of the header to read. ++ include_dict: a dictionary in which the headers are inserted. ++ io: The io factory to use to read the file. Provided for testability. ++ ++ Returns: ++ True if a header was successfully added. False otherwise. ++ """ ++ headerfile = None ++ try: ++ with io.open(filename, 'r', 'utf8', 'replace') as headerfile: ++ linenum = 0 ++ for line in headerfile: ++ linenum += 1 ++ clean_line = CleanseComments(line) ++ match = _RE_PATTERN_INCLUDE.search(clean_line) ++ if match: ++ include = match.group(2) ++ include_dict.setdefault(include, linenum) ++ return True ++ except IOError: ++ return False ++ ++ ++ + def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, + io=codecs): + """Reports for missing stl includes. +@@ -6095,10 +6095,36 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, + if prefix.endswith('std::') or not prefix.endswith('::'): + required[header] = (linenum, template) + ++ # The policy is that if you #include something in foo.h you don't need to ++ # include it again in foo.cc. Here, we will look at possible includes. + # Let's flatten the include_state include_list and copy it into a dictionary. + include_dict = dict([item for sublist in include_state.include_list + for item in sublist]) + ++ # Did we find the header for this file (if any) and successfully load it? ++ header_found = False ++ ++ # Use the absolute path so that matching works properly. ++ abs_filename = FileInfo(filename).FullName() ++ ++ # For Emacs's flymake. ++ # If cpplint is invoked from Emacs's flymake, a temporary file is generated ++ # by flymake and that file name might end with '_flymake.cc'. In that case, ++ # restore original file name here so that the corresponding header file can be ++ # found. ++ # e.g. If the file name is 'foo_flymake.cc', we should search for 'foo.h' ++ # instead of 'foo_flymake.h' ++ abs_filename = re.sub(r'_flymake\.cc$', '.cc', abs_filename) ++ ++ # include_dict is modified during iteration, so we iterate over a copy of ++ # the keys. ++ header_keys = list(include_dict.keys()) ++ for header in header_keys: ++ (same_module, common_path) = FilesBelongToSameModule(abs_filename, header) ++ fullpath = common_path + header ++ if same_module and UpdateIncludeState(fullpath, include_dict, io): ++ header_found = True ++ + # All the lines have been processed, report the errors found. + for required_header_unstripped in sorted(required, key=required.__getitem__): + template = required[required_header_unstripped][1] \ No newline at end of file diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index 1d48b03c6b05..d2b48b2f938d 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -9,5 +9,8 @@ def cpplint_internal_repository( commit = "f4363d7fc0d5f38c4fd41b658e069e96583da0d5", sha256 = "c1502a16e609c65731cd6eb62b94eb2e4ef5be195e57d85a5619f4ff12a0de3e", # noqa build_file = ":package.BUILD.bazel", + patches = [ + ":patches/transitive_includes.patch" + ], mirrors = mirrors, ) From 7803272c55d7aeb5e5db555c43bad346ae97a2c7 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Wed, 5 Mar 2025 14:17:45 -0500 Subject: [PATCH 27/46] created patchfile comparing latest stable release to version before function removal (IWYU still unhappy) --- .../patches/transitive_includes.patch | 969 +++++++++++++++++- 1 file changed, 953 insertions(+), 16 deletions(-) diff --git a/tools/workspace/cpplint_internal/patches/transitive_includes.patch b/tools/workspace/cpplint_internal/patches/transitive_includes.patch index 1b36136b4558..d5b6b6d5ed41 100644 --- a/tools/workspace/cpplint_internal/patches/transitive_includes.patch +++ b/tools/workspace/cpplint_internal/patches/transitive_includes.patch @@ -1,17 +1,717 @@ -Restore UpdateIncludeState function to fix dependency issues - -This restores the UpdateIncludeState function which was removed but is still -needed by our codebase. Without this function, code that depends on it breaks. - -n.b. In the future we should consider finding a more sustainable solution that -doesn't depend on this deprecated functionality. - ---- cpplint.py -+++ cpplint.py -@@ -6040,6 +6040,34 @@ def FilesBelongToSameModule(filename_cc, filename_h): +diff --git b/cpplint.py a/cpplint.py +old mode 100755 +new mode 100644 +index 10a69c0..a918b8c +--- b/cpplint.py ++++ a/cpplint.py +@@ -42,7 +42,6 @@ same line, but it is far from perfect (in either direction). + """ + + import codecs +-import collections + import copy + import getopt + import glob +@@ -59,7 +58,7 @@ import xml.etree.ElementTree + # if empty, use defaults + _valid_extensions = set([]) + +-__VERSION__ = '2.0.0' ++__VERSION__ = '1.7.0' + + _USAGE = """ + Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] +@@ -71,7 +70,6 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] + [--exclude=path] + [--extensions=hpp,cpp,...] + [--includeorder=default|standardcfirst] +- [--config=filename] + [--quiet] + [--version] + [file] ... +@@ -89,11 +87,7 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] + To suppress false-positive errors of certain categories, add a + 'NOLINT(category[, category...])' comment to the line. NOLINT or NOLINT(*) + suppresses errors of all categories on that line. To suppress categories +- on the next line use NOLINTNEXTLINE instead of NOLINT. To suppress errors in +- a block of code 'NOLINTBEGIN(category[, category...])' comment to a line at +- the start of the block and to end the block add a comment with 'NOLINTEND'. +- NOLINT blocks are inclusive so any statements on the same line as a BEGIN +- or END will have the error suppression applied. ++ on the next line use NOLINTNEXTLINE instead of NOLINT. + + The files passed in will be linted; at least one file must be provided. + Default linted extensions are %s. +@@ -136,20 +130,12 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] + To see a list of all the categories used in cpplint, pass no arg: + --filter= + +- Filters can directly be limited to files and also line numbers. The +- syntax is category:file:line , where line is optional. The filter limitation +- works for both + and - and can be combined with ordinary filters: +- +- Examples: --filter=-whitespace:foo.h,+whitespace/braces:foo.h +- --filter=-whitespace,-runtime/printf:foo.h:14,+runtime/printf_format:foo.h +- --filter=-,+build/include_what_you_use:foo.h:321 +- + counting=total|toplevel|detailed + The total number of errors found is always printed. If + 'toplevel' is provided, then the count of errors in each of + the top-level categories like 'build' and 'whitespace' will + also be printed. If 'detailed' is provided, then a count +- is provided for each category like 'legal/copyright'. ++ is provided for each category like 'build/class'. + + repository=path + The top level directory of the repository, used to derive the header +@@ -231,9 +217,6 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] + treat all others as separate group of "other system headers". The C headers + included are those of the C-standard lib and closely related ones. + +- config=filename +- Search for config files with the specified name instead of CPPLINT.cfg +- + headers=x,y,... + The header extensions that cpplint will treat as .h in checks. Values are + automatically added to --extensions list. +@@ -293,8 +276,10 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] + # If you add a new error message with a new category, add it to the list + # here! cpplint_unittest.py should tell you if you forget to do this. + _ERROR_CATEGORIES = [ ++ 'build/class', + 'build/c++11', +- 'build/c++17', ++ 'build/c++14', ++ 'build/c++tr1', + 'build/deprecated', + 'build/endif_comment', + 'build/explicit_make_pair', +@@ -334,6 +319,7 @@ _ERROR_CATEGORIES = [ + 'runtime/invalid_increment', + 'runtime/member_string_references', + 'runtime/memset', ++ 'runtime/indentation_namespace', + 'runtime/operator', + 'runtime/printf', + 'runtime/printf_format', +@@ -352,7 +338,6 @@ _ERROR_CATEGORIES = [ + 'whitespace/ending_newline', + 'whitespace/forcolon', + 'whitespace/indent', +- 'whitespace/indent_namespace', + 'whitespace/line_length', + 'whitespace/newline', + 'whitespace/operators', +@@ -372,7 +357,6 @@ _MACHINE_OUTPUTS = [ + # These error categories are no longer enforced by cpplint, but for backwards- + # compatibility they may still appear in NOLINT comments. + _LEGACY_ERROR_CATEGORIES = [ +- 'build/class', + 'readability/streams', + 'readability/function', + ] +@@ -380,41 +364,14 @@ _LEGACY_ERROR_CATEGORIES = [ + # These prefixes for categories should be ignored since they relate to other + # tools which also use the NOLINT syntax, e.g. clang-tidy. + _OTHER_NOLINT_CATEGORY_PREFIXES = [ +- 'clang-analyzer-', +- 'abseil-', +- 'altera-', +- 'android-', +- 'boost-', +- 'bugprone-', +- 'cert-', +- 'concurrency-', +- 'cppcoreguidelines-', +- 'darwin-', +- 'fuchsia-', +- 'google-', +- 'hicpp-', +- 'linuxkernel-', +- 'llvm-', +- 'llvmlibc-', +- 'misc-', +- 'modernize-', +- 'mpi-', +- 'objc-', +- 'openmp-', +- 'performance-', +- 'portability-', +- 'readability-', +- 'zircon-', ++ 'clang-analyzer', + ] + + # The default state of the category filter. This is overridden by the --filter= + # flag. By default all errors are on, so only add here categories that should be + # off by default (i.e., categories that must be enabled by the --filter= flags). + # All entries here should start with a '-' or '+', as in the --filter= flag. +-_DEFAULT_FILTERS = [ +- '-build/include_alpha', +- '-readability/fn_size', +- ] ++_DEFAULT_FILTERS = ['-build/include_alpha'] + + # The default list of categories suppressed for C (not C++) files. + _DEFAULT_C_SUPPRESSED_CATEGORIES = [ +@@ -930,7 +887,7 @@ _repository = None + # Files to exclude from linting. This is set by the --exclude flag. + _excludes = None + +-# Whether to suppress all PrintInfo messages, UNRELATED to --quiet flag ++# Whether to supress all PrintInfo messages, UNRELATED to --quiet flag + _quiet = False + + # The allowed line length of files. +@@ -940,79 +897,13 @@ _line_length = 80 + # This allows to use different include order rule than default + _include_order = "default" + +-# This allows different config files to be used +-_config_filename = "CPPLINT.cfg" +- + # Treat all headers starting with 'h' equally: .h, .hpp, .hxx etc. + # This is set by --headers flag. + _hpp_headers = set([]) + +-class ErrorSuppressions: +- """Class to track all error suppressions for cpplint""" +- +- class LineRange: +- """Class to represent a range of line numbers for which an error is suppressed""" +- def __init__(self, begin, end): +- self.begin = begin +- self.end = end +- +- def __str__(self): +- return f'[{self.begin}-{self.end}]' +- +- def __contains__(self, obj): +- return self.begin <= obj <= self.end +- +- def ContainsRange(self, other): +- return self.begin <= other.begin and self.end >= other.end +- +- def __init__(self): +- self._suppressions = collections.defaultdict(list) +- self._open_block_suppression = None +- +- def _AddSuppression(self, category, line_range): +- suppressed = self._suppressions[category] +- if not (suppressed and suppressed[-1].ContainsRange(line_range)): +- suppressed.append(line_range) +- +- def GetOpenBlockStart(self): +- """:return: The start of the current open block or `-1` if there is not an open block""" +- return self._open_block_suppression.begin if self._open_block_suppression else -1 +- +- def AddGlobalSuppression(self, category): +- """Add a suppression for `category` which is suppressed for the whole file""" +- self._AddSuppression(category, self.LineRange(0, math.inf)) +- +- def AddLineSuppression(self, category, linenum): +- """Add a suppression for `category` which is suppressed only on `linenum`""" +- self._AddSuppression(category, self.LineRange(linenum, linenum)) +- +- def StartBlockSuppression(self, category, linenum): +- """Start a suppression block for `category` on `linenum`. inclusive""" +- if self._open_block_suppression is None: +- self._open_block_suppression = self.LineRange(linenum, math.inf) +- self._AddSuppression(category, self._open_block_suppression) +- +- def EndBlockSuppression(self, linenum): +- """End the current block suppression on `linenum`. inclusive""" +- if self._open_block_suppression: +- self._open_block_suppression.end = linenum +- self._open_block_suppression = None +- +- def IsSuppressed(self, category, linenum): +- """:return: `True` if `category` is suppressed for `linenum`""" +- suppressed = self._suppressions[category] + self._suppressions[None] +- return any(linenum in lr for lr in suppressed) +- +- def HasOpenBlock(self): +- """:return: `True` if a block suppression was started but not ended""" +- return self._open_block_suppression is not None +- +- def Clear(self): +- """Clear all current error suppressions""" +- self._suppressions.clear() +- self._open_block_suppression = None +- +-_error_suppressions = ErrorSuppressions() ++# {str, bool}: a map from error categories to booleans which indicate if the ++# category should be suppressed for every line. ++_global_error_suppressions = {} + + def ProcessHppHeadersOption(val): + global _hpp_headers +@@ -1072,38 +963,19 @@ def ParseNolintSuppressions(filename, raw_line, linenum, error): + linenum: int, the number of the current line. + error: function, an error handler. + """ +- matched = re.search(r'\bNOLINT(NEXTLINE|BEGIN|END)?\b(\([^)]+\))?', raw_line) ++ matched = re.search(r'\bNOLINT(NEXTLINE)?\b(\([^)]+\))?', raw_line) + if matched: +- no_lint_type = matched.group(1) +- if no_lint_type == 'NEXTLINE': +- def ProcessCategory(category): +- _error_suppressions.AddLineSuppression(category, linenum + 1) +- elif no_lint_type == 'BEGIN': +- if _error_suppressions.HasOpenBlock(): +- error(filename, linenum, 'readability/nolint', 5, +- f'NONLINT block already defined on line {_error_suppressions.GetOpenBlockStart()}') +- +- def ProcessCategory(category): +- _error_suppressions.StartBlockSuppression(category, linenum) +- elif no_lint_type == 'END': +- if not _error_suppressions.HasOpenBlock(): +- error(filename, linenum, 'readability/nolint', 5, 'Not in a NOLINT block') +- +- def ProcessCategory(category): +- if category is not None: +- error(filename, linenum, 'readability/nolint', 5, +- f'NOLINT categories not supported in block END: {category}') +- _error_suppressions.EndBlockSuppression(linenum) ++ if matched.group(1): ++ suppressed_line = linenum + 1 + else: +- def ProcessCategory(category): +- _error_suppressions.AddLineSuppression(category, linenum) ++ suppressed_line = linenum + categories = matched.group(2) + if categories in (None, '(*)'): # => "suppress all" +- ProcessCategory(None) ++ _error_suppressions.setdefault(None, set()).add(suppressed_line) + elif categories.startswith('(') and categories.endswith(')'): + for category in set(map(lambda c: c.strip(), categories[1:-1].split(','))): + if category in _ERROR_CATEGORIES: +- ProcessCategory(category) ++ _error_suppressions.setdefault(category, set()).add(suppressed_line) + elif any(c for c in _OTHER_NOLINT_CATEGORY_PREFIXES if category.startswith(c)): + # Ignore any categories from other tools. + pass +@@ -1111,11 +983,8 @@ def ParseNolintSuppressions(filename, raw_line, linenum, error): + error(filename, linenum, 'readability/nolint', 5, + f'Unknown NOLINT error category: {category}') + +-def ProcessGlobalSuppresions(lines): +- """Deprecated; use ProcessGlobalSuppressions.""" +- ProcessGlobalSuppressions(lines) + +-def ProcessGlobalSuppressions(lines): ++def ProcessGlobalSuppresions(lines): + """Updates the list of global error suppressions. + + Parses any lint directives in the file that have global effect. +@@ -1127,31 +996,34 @@ def ProcessGlobalSuppressions(lines): + for line in lines: + if _SEARCH_C_FILE.search(line): + for category in _DEFAULT_C_SUPPRESSED_CATEGORIES: +- _error_suppressions.AddGlobalSuppression(category) ++ _global_error_suppressions[category] = True + if _SEARCH_KERNEL_FILE.search(line): + for category in _DEFAULT_KERNEL_SUPPRESSED_CATEGORIES: +- _error_suppressions.AddGlobalSuppression(category) ++ _global_error_suppressions[category] = True + + + def ResetNolintSuppressions(): + """Resets the set of NOLINT suppressions to empty.""" +- _error_suppressions.Clear() ++ _error_suppressions.clear() ++ _global_error_suppressions.clear() + + + def IsErrorSuppressedByNolint(category, linenum): + """Returns true if the specified error category is suppressed on this line. + + Consults the global error_suppressions map populated by +- ParseNolintSuppressions/ProcessGlobalSuppressions/ResetNolintSuppressions. ++ ParseNolintSuppressions/ProcessGlobalSuppresions/ResetNolintSuppressions. + + Args: + category: str, the category of the error. + linenum: int, the current line number. + Returns: +- bool, True iff the error should be suppressed due to a NOLINT comment, +- block suppression or global suppression. ++ bool, True iff the error should be suppressed due to a NOLINT comment or ++ global suppression. + """ +- return _error_suppressions.IsSuppressed(category, linenum) ++ return (_global_error_suppressions.get(category, False) or ++ linenum in _error_suppressions.get(category, set()) or ++ linenum in _error_suppressions.get(None, set())) + + + def _IsSourceExtension(s): +@@ -1346,7 +1218,7 @@ class _CppLintState(object): + self._filters_backup = self.filters[:] + self.counting = 'total' # In what way are we counting errors? + self.errors_by_category = {} # string to int dict storing error counts +- self.quiet = False # Suppress non-error messages? ++ self.quiet = False # Suppress non-error messagess? + + # output format: + # "emacs" - format that emacs can parse (default) +@@ -1743,7 +1615,7 @@ class FileInfo(object): + return _IsSourceExtension(self.Extension()[1:]) + + +-def _ShouldPrintError(category, confidence, filename, linenum): ++def _ShouldPrintError(category, confidence, linenum): + """If confidence >= verbose, category passes filter and is not suppressed.""" + + # There are three ways we might decide not to print an error message: +@@ -1757,16 +1629,11 @@ def _ShouldPrintError(category, confidence, filename, linenum): + + is_filtered = False + for one_filter in _Filters(): +- filter_cat, filter_file, filter_line = _ParseFilterSelector(one_filter[1:]) +- category_match = category.startswith(filter_cat) +- file_match = filter_file == "" or filter_file == filename +- line_match = filter_line == linenum or filter_line == -1 +- + if one_filter.startswith('-'): +- if category_match and file_match and line_match: ++ if category.startswith(one_filter[1:]): + is_filtered = True + elif one_filter.startswith('+'): +- if category_match and file_match and line_match: ++ if category.startswith(one_filter[1:]): + is_filtered = False + else: + assert False # should have been checked for in SetFilter. +@@ -1783,9 +1650,9 @@ def Error(filename, linenum, category, confidence, message): + that is, how certain we are this is a legitimate style regression, and + not a misidentification or a use that's sometimes justified. + +- False positives can be suppressed by the use of "NOLINT(category)" +- comments, NOLINTNEXTLINE or in blocks started by NOLINTBEGIN. These +- are parsed into _error_suppressions. ++ False positives can be suppressed by the use of ++ "cpplint(category)" comments on the offending line. These are ++ parsed into _error_suppressions. + + Args: + filename: The name of the file containing the error. +@@ -1798,7 +1665,7 @@ def Error(filename, linenum, category, confidence, message): + and 1 meaning that it could be a legitimate construct. + message: The error message. + """ +- if _ShouldPrintError(category, confidence, filename, linenum): ++ if _ShouldPrintError(category, confidence, linenum): + _cpplint_state.IncrementErrorCount(category) + if _cpplint_state.output_format == 'vs7': + _cpplint_state.PrintError(f'{filename}({linenum}): error cpplint:' +@@ -2481,7 +2348,7 @@ def GetHeaderGuardCPPVariable(filename): + return re.sub(r'[^a-zA-Z0-9]', '_', file_path_from_root).upper() + '_' + + +-def CheckForHeaderGuard(filename, clean_lines, error, cppvar): ++def CheckForHeaderGuard(filename, clean_lines, error): + """Checks that the file contains a header guard. + + Logs an error if no #ifndef header guard is present. For other +@@ -2509,6 +2376,8 @@ def CheckForHeaderGuard(filename, clean_lines, error, cppvar): + if re.search(r'^\s*#pragma\s+once', i): + return + ++ cppvar = GetHeaderGuardCPPVariable(filename) ++ + ifndef = '' + ifndef_linenum = 0 + define = '' +@@ -2589,13 +2458,13 @@ def CheckHeaderFileIncluded(filename, include_state, error): + if re.search(_TEST_FILE_SUFFIX, fileinfo.BaseName()): + return + +- first_include = message = None +- basefilename = filename[0:len(filename) - len(fileinfo.Extension())] + for ext in GetHeaderExtensions(): ++ basefilename = filename[0:len(filename) - len(fileinfo.Extension())] + headerfile = basefilename + '.' + ext + if not os.path.exists(headerfile): + continue + headername = FileInfo(headerfile).RepositoryName() ++ first_include = None + include_uses_unix_dir_aliases = False + for section_list in include_state.include_list: + for f in section_list: +@@ -2611,7 +2480,6 @@ def CheckHeaderFileIncluded(filename, include_state, error): + if include_uses_unix_dir_aliases: + message += ". Relative paths like . and .. are not allowed." + +- if message: + error(filename, first_include, 'build/include', 5, message) + + +@@ -3364,6 +3232,26 @@ class NestingState(object): + return classinfo + return None + ++ def CheckCompletedBlocks(self, filename, error): ++ """Checks that all classes and namespaces have been completely parsed. ++ ++ Call this when all lines in a file have been processed. ++ Args: ++ filename: The name of the current file. ++ error: The function to call with any errors found. ++ """ ++ # Note: This test can result in false positives if #ifdef constructs ++ # get in the way of brace matching. See the testBuildClass test in ++ # cpplint_unittest.py for an example of this. ++ for obj in self.stack: ++ if isinstance(obj, _ClassInfo): ++ error(filename, obj.starting_linenum, 'build/class', 5, ++ f'Failed to find complete declaration of class {obj.name}') ++ elif isinstance(obj, _NamespaceInfo): ++ error(filename, obj.starting_linenum, 'build/namespaces', 5, ++ f'Failed to find complete declaration of namespace {obj.name}') ++ ++ + def CheckForNonStandardConstructs(filename, clean_lines, linenum, + nesting_state, error): + r"""Logs an error if we see certain non-ANSI constructs ignored by gcc-2. +@@ -3416,7 +3304,7 @@ def CheckForNonStandardConstructs(filename, clean_lines, linenum, + + if re.search(r'\b(const|volatile|void|char|short|int|long' + r'|float|double|signed|unsigned' +- r'|schar|u?int8_t|u?int16_t|u?int32_t|u?int64_t)' ++ r'|schar|u?int8|u?int16|u?int32|u?int64)' + r'\s+(register|static|extern|typedef)\b', + line): + error(filename, linenum, 'build/storage_class', 5, +@@ -3516,12 +3404,16 @@ def CheckForNonStandardConstructs(filename, clean_lines, linenum, + not initializer_list_constructor and + not copy_constructor): + if defaulted_args or variadic_args: +- error(filename, linenum, 'runtime/explicit', 4, ++ error(filename, linenum, 'runtime/explicit', 5, + 'Constructors callable with one argument ' + 'should be marked explicit.') + else: +- error(filename, linenum, 'runtime/explicit', 4, ++ error(filename, linenum, 'runtime/explicit', 5, + 'Single-parameter constructors should be marked explicit.') ++ elif is_marked_explicit and not onearg_constructor: ++ if noarg_constructor: ++ error(filename, linenum, 'runtime/explicit', 5, ++ 'Zero-parameter constructors should not be marked explicit.') + + + def CheckSpacingForFunctionCall(filename, clean_lines, linenum, error): +@@ -3619,10 +3511,10 @@ def IsBlankLine(line): + def CheckForNamespaceIndentation(filename, nesting_state, clean_lines, line, + error): + is_namespace_indent_item = ( +- len(nesting_state.stack) >= 1 and +- (isinstance(nesting_state.stack[-1], _NamespaceInfo) or +- (isinstance(nesting_state.previous_stack_top, _NamespaceInfo))) +- ) ++ len(nesting_state.stack) > 1 and ++ nesting_state.stack[-1].check_namespace_indentation and ++ isinstance(nesting_state.previous_stack_top, _NamespaceInfo) and ++ nesting_state.previous_stack_top == nesting_state.stack[-2]) + + if ShouldCheckNamespaceIndentation(nesting_state, is_namespace_indent_item, + clean_lines.elided, line): +@@ -4060,9 +3952,8 @@ def CheckCommaSpacing(filename, clean_lines, linenum, error): + # verify that lines contain missing whitespaces, second pass on raw + # lines to confirm that those missing whitespaces are not due to + # elided comments. +- match = re.search(r',[^,\s]', re.sub(r'\b__VA_OPT__\s*\(,\)', '', +- re.sub(r'\boperator\s*,\s*\(', 'F(', line))) +- if (match and re.search(r',[^,\s]', raw[linenum])): ++ if (re.search(r',[^,\s]', re.sub(r'\boperator\s*,\s*\(', 'F(', line)) and ++ re.search(r',[^,\s]', raw[linenum])): + error(filename, linenum, 'whitespace/comma', 3, + 'Missing space after ,') + +@@ -4352,13 +4243,11 @@ def CheckBraces(filename, clean_lines, linenum, error): + '{ should almost always be at the end of the previous line') + + # An else clause should be on the same line as the preceding closing brace. +- if last_wrong := re.match(r'\s*else\b\s*(?:if\b|\{|$)', line): ++ if re.match(r'\s*else\b\s*(?:if\b|\{|$)', line): + prevline = GetPreviousNonBlankLine(clean_lines, linenum)[0] + if re.match(r'\s*}\s*$', prevline): + error(filename, linenum, 'whitespace/newline', 4, + 'An else should appear on the same line as the preceding }') +- else: +- last_wrong = False + + # If braces come on one side of an else, they should be on both. + # However, we have to worry about "else if" that spans multiple lines! +@@ -4373,29 +4262,19 @@ def CheckBraces(filename, clean_lines, linenum, error): + if brace_on_left != brace_on_right: # must be brace after if + error(filename, linenum, 'readability/braces', 5, + 'If an else has a brace on one side, it should have it on both') +- # Prevent detection if statement has { and we detected an improper newline after } +- elif re.search(r'}\s*else[^{]*$', line) or (re.match(r'[^}]*else\s*{', line) and not last_wrong): ++ elif re.search(r'}\s*else[^{]*$', line) or re.match(r'[^}]*else\s*{', line): + error(filename, linenum, 'readability/braces', 5, + 'If an else has a brace on one side, it should have it on both') + +- # No control clauses with braces should have its contents on the same line +- # Exclude } which will be covered by empty-block detect +- # Exclude ; which may be used by while in a do-while +- if keyword := re.search( +- r'\b(else if|if|while|for|switch)' # These have parens +- r'\s*\(.*\)\s*(?:\[\[(?:un)?likely\]\]\s*)?{\s*[^\s\\};]', line): +- error(filename, linenum, 'whitespace/newline', 5, +- f'Controlled statements inside brackets of {keyword.group(1)} clause' +- ' should be on a separate line') +- elif keyword := re.search( +- r'\b(else|do|try)' # These don't have parens +- r'\s*(?:\[\[(?:un)?likely\]\]\s*)?{\s*[^\s\\}]', line): +- error(filename, linenum, 'whitespace/newline', 5, +- f'Controlled statements inside brackets of {keyword.group(1)} clause' +- ' should be on a separate line') +- +- # TODO: Err on if...else and do...while statements without braces; +- # style guide has changed since the below comment was written ++ # Likewise, an else should never have the else clause on the same line ++ if re.search(r'\belse [^\s{]', line) and not re.search(r'\belse if\b', line): ++ error(filename, linenum, 'whitespace/newline', 4, ++ 'Else clause should never be on same line as else (use 2 lines)') ++ ++ # In the same way, a do/while should never be on one line ++ if re.match(r'\s*do [^\s{]', line): ++ error(filename, linenum, 'whitespace/newline', 4, ++ 'do/while clauses should not be on a single line') + + # Check single-line if/else bodies. The style guide says 'curly braces are not + # required for single-line statements'. We additionally allow multi-line, +@@ -4415,7 +4294,7 @@ def CheckBraces(filename, clean_lines, linenum, error): + (endline, endlinenum, endpos) = CloseExpression(clean_lines, linenum, pos) + # Check for an opening brace, either directly after the if or on the next + # line. If found, this isn't a single-statement conditional. +- if (not re.match(r'\s*(?:\[\[(?:un)?likely\]\]\s*)?{', endline[endpos:]) ++ if (not re.match(r'\s*{', endline[endpos:]) + and not (re.match(r'\s*$', endline[endpos:]) + and endlinenum < (len(clean_lines.elided) - 1) + and re.match(r'\s*{', clean_lines.elided[endlinenum + 1]))): +@@ -4537,7 +4416,6 @@ def CheckTrailingSemicolon(filename, clean_lines, linenum, error): + # - Lambdas + # - alignas specifier with anonymous structs + # - decltype +- # - concepts (requires expression) + closing_brace_pos = match.group(1).rfind(')') + opening_parenthesis = ReverseCloseExpression( + clean_lines, linenum, closing_brace_pos) +@@ -4553,7 +4431,6 @@ def CheckTrailingSemicolon(filename, clean_lines, linenum, error): + (func and not re.search(r'\boperator\s*\[\s*\]', func.group(1))) or + re.search(r'\b(?:struct|union)\s+alignas\s*$', line_prefix) or + re.search(r'\bdecltype$', line_prefix) or +- re.search(r'\brequires.*$', line_prefix) or + re.search(r'\s+=\s*$', line_prefix)): + match = None + if (match and +@@ -4911,7 +4788,7 @@ def GetLineWidth(line): + + + def CheckStyle(filename, clean_lines, linenum, file_extension, nesting_state, +- error, cppvar=None): ++ error): + """Checks rules from the 'C++ style rules' section of cppguide.html. + + Most of these rules are hard to test (naming, comment style), but we +@@ -4926,7 +4803,6 @@ def CheckStyle(filename, clean_lines, linenum, file_extension, nesting_state, + nesting_state: A NestingState instance which maintains information about + the current stack of nested blocks being parsed. + error: The function to call with any errors found. +- cppvar: The header guard variable returned by GetHeaderGuardCPPVar. + """ + + # Don't use "elided" lines here, otherwise we can't check commented lines. +@@ -4979,6 +4855,7 @@ def CheckStyle(filename, clean_lines, linenum, file_extension, nesting_state, + # Check if the line is a header guard. + is_header_guard = False + if IsHeaderExtension(file_extension): ++ cppvar = GetHeaderGuardCPPVariable(filename) + if (line.startswith(f'#ifndef {cppvar}') or + line.startswith(f'#define {cppvar}') or + line.startswith(f'#endif // {cppvar}')): +@@ -5333,7 +5210,7 @@ def CheckLanguage(filename, clean_lines, linenum, file_extension, + """Checks rules from the 'C++ language rules' section of cppguide.html. + + Some of these rules are hard to test (function overloading, using +- uint32_t inappropriately), but we do the best we can. ++ uint32 inappropriately), but we do the best we can. + + Args: + filename: The name of the current file. +@@ -5386,7 +5263,7 @@ def CheckLanguage(filename, clean_lines, linenum, file_extension, + match = re.search(r'\b(short|long(?! +double)|long long)\b', line) + if match: + error(filename, linenum, 'runtime/int', 4, +- f'Use int16_t/int64_t/etc, rather than the C type {match.group(1)}') ++ f'Use int16/int64/etc, rather than the C type {match.group(1)}') + + # Check if some verboten operator overloading is going on + # TODO(unknown): catch out-of-line unary operator&: +@@ -5813,7 +5690,7 @@ def CheckCasts(filename, clean_lines, linenum, error): + # probably a member operator declaration or default constructor. + match = re.search( + r'(\bnew\s+(?:const\s+)?|\S<\s*(?:const\s+)?)?\b' +- r'(int|float|double|bool|char|int16_t|uint16_t|int32_t|uint32_t|int64_t|uint64_t)' ++ r'(int|float|double|bool|char|int32|uint32|int64|uint64)' + r'(\([^)].*)', line) + expecting_function = ExpectingFunctionArgs(clean_lines, linenum) + if match and not expecting_function: +@@ -5857,7 +5734,7 @@ def CheckCasts(filename, clean_lines, linenum, error): + + if not expecting_function: + CheckCStyleCast(filename, clean_lines, linenum, 'static_cast', +- r'\((int|float|double|bool|char|u?int(16|32|64)_t|size_t)\)', error) ++ r'\((int|float|double|bool|char|u?int(16|32|64)|size_t)\)', error) + + # This doesn't catch all cases. Consider (const char * const)"hello". + # +@@ -6014,7 +5891,7 @@ _HEADERS_CONTAINING_TEMPLATES = ( + ('', ('allocator', 'make_shared', 'make_unique', 'shared_ptr', + 'unique_ptr', 'weak_ptr')), + ('', ('queue', 'priority_queue',)), +- ('', ('set', 'multiset',)), ++ ('', ('multiset',)), + ('', ('stack',)), + ('', ('char_traits', 'basic_string',)), + ('', ('tuple',)), +@@ -6064,12 +5941,15 @@ for _header, _templates in _HEADERS_MAYBE_TEMPLATES: + # Match max(..., ...), max(..., ...), but not foo->max, foo.max or + # 'type::max()'. + _re_pattern_headers_maybe_templates.append( +- (re.compile(r'((\bstd::)|[^>.:])\b' + _template + r'(<.*?>)?\([^\)]'), ++ (re.compile(r'[^>.]\b' + _template + r'(<.*?>)?\([^\)]'), + _template, + _header)) +- +-# Map is often overloaded. Only check, if it is fully qualified. +-# Match 'std::map(...)', but not 'map(...)'' ++# Match set, but not foo->set, foo.set ++_re_pattern_headers_maybe_templates.append( ++ (re.compile(r'[^>.]\bset\s*\<'), ++ 'set<>', ++ '')) ++# Match 'map var' and 'std::map(...)', but not 'map(...)'' + _re_pattern_headers_maybe_templates.append( + (re.compile(r'(std\b::\bmap\s*\<)|(^(std\b::\b)map\b\(\s*\<)'), + 'map<>', +@@ -6080,7 +5960,7 @@ _re_pattern_templates = [] + for _header, _templates in _HEADERS_CONTAINING_TEMPLATES: + for _template in _templates: + _re_pattern_templates.append( +- (re.compile(r'((^|(^|\s|((^|\W)::))std::)|[^>.:]\b)' + _template + r'\s*\<'), ++ (re.compile(r'(\<|\b)' + _template + r'\s*\<'), + _template + '<>', + _header)) + +@@ -6160,6 +6040,34 @@ def FilesBelongToSameModule(filename_cc, filename_h): return files_belong_to_same_module, common_path - - + + +def UpdateIncludeState(filename, include_dict, io=codecs): + """Fill up the include_dict with new includes found from the file. + @@ -43,10 +743,10 @@ doesn't depend on this deprecated functionality. def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, io=codecs): """Reports for missing stl includes. -@@ -6095,10 +6095,36 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, +@@ -6215,10 +6123,36 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, if prefix.endswith('std::') or not prefix.endswith('::'): required[header] = (linenum, template) - + + # The policy is that if you #include something in foo.h you don't need to + # include it again in foo.cc. Here, we will look at possible includes. # Let's flatten the include_state include_list and copy it into a dictionary. @@ -79,4 +779,241 @@ doesn't depend on this deprecated functionality. + # All the lines have been processed, report the errors found. for required_header_unstripped in sorted(required, key=required.__getitem__): - template = required[required_header_unstripped][1] \ No newline at end of file + template = required[required_header_unstripped][1] +@@ -6362,14 +6296,10 @@ def IsBlockInNameSpace(nesting_state, is_forward_declaration): + return len(nesting_state.stack) >= 1 and ( + isinstance(nesting_state.stack[-1], _NamespaceInfo)) + +- if len(nesting_state.stack) >= 1: +- if isinstance(nesting_state.stack[-1], _NamespaceInfo): +- return True +- elif (len(nesting_state.stack) > 1 and +- isinstance(nesting_state.previous_stack_top, _NamespaceInfo) and +- isinstance(nesting_state.stack[-2], _NamespaceInfo)): +- return True +- return False ++ ++ return (len(nesting_state.stack) > 1 and ++ nesting_state.stack[-1].check_namespace_indentation and ++ isinstance(nesting_state.stack[-2], _NamespaceInfo)) + + + def ShouldCheckNamespaceIndentation(nesting_state, is_namespace_indent_item, +@@ -6409,13 +6339,13 @@ def CheckItemIndentationInNamespace(filename, raw_lines_no_comments, linenum, + error): + line = raw_lines_no_comments[linenum] + if re.match(r'^\s+', line): +- error(filename, linenum, 'whitespace/indent_namespace', 4, +- 'Do not indent within a namespace.') ++ error(filename, linenum, 'runtime/indentation_namespace', 4, ++ 'Do not indent within a namespace') + + + def ProcessLine(filename, file_extension, clean_lines, line, + include_state, function_state, nesting_state, error, +- extra_check_functions=None, cppvar=None): ++ extra_check_functions=None): + """Processes a single line in the file. + + Args: +@@ -6433,7 +6363,6 @@ def ProcessLine(filename, file_extension, clean_lines, line, + extra_check_functions: An array of additional check functions that will be + run on each source line. Each function takes 4 + arguments: filename, clean_lines, line, error +- cppvar: The header guard variable returned by GetHeaderGuardCPPVar. + """ + raw_lines = clean_lines.raw_lines + ParseNolintSuppressions(filename, raw_lines[line], line, error) +@@ -6443,7 +6372,7 @@ def ProcessLine(filename, file_extension, clean_lines, line, + if nesting_state.InAsmBlock(): return + CheckForFunctionLengths(filename, clean_lines, line, function_state, error) + CheckForMultilineCommentsAndStrings(filename, clean_lines, line, error) +- CheckStyle(filename, clean_lines, line, file_extension, nesting_state, error, cppvar) ++ CheckStyle(filename, clean_lines, line, file_extension, nesting_state, error) + CheckLanguage(filename, clean_lines, line, file_extension, include_state, + nesting_state, error) + CheckForNonConstReference(filename, clean_lines, line, nesting_state, error) +@@ -6459,9 +6388,8 @@ def ProcessLine(filename, file_extension, clean_lines, line, + for check_fn in extra_check_functions: + check_fn(filename, clean_lines, line, error) + +- +-def FlagCxxHeaders(filename, clean_lines, linenum, error): +- """Flag C++ headers that the styleguide restricts. ++def FlagCxx11Features(filename, clean_lines, linenum, error): ++ """Flag those c++11 features that we only allow in certain places. + + Args: + filename: The name of the current file. +@@ -6473,18 +6401,64 @@ def FlagCxxHeaders(filename, clean_lines, linenum, error): + + include = re.match(r'\s*#\s*include\s+[<"]([^<"]+)[">]', line) + ++ # Flag unapproved C++ TR1 headers. ++ if include and include.group(1).startswith('tr1/'): ++ error(filename, linenum, 'build/c++tr1', 5, ++ f"C++ TR1 headers such as <{include.group(1)}> are unapproved.") ++ ++ # TODO: Figure out which of these headers are actually forbidden ++ # and add somewhere from C++17 + # Flag unapproved C++11 headers. + if include and include.group(1) in ('cfenv', ++ 'condition_variable', + 'fenv.h', ++ 'future', ++ 'mutex', ++ 'thread', ++ 'chrono', + 'ratio', ++ 'regex', ++ 'system_error', + ): + error(filename, linenum, 'build/c++11', 5, + f"<{include.group(1)}> is an unapproved C++11 header.") + +- # filesystem is the only unapproved C++17 header +- if include and include.group(1) == 'filesystem': +- error(filename, linenum, 'build/c++17', 5, +- " is an unapproved C++17 header.") ++ # The only place where we need to worry about C++11 keywords and library ++ # features in preprocessor directives is in macro definitions. ++ if re.match(r'\s*#', line) and not re.match(r'\s*#\s*define\b', line): return ++ ++ # These are classes and free functions. The classes are always ++ # mentioned as std::*, but we only catch the free functions if ++ # they're not found by ADL. They're alphabetical by header. ++ for top_name in ( ++ # type_traits ++ 'alignment_of', ++ 'aligned_union', ++ ): ++ if re.search(rf'\bstd::{top_name}\b', line): ++ error(filename, linenum, 'build/c++11', 5, ++ (f'std::{top_name} is an unapproved C++11 class or function. ' ++ 'Send c-style an example of where it would' ++ ' make your code more readable, and they may let you use it.')) ++ ++ ++def FlagCxx14Features(filename, clean_lines, linenum, error): ++ """Flag those C++14 features that we restrict. ++ ++ Args: ++ filename: The name of the current file. ++ clean_lines: A CleansedLines instance containing the file. ++ linenum: The number of the line to check. ++ error: The function to call with any errors found. ++ """ ++ line = clean_lines.elided[linenum] ++ ++ include = re.match(r'\s*#\s*include\s+[<"]([^<"]+)[">]', line) ++ ++ # Flag unapproved C++14 headers. ++ if include and include.group(1) in ('scoped_allocator', 'shared_mutex'): ++ error(filename, linenum, 'build/c++14', 5, ++ f"<{include.group(1)}> is an unapproved C++14 header.") + + + def ProcessFileData(filename, file_extension, lines, error, +@@ -6512,23 +6486,19 @@ def ProcessFileData(filename, file_extension, lines, error, + ResetNolintSuppressions() + + CheckForCopyright(filename, lines, error) +- ProcessGlobalSuppressions(lines) ++ ProcessGlobalSuppresions(lines) + RemoveMultiLineComments(filename, lines, error) + clean_lines = CleansedLines(lines) + +- cppvar = None + if IsHeaderExtension(file_extension): +- cppvar = GetHeaderGuardCPPVariable(filename) +- CheckForHeaderGuard(filename, clean_lines, error, cppvar) ++ CheckForHeaderGuard(filename, clean_lines, error) + + for line in range(clean_lines.NumLines()): + ProcessLine(filename, file_extension, clean_lines, line, + include_state, function_state, nesting_state, error, +- extra_check_functions, cppvar) +- FlagCxxHeaders(filename, clean_lines, line, error) +- if _error_suppressions.HasOpenBlock(): +- error(filename, _error_suppressions.GetOpenBlockStart(), 'readability/nolint', 5, +- 'NONLINT block never ended') ++ extra_check_functions) ++ FlagCxx11Features(filename, clean_lines, line, error) ++ nesting_state.CheckCompletedBlocks(filename, error) + + CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error) + +@@ -6560,7 +6530,7 @@ def ProcessConfigOverrides(filename): + if not base_name: + break # Reached the root directory. + +- cfg_file = os.path.join(abs_path, _config_filename) ++ cfg_file = os.path.join(abs_path, "CPPLINT.cfg") + abs_filename = abs_path + if not os.path.isfile(cfg_file): + continue +@@ -6663,7 +6633,10 @@ def ProcessFile(filename, vlevel, extra_check_functions=None): + # If after the split a trailing '\r' is present, it is removed + # below. + if filename == '-': +- lines = sys.stdin.read().split('\n') ++ lines = codecs.StreamReaderWriter(sys.stdin, ++ codecs.getreader('utf8'), ++ codecs.getwriter('utf8'), ++ 'replace').read().split('\n') + else: + with codecs.open(filename, 'r', 'utf8', 'replace') as target_file: + lines = target_file.read().split('\n') +@@ -6777,7 +6750,6 @@ def ParseArguments(args): + 'recursive', + 'headers=', + 'includeorder=', +- 'config=', + 'quiet']) + except getopt.GetoptError: + PrintUsage('Invalid arguments.') +@@ -6836,11 +6808,6 @@ def ParseArguments(args): + recursive = True + elif opt == '--includeorder': + ProcessIncludeOrderOption(val) +- elif opt == '--config': +- global _config_filename +- _config_filename = val +- if os.path.basename(_config_filename) != _config_filename: +- PrintUsage('Config file name must not include directory components.') + + if not filenames: + PrintUsage('No files were specified.') +@@ -6860,32 +6827,6 @@ def ParseArguments(args): + filenames.sort() + return filenames + +-def _ParseFilterSelector(parameter): +- """Parses the given command line parameter for file- and line-specific +- exclusions. +- readability/casting:file.cpp +- readability/casting:file.cpp:43 +- +- Args: +- parameter: The parameter value of --filter +- +- Returns: +- [category, filename, line]. +- Category is always given. +- Filename is either a filename or empty if all files are meant. +- Line is either a line in filename or -1 if all lines are meant. +- """ +- colon_pos = parameter.find(":") +- if colon_pos == -1: +- return parameter, "", -1 +- category = parameter[:colon_pos] +- second_colon_pos = parameter.find(":", colon_pos + 1) +- if second_colon_pos == -1: +- return category, parameter[colon_pos + 1:], -1 +- else: +- return category, parameter[colon_pos + 1: second_colon_pos], \ +- int(parameter[second_colon_pos + 1:]) +- + def _ExpandDirectories(filenames): + """Searches a list of filenames and replaces directories in the list with + all files descending from those directories. Files with extensions not in From 96c782e6b8f41a68ee3db01bb58035d0c35467c8 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Wed, 5 Mar 2025 16:34:47 -0500 Subject: [PATCH 28/46] changed references from a/ccplint.py to cpplint.py in diff --- .../cpplint_internal/patches/transitive_includes.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/workspace/cpplint_internal/patches/transitive_includes.patch b/tools/workspace/cpplint_internal/patches/transitive_includes.patch index d5b6b6d5ed41..abecb11f5404 100644 --- a/tools/workspace/cpplint_internal/patches/transitive_includes.patch +++ b/tools/workspace/cpplint_internal/patches/transitive_includes.patch @@ -2,8 +2,8 @@ diff --git b/cpplint.py a/cpplint.py old mode 100755 new mode 100644 index 10a69c0..a918b8c ---- b/cpplint.py -+++ a/cpplint.py +--- cpplint.py ++++ cpplint.py @@ -42,7 +42,6 @@ same line, but it is far from perfect (in either direction). """ From ca9b4fe094cc4791441f5a86e4198f2d449182a7 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Thu, 6 Mar 2025 15:01:57 -0500 Subject: [PATCH 29/46] created patchfile based on changes that worked in cpplint repo --- .../cpplint_internal/package.BUILD.bazel | 2 - .../patches/transitive_includes.patch | 1016 +---------------- .../workspace/cpplint_internal/repository.bzl | 6 +- 3 files changed, 38 insertions(+), 986 deletions(-) diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index dea67fe56d1a..f604bc9ebf26 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -16,9 +16,7 @@ py_binary( name = "cpplint", srcs = [ "cpplint.py", - "setup.py", ], - data = ["pyproject.toml"], main = "cpplint.py", python_version = "PY3", srcs_version = "PY3", diff --git a/tools/workspace/cpplint_internal/patches/transitive_includes.patch b/tools/workspace/cpplint_internal/patches/transitive_includes.patch index abecb11f5404..1315a11a3a48 100644 --- a/tools/workspace/cpplint_internal/patches/transitive_includes.patch +++ b/tools/workspace/cpplint_internal/patches/transitive_includes.patch @@ -1,749 +1,35 @@ -diff --git b/cpplint.py a/cpplint.py -old mode 100755 -new mode 100644 -index 10a69c0..a918b8c +git diff HEAD +diff --git a/cpplint.py b/cpplint.py +index 7a8b8ab..b52a4e5 100755 --- cpplint.py +++ cpplint.py -@@ -42,7 +42,6 @@ same line, but it is far from perfect (in either direction). - """ - - import codecs --import collections - import copy - import getopt - import glob -@@ -59,7 +58,7 @@ import xml.etree.ElementTree - # if empty, use defaults - _valid_extensions = set([]) - --__VERSION__ = '2.0.0' -+__VERSION__ = '1.7.0' - - _USAGE = """ - Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] -@@ -71,7 +70,6 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] - [--exclude=path] - [--extensions=hpp,cpp,...] - [--includeorder=default|standardcfirst] -- [--config=filename] - [--quiet] - [--version] - [file] ... -@@ -89,11 +87,7 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] - To suppress false-positive errors of certain categories, add a - 'NOLINT(category[, category...])' comment to the line. NOLINT or NOLINT(*) - suppresses errors of all categories on that line. To suppress categories -- on the next line use NOLINTNEXTLINE instead of NOLINT. To suppress errors in -- a block of code 'NOLINTBEGIN(category[, category...])' comment to a line at -- the start of the block and to end the block add a comment with 'NOLINTEND'. -- NOLINT blocks are inclusive so any statements on the same line as a BEGIN -- or END will have the error suppression applied. -+ on the next line use NOLINTNEXTLINE instead of NOLINT. - - The files passed in will be linted; at least one file must be provided. - Default linted extensions are %s. -@@ -136,20 +130,12 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] - To see a list of all the categories used in cpplint, pass no arg: - --filter= - -- Filters can directly be limited to files and also line numbers. The -- syntax is category:file:line , where line is optional. The filter limitation -- works for both + and - and can be combined with ordinary filters: -- -- Examples: --filter=-whitespace:foo.h,+whitespace/braces:foo.h -- --filter=-whitespace,-runtime/printf:foo.h:14,+runtime/printf_format:foo.h -- --filter=-,+build/include_what_you_use:foo.h:321 -- - counting=total|toplevel|detailed - The total number of errors found is always printed. If - 'toplevel' is provided, then the count of errors in each of - the top-level categories like 'build' and 'whitespace' will - also be printed. If 'detailed' is provided, then a count -- is provided for each category like 'legal/copyright'. -+ is provided for each category like 'build/class'. - - repository=path - The top level directory of the repository, used to derive the header -@@ -231,9 +217,6 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] - treat all others as separate group of "other system headers". The C headers - included are those of the C-standard lib and closely related ones. - -- config=filename -- Search for config files with the specified name instead of CPPLINT.cfg -- - headers=x,y,... - The header extensions that cpplint will treat as .h in checks. Values are - automatically added to --extensions list. -@@ -293,8 +276,10 @@ Syntax: cpplint.py [--verbose=#] [--output=emacs|eclipse|vs7|junit|sed|gsed] - # If you add a new error message with a new category, add it to the list - # here! cpplint_unittest.py should tell you if you forget to do this. - _ERROR_CATEGORIES = [ -+ 'build/class', - 'build/c++11', -- 'build/c++17', -+ 'build/c++14', -+ 'build/c++tr1', - 'build/deprecated', - 'build/endif_comment', - 'build/explicit_make_pair', -@@ -334,6 +319,7 @@ _ERROR_CATEGORIES = [ - 'runtime/invalid_increment', - 'runtime/member_string_references', - 'runtime/memset', -+ 'runtime/indentation_namespace', - 'runtime/operator', - 'runtime/printf', - 'runtime/printf_format', -@@ -352,7 +338,6 @@ _ERROR_CATEGORIES = [ - 'whitespace/ending_newline', - 'whitespace/forcolon', - 'whitespace/indent', -- 'whitespace/indent_namespace', - 'whitespace/line_length', - 'whitespace/newline', - 'whitespace/operators', -@@ -372,7 +357,6 @@ _MACHINE_OUTPUTS = [ - # These error categories are no longer enforced by cpplint, but for backwards- - # compatibility they may still appear in NOLINT comments. - _LEGACY_ERROR_CATEGORIES = [ -- 'build/class', - 'readability/streams', - 'readability/function', - ] -@@ -380,41 +364,14 @@ _LEGACY_ERROR_CATEGORIES = [ - # These prefixes for categories should be ignored since they relate to other - # tools which also use the NOLINT syntax, e.g. clang-tidy. - _OTHER_NOLINT_CATEGORY_PREFIXES = [ -- 'clang-analyzer-', -- 'abseil-', -- 'altera-', -- 'android-', -- 'boost-', -- 'bugprone-', -- 'cert-', -- 'concurrency-', -- 'cppcoreguidelines-', -- 'darwin-', -- 'fuchsia-', -- 'google-', -- 'hicpp-', -- 'linuxkernel-', -- 'llvm-', -- 'llvmlibc-', -- 'misc-', -- 'modernize-', -- 'mpi-', -- 'objc-', -- 'openmp-', -- 'performance-', -- 'portability-', -- 'readability-', -- 'zircon-', -+ 'clang-analyzer', - ] - - # The default state of the category filter. This is overridden by the --filter= - # flag. By default all errors are on, so only add here categories that should be - # off by default (i.e., categories that must be enabled by the --filter= flags). - # All entries here should start with a '-' or '+', as in the --filter= flag. --_DEFAULT_FILTERS = [ -- '-build/include_alpha', -- '-readability/fn_size', -- ] -+_DEFAULT_FILTERS = ['-build/include_alpha'] - - # The default list of categories suppressed for C (not C++) files. - _DEFAULT_C_SUPPRESSED_CATEGORIES = [ -@@ -930,7 +887,7 @@ _repository = None - # Files to exclude from linting. This is set by the --exclude flag. - _excludes = None - --# Whether to suppress all PrintInfo messages, UNRELATED to --quiet flag -+# Whether to supress all PrintInfo messages, UNRELATED to --quiet flag - _quiet = False - - # The allowed line length of files. -@@ -940,79 +897,13 @@ _line_length = 80 - # This allows to use different include order rule than default - _include_order = "default" - --# This allows different config files to be used --_config_filename = "CPPLINT.cfg" -- - # Treat all headers starting with 'h' equally: .h, .hpp, .hxx etc. - # This is set by --headers flag. - _hpp_headers = set([]) - --class ErrorSuppressions: -- """Class to track all error suppressions for cpplint""" -- -- class LineRange: -- """Class to represent a range of line numbers for which an error is suppressed""" -- def __init__(self, begin, end): -- self.begin = begin -- self.end = end -- -- def __str__(self): -- return f'[{self.begin}-{self.end}]' -- -- def __contains__(self, obj): -- return self.begin <= obj <= self.end -- -- def ContainsRange(self, other): -- return self.begin <= other.begin and self.end >= other.end -- -- def __init__(self): -- self._suppressions = collections.defaultdict(list) -- self._open_block_suppression = None -- -- def _AddSuppression(self, category, line_range): -- suppressed = self._suppressions[category] -- if not (suppressed and suppressed[-1].ContainsRange(line_range)): -- suppressed.append(line_range) -- -- def GetOpenBlockStart(self): -- """:return: The start of the current open block or `-1` if there is not an open block""" -- return self._open_block_suppression.begin if self._open_block_suppression else -1 -- -- def AddGlobalSuppression(self, category): -- """Add a suppression for `category` which is suppressed for the whole file""" -- self._AddSuppression(category, self.LineRange(0, math.inf)) -- -- def AddLineSuppression(self, category, linenum): -- """Add a suppression for `category` which is suppressed only on `linenum`""" -- self._AddSuppression(category, self.LineRange(linenum, linenum)) -- -- def StartBlockSuppression(self, category, linenum): -- """Start a suppression block for `category` on `linenum`. inclusive""" -- if self._open_block_suppression is None: -- self._open_block_suppression = self.LineRange(linenum, math.inf) -- self._AddSuppression(category, self._open_block_suppression) -- -- def EndBlockSuppression(self, linenum): -- """End the current block suppression on `linenum`. inclusive""" -- if self._open_block_suppression: -- self._open_block_suppression.end = linenum -- self._open_block_suppression = None -- -- def IsSuppressed(self, category, linenum): -- """:return: `True` if `category` is suppressed for `linenum`""" -- suppressed = self._suppressions[category] + self._suppressions[None] -- return any(linenum in lr for lr in suppressed) -- -- def HasOpenBlock(self): -- """:return: `True` if a block suppression was started but not ended""" -- return self._open_block_suppression is not None -- -- def Clear(self): -- """Clear all current error suppressions""" -- self._suppressions.clear() -- self._open_block_suppression = None -- --_error_suppressions = ErrorSuppressions() -+# {str, bool}: a map from error categories to booleans which indicate if the -+# category should be suppressed for every line. -+_global_error_suppressions = {} - - def ProcessHppHeadersOption(val): - global _hpp_headers -@@ -1072,38 +963,19 @@ def ParseNolintSuppressions(filename, raw_line, linenum, error): - linenum: int, the number of the current line. - error: function, an error handler. - """ -- matched = re.search(r'\bNOLINT(NEXTLINE|BEGIN|END)?\b(\([^)]+\))?', raw_line) -+ matched = re.search(r'\bNOLINT(NEXTLINE)?\b(\([^)]+\))?', raw_line) - if matched: -- no_lint_type = matched.group(1) -- if no_lint_type == 'NEXTLINE': -- def ProcessCategory(category): -- _error_suppressions.AddLineSuppression(category, linenum + 1) -- elif no_lint_type == 'BEGIN': -- if _error_suppressions.HasOpenBlock(): -- error(filename, linenum, 'readability/nolint', 5, -- f'NONLINT block already defined on line {_error_suppressions.GetOpenBlockStart()}') -- -- def ProcessCategory(category): -- _error_suppressions.StartBlockSuppression(category, linenum) -- elif no_lint_type == 'END': -- if not _error_suppressions.HasOpenBlock(): -- error(filename, linenum, 'readability/nolint', 5, 'Not in a NOLINT block') -- -- def ProcessCategory(category): -- if category is not None: -- error(filename, linenum, 'readability/nolint', 5, -- f'NOLINT categories not supported in block END: {category}') -- _error_suppressions.EndBlockSuppression(linenum) -+ if matched.group(1): -+ suppressed_line = linenum + 1 - else: -- def ProcessCategory(category): -- _error_suppressions.AddLineSuppression(category, linenum) -+ suppressed_line = linenum - categories = matched.group(2) - if categories in (None, '(*)'): # => "suppress all" -- ProcessCategory(None) -+ _error_suppressions.setdefault(None, set()).add(suppressed_line) - elif categories.startswith('(') and categories.endswith(')'): - for category in set(map(lambda c: c.strip(), categories[1:-1].split(','))): - if category in _ERROR_CATEGORIES: -- ProcessCategory(category) -+ _error_suppressions.setdefault(category, set()).add(suppressed_line) - elif any(c for c in _OTHER_NOLINT_CATEGORY_PREFIXES if category.startswith(c)): - # Ignore any categories from other tools. - pass -@@ -1111,11 +983,8 @@ def ParseNolintSuppressions(filename, raw_line, linenum, error): - error(filename, linenum, 'readability/nolint', 5, - f'Unknown NOLINT error category: {category}') - --def ProcessGlobalSuppresions(lines): -- """Deprecated; use ProcessGlobalSuppressions.""" -- ProcessGlobalSuppressions(lines) - --def ProcessGlobalSuppressions(lines): -+def ProcessGlobalSuppresions(lines): - """Updates the list of global error suppressions. - - Parses any lint directives in the file that have global effect. -@@ -1127,31 +996,34 @@ def ProcessGlobalSuppressions(lines): - for line in lines: - if _SEARCH_C_FILE.search(line): - for category in _DEFAULT_C_SUPPRESSED_CATEGORIES: -- _error_suppressions.AddGlobalSuppression(category) -+ _global_error_suppressions[category] = True - if _SEARCH_KERNEL_FILE.search(line): - for category in _DEFAULT_KERNEL_SUPPRESSED_CATEGORIES: -- _error_suppressions.AddGlobalSuppression(category) -+ _global_error_suppressions[category] = True - - - def ResetNolintSuppressions(): - """Resets the set of NOLINT suppressions to empty.""" -- _error_suppressions.Clear() -+ _error_suppressions.clear() -+ _global_error_suppressions.clear() - - - def IsErrorSuppressedByNolint(category, linenum): - """Returns true if the specified error category is suppressed on this line. - - Consults the global error_suppressions map populated by -- ParseNolintSuppressions/ProcessGlobalSuppressions/ResetNolintSuppressions. -+ ParseNolintSuppressions/ProcessGlobalSuppresions/ResetNolintSuppressions. - - Args: - category: str, the category of the error. - linenum: int, the current line number. - Returns: -- bool, True iff the error should be suppressed due to a NOLINT comment, -- block suppression or global suppression. -+ bool, True iff the error should be suppressed due to a NOLINT comment or -+ global suppression. - """ -- return _error_suppressions.IsSuppressed(category, linenum) -+ return (_global_error_suppressions.get(category, False) or -+ linenum in _error_suppressions.get(category, set()) or -+ linenum in _error_suppressions.get(None, set())) - - - def _IsSourceExtension(s): -@@ -1346,7 +1218,7 @@ class _CppLintState(object): - self._filters_backup = self.filters[:] - self.counting = 'total' # In what way are we counting errors? - self.errors_by_category = {} # string to int dict storing error counts -- self.quiet = False # Suppress non-error messages? -+ self.quiet = False # Suppress non-error messagess? - - # output format: - # "emacs" - format that emacs can parse (default) -@@ -1743,7 +1615,7 @@ class FileInfo(object): - return _IsSourceExtension(self.Extension()[1:]) - - --def _ShouldPrintError(category, confidence, filename, linenum): -+def _ShouldPrintError(category, confidence, linenum): - """If confidence >= verbose, category passes filter and is not suppressed.""" - - # There are three ways we might decide not to print an error message: -@@ -1757,16 +1629,11 @@ def _ShouldPrintError(category, confidence, filename, linenum): - - is_filtered = False - for one_filter in _Filters(): -- filter_cat, filter_file, filter_line = _ParseFilterSelector(one_filter[1:]) -- category_match = category.startswith(filter_cat) -- file_match = filter_file == "" or filter_file == filename -- line_match = filter_line == linenum or filter_line == -1 -- - if one_filter.startswith('-'): -- if category_match and file_match and line_match: -+ if category.startswith(one_filter[1:]): - is_filtered = True - elif one_filter.startswith('+'): -- if category_match and file_match and line_match: -+ if category.startswith(one_filter[1:]): - is_filtered = False - else: - assert False # should have been checked for in SetFilter. -@@ -1783,9 +1650,9 @@ def Error(filename, linenum, category, confidence, message): - that is, how certain we are this is a legitimate style regression, and - not a misidentification or a use that's sometimes justified. - -- False positives can be suppressed by the use of "NOLINT(category)" -- comments, NOLINTNEXTLINE or in blocks started by NOLINTBEGIN. These -- are parsed into _error_suppressions. -+ False positives can be suppressed by the use of -+ "cpplint(category)" comments on the offending line. These are -+ parsed into _error_suppressions. - - Args: - filename: The name of the file containing the error. -@@ -1798,7 +1665,7 @@ def Error(filename, linenum, category, confidence, message): - and 1 meaning that it could be a legitimate construct. - message: The error message. - """ -- if _ShouldPrintError(category, confidence, filename, linenum): -+ if _ShouldPrintError(category, confidence, linenum): - _cpplint_state.IncrementErrorCount(category) - if _cpplint_state.output_format == 'vs7': - _cpplint_state.PrintError(f'{filename}({linenum}): error cpplint:' -@@ -2481,7 +2348,7 @@ def GetHeaderGuardCPPVariable(filename): - return re.sub(r'[^a-zA-Z0-9]', '_', file_path_from_root).upper() + '_' - - --def CheckForHeaderGuard(filename, clean_lines, error, cppvar): -+def CheckForHeaderGuard(filename, clean_lines, error): - """Checks that the file contains a header guard. - - Logs an error if no #ifndef header guard is present. For other -@@ -2509,6 +2376,8 @@ def CheckForHeaderGuard(filename, clean_lines, error, cppvar): - if re.search(r'^\s*#pragma\s+once', i): - return - -+ cppvar = GetHeaderGuardCPPVariable(filename) -+ - ifndef = '' - ifndef_linenum = 0 - define = '' -@@ -2589,13 +2458,13 @@ def CheckHeaderFileIncluded(filename, include_state, error): - if re.search(_TEST_FILE_SUFFIX, fileinfo.BaseName()): - return - -- first_include = message = None -- basefilename = filename[0:len(filename) - len(fileinfo.Extension())] - for ext in GetHeaderExtensions(): -+ basefilename = filename[0:len(filename) - len(fileinfo.Extension())] - headerfile = basefilename + '.' + ext - if not os.path.exists(headerfile): +@@ -6192,24 +6192,12 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, + if not line or line[0] == '#': continue - headername = FileInfo(headerfile).RepositoryName() -+ first_include = None - include_uses_unix_dir_aliases = False - for section_list in include_state.include_list: - for f in section_list: -@@ -2611,7 +2480,6 @@ def CheckHeaderFileIncluded(filename, include_state, error): - if include_uses_unix_dir_aliases: - message += ". Relative paths like . and .. are not allowed." - -- if message: - error(filename, first_include, 'build/include', 5, message) - - -@@ -3364,6 +3232,26 @@ class NestingState(object): - return classinfo - return None - -+ def CheckCompletedBlocks(self, filename, error): -+ """Checks that all classes and namespaces have been completely parsed. -+ -+ Call this when all lines in a file have been processed. -+ Args: -+ filename: The name of the current file. -+ error: The function to call with any errors found. -+ """ -+ # Note: This test can result in false positives if #ifdef constructs -+ # get in the way of brace matching. See the testBuildClass test in -+ # cpplint_unittest.py for an example of this. -+ for obj in self.stack: -+ if isinstance(obj, _ClassInfo): -+ error(filename, obj.starting_linenum, 'build/class', 5, -+ f'Failed to find complete declaration of class {obj.name}') -+ elif isinstance(obj, _NamespaceInfo): -+ error(filename, obj.starting_linenum, 'build/namespaces', 5, -+ f'Failed to find complete declaration of namespace {obj.name}') -+ -+ - def CheckForNonStandardConstructs(filename, clean_lines, linenum, - nesting_state, error): - r"""Logs an error if we see certain non-ANSI constructs ignored by gcc-2. -@@ -3416,7 +3304,7 @@ def CheckForNonStandardConstructs(filename, clean_lines, linenum, - - if re.search(r'\b(const|volatile|void|char|short|int|long' - r'|float|double|signed|unsigned' -- r'|schar|u?int8_t|u?int16_t|u?int32_t|u?int64_t)' -+ r'|schar|u?int8|u?int16|u?int32|u?int64)' - r'\s+(register|static|extern|typedef)\b', - line): - error(filename, linenum, 'build/storage_class', 5, -@@ -3516,12 +3404,16 @@ def CheckForNonStandardConstructs(filename, clean_lines, linenum, - not initializer_list_constructor and - not copy_constructor): - if defaulted_args or variadic_args: -- error(filename, linenum, 'runtime/explicit', 4, -+ error(filename, linenum, 'runtime/explicit', 5, - 'Constructors callable with one argument ' - 'should be marked explicit.') - else: -- error(filename, linenum, 'runtime/explicit', 4, -+ error(filename, linenum, 'runtime/explicit', 5, - 'Single-parameter constructors should be marked explicit.') -+ elif is_marked_explicit and not onearg_constructor: -+ if noarg_constructor: -+ error(filename, linenum, 'runtime/explicit', 5, -+ 'Zero-parameter constructors should not be marked explicit.') - - - def CheckSpacingForFunctionCall(filename, clean_lines, linenum, error): -@@ -3619,10 +3511,10 @@ def IsBlankLine(line): - def CheckForNamespaceIndentation(filename, nesting_state, clean_lines, line, - error): - is_namespace_indent_item = ( -- len(nesting_state.stack) >= 1 and -- (isinstance(nesting_state.stack[-1], _NamespaceInfo) or -- (isinstance(nesting_state.previous_stack_top, _NamespaceInfo))) -- ) -+ len(nesting_state.stack) > 1 and -+ nesting_state.stack[-1].check_namespace_indentation and -+ isinstance(nesting_state.previous_stack_top, _NamespaceInfo) and -+ nesting_state.previous_stack_top == nesting_state.stack[-2]) - - if ShouldCheckNamespaceIndentation(nesting_state, is_namespace_indent_item, - clean_lines.elided, line): -@@ -4060,9 +3952,8 @@ def CheckCommaSpacing(filename, clean_lines, linenum, error): - # verify that lines contain missing whitespaces, second pass on raw - # lines to confirm that those missing whitespaces are not due to - # elided comments. -- match = re.search(r',[^,\s]', re.sub(r'\b__VA_OPT__\s*\(,\)', '', -- re.sub(r'\boperator\s*,\s*\(', 'F(', line))) -- if (match and re.search(r',[^,\s]', raw[linenum])): -+ if (re.search(r',[^,\s]', re.sub(r'\boperator\s*,\s*\(', 'F(', line)) and -+ re.search(r',[^,\s]', raw[linenum])): - error(filename, linenum, 'whitespace/comma', 3, - 'Missing space after ,') - -@@ -4352,13 +4243,11 @@ def CheckBraces(filename, clean_lines, linenum, error): - '{ should almost always be at the end of the previous line') - - # An else clause should be on the same line as the preceding closing brace. -- if last_wrong := re.match(r'\s*else\b\s*(?:if\b|\{|$)', line): -+ if re.match(r'\s*else\b\s*(?:if\b|\{|$)', line): - prevline = GetPreviousNonBlankLine(clean_lines, linenum)[0] - if re.match(r'\s*}\s*$', prevline): - error(filename, linenum, 'whitespace/newline', 4, - 'An else should appear on the same line as the preceding }') -- else: -- last_wrong = False - - # If braces come on one side of an else, they should be on both. - # However, we have to worry about "else if" that spans multiple lines! -@@ -4373,29 +4262,19 @@ def CheckBraces(filename, clean_lines, linenum, error): - if brace_on_left != brace_on_right: # must be brace after if - error(filename, linenum, 'readability/braces', 5, - 'If an else has a brace on one side, it should have it on both') -- # Prevent detection if statement has { and we detected an improper newline after } -- elif re.search(r'}\s*else[^{]*$', line) or (re.match(r'[^}]*else\s*{', line) and not last_wrong): -+ elif re.search(r'}\s*else[^{]*$', line) or re.match(r'[^}]*else\s*{', line): - error(filename, linenum, 'readability/braces', 5, - 'If an else has a brace on one side, it should have it on both') - -- # No control clauses with braces should have its contents on the same line -- # Exclude } which will be covered by empty-block detect -- # Exclude ; which may be used by while in a do-while -- if keyword := re.search( -- r'\b(else if|if|while|for|switch)' # These have parens -- r'\s*\(.*\)\s*(?:\[\[(?:un)?likely\]\]\s*)?{\s*[^\s\\};]', line): -- error(filename, linenum, 'whitespace/newline', 5, -- f'Controlled statements inside brackets of {keyword.group(1)} clause' -- ' should be on a separate line') -- elif keyword := re.search( -- r'\b(else|do|try)' # These don't have parens -- r'\s*(?:\[\[(?:un)?likely\]\]\s*)?{\s*[^\s\\}]', line): -- error(filename, linenum, 'whitespace/newline', 5, -- f'Controlled statements inside brackets of {keyword.group(1)} clause' -- ' should be on a separate line') -- -- # TODO: Err on if...else and do...while statements without braces; -- # style guide has changed since the below comment was written -+ # Likewise, an else should never have the else clause on the same line -+ if re.search(r'\belse [^\s{]', line) and not re.search(r'\belse if\b', line): -+ error(filename, linenum, 'whitespace/newline', 4, -+ 'Else clause should never be on same line as else (use 2 lines)') -+ -+ # In the same way, a do/while should never be on one line -+ if re.match(r'\s*do [^\s{]', line): -+ error(filename, linenum, 'whitespace/newline', 4, -+ 'do/while clauses should not be on a single line') - - # Check single-line if/else bodies. The style guide says 'curly braces are not - # required for single-line statements'. We additionally allow multi-line, -@@ -4415,7 +4294,7 @@ def CheckBraces(filename, clean_lines, linenum, error): - (endline, endlinenum, endpos) = CloseExpression(clean_lines, linenum, pos) - # Check for an opening brace, either directly after the if or on the next - # line. If found, this isn't a single-statement conditional. -- if (not re.match(r'\s*(?:\[\[(?:un)?likely\]\]\s*)?{', endline[endpos:]) -+ if (not re.match(r'\s*{', endline[endpos:]) - and not (re.match(r'\s*$', endline[endpos:]) - and endlinenum < (len(clean_lines.elided) - 1) - and re.match(r'\s*{', clean_lines.elided[endlinenum + 1]))): -@@ -4537,7 +4416,6 @@ def CheckTrailingSemicolon(filename, clean_lines, linenum, error): - # - Lambdas - # - alignas specifier with anonymous structs - # - decltype -- # - concepts (requires expression) - closing_brace_pos = match.group(1).rfind(')') - opening_parenthesis = ReverseCloseExpression( - clean_lines, linenum, closing_brace_pos) -@@ -4553,7 +4431,6 @@ def CheckTrailingSemicolon(filename, clean_lines, linenum, error): - (func and not re.search(r'\boperator\s*\[\s*\]', func.group(1))) or - re.search(r'\b(?:struct|union)\s+alignas\s*$', line_prefix) or - re.search(r'\bdecltype$', line_prefix) or -- re.search(r'\brequires.*$', line_prefix) or - re.search(r'\s+=\s*$', line_prefix)): - match = None - if (match and -@@ -4911,7 +4788,7 @@ def GetLineWidth(line): - - - def CheckStyle(filename, clean_lines, linenum, file_extension, nesting_state, -- error, cppvar=None): -+ error): - """Checks rules from the 'C++ style rules' section of cppguide.html. - - Most of these rules are hard to test (naming, comment style), but we -@@ -4926,7 +4803,6 @@ def CheckStyle(filename, clean_lines, linenum, file_extension, nesting_state, - nesting_state: A NestingState instance which maintains information about - the current stack of nested blocks being parsed. - error: The function to call with any errors found. -- cppvar: The header guard variable returned by GetHeaderGuardCPPVar. - """ - - # Don't use "elided" lines here, otherwise we can't check commented lines. -@@ -4979,6 +4855,7 @@ def CheckStyle(filename, clean_lines, linenum, file_extension, nesting_state, - # Check if the line is a header guard. - is_header_guard = False - if IsHeaderExtension(file_extension): -+ cppvar = GetHeaderGuardCPPVariable(filename) - if (line.startswith(f'#ifndef {cppvar}') or - line.startswith(f'#define {cppvar}') or - line.startswith(f'#endif // {cppvar}')): -@@ -5333,7 +5210,7 @@ def CheckLanguage(filename, clean_lines, linenum, file_extension, - """Checks rules from the 'C++ language rules' section of cppguide.html. - - Some of these rules are hard to test (function overloading, using -- uint32_t inappropriately), but we do the best we can. -+ uint32 inappropriately), but we do the best we can. - - Args: - filename: The name of the current file. -@@ -5386,7 +5263,7 @@ def CheckLanguage(filename, clean_lines, linenum, file_extension, - match = re.search(r'\b(short|long(?! +double)|long long)\b', line) - if match: - error(filename, linenum, 'runtime/int', 4, -- f'Use int16_t/int64_t/etc, rather than the C type {match.group(1)}') -+ f'Use int16/int64/etc, rather than the C type {match.group(1)}') - - # Check if some verboten operator overloading is going on - # TODO(unknown): catch out-of-line unary operator&: -@@ -5813,7 +5690,7 @@ def CheckCasts(filename, clean_lines, linenum, error): - # probably a member operator declaration or default constructor. - match = re.search( - r'(\bnew\s+(?:const\s+)?|\S<\s*(?:const\s+)?)?\b' -- r'(int|float|double|bool|char|int16_t|uint16_t|int32_t|uint32_t|int64_t|uint64_t)' -+ r'(int|float|double|bool|char|int32|uint32|int64|uint64)' - r'(\([^)].*)', line) - expecting_function = ExpectingFunctionArgs(clean_lines, linenum) - if match and not expecting_function: -@@ -5857,7 +5734,7 @@ def CheckCasts(filename, clean_lines, linenum, error): - - if not expecting_function: - CheckCStyleCast(filename, clean_lines, linenum, 'static_cast', -- r'\((int|float|double|bool|char|u?int(16|32|64)_t|size_t)\)', error) -+ r'\((int|float|double|bool|char|u?int(16|32|64)|size_t)\)', error) - - # This doesn't catch all cases. Consider (const char * const)"hello". - # -@@ -6014,7 +5891,7 @@ _HEADERS_CONTAINING_TEMPLATES = ( - ('', ('allocator', 'make_shared', 'make_unique', 'shared_ptr', - 'unique_ptr', 'weak_ptr')), - ('', ('queue', 'priority_queue',)), -- ('', ('set', 'multiset',)), -+ ('', ('multiset',)), - ('', ('stack',)), - ('', ('char_traits', 'basic_string',)), - ('', ('tuple',)), -@@ -6064,12 +5941,15 @@ for _header, _templates in _HEADERS_MAYBE_TEMPLATES: - # Match max(..., ...), max(..., ...), but not foo->max, foo.max or - # 'type::max()'. - _re_pattern_headers_maybe_templates.append( -- (re.compile(r'((\bstd::)|[^>.:])\b' + _template + r'(<.*?>)?\([^\)]'), -+ (re.compile(r'[^>.]\b' + _template + r'(<.*?>)?\([^\)]'), - _template, - _header)) -- --# Map is often overloaded. Only check, if it is fully qualified. --# Match 'std::map(...)', but not 'map(...)'' -+# Match set, but not foo->set, foo.set -+_re_pattern_headers_maybe_templates.append( -+ (re.compile(r'[^>.]\bset\s*\<'), -+ 'set<>', -+ '')) -+# Match 'map var' and 'std::map(...)', but not 'map(...)'' - _re_pattern_headers_maybe_templates.append( - (re.compile(r'(std\b::\bmap\s*\<)|(^(std\b::\b)map\b\(\s*\<)'), - 'map<>', -@@ -6080,7 +5960,7 @@ _re_pattern_templates = [] - for _header, _templates in _HEADERS_CONTAINING_TEMPLATES: - for _template in _templates: - _re_pattern_templates.append( -- (re.compile(r'((^|(^|\s|((^|\W)::))std::)|[^>.:]\b)' + _template + r'\s*\<'), -+ (re.compile(r'(\<|\b)' + _template + r'\s*\<'), - _template + '<>', - _header)) - -@@ -6160,6 +6040,34 @@ def FilesBelongToSameModule(filename_cc, filename_h): - return files_belong_to_same_module, common_path +- _re_patterns = [] +- _re_patterns.extend(_re_pattern_types_or_objs) +- _re_patterns.extend(_re_pattern_functions) +- for pattern, item, header in _re_patterns: +- matched = pattern.search(line) +- if matched: +- # Don't warn about strings in non-STL namespaces: +- # (We check only the first match per line; good enough.) +- prefix = line[:matched.start()] +- if prefix.endswith('std::') or not prefix.endswith('::'): +- required[header] = (linenum, item) +- + for pattern, template, header in _re_pattern_headers_maybe_templates: + if pattern.search(line): + required[header] = (linenum, template) + + # The following function is just a speed up, no semantics are changed. +- if '<' not in line: # Reduces the cpu time usage by skipping lines. ++ if not '<' in line: # Reduces the cpu time usage by skipping lines. + continue -+def UpdateIncludeState(filename, include_dict, io=codecs): -+ """Fill up the include_dict with new includes found from the file. -+ -+ Args: -+ filename: the name of the header to read. -+ include_dict: a dictionary in which the headers are inserted. -+ io: The io factory to use to read the file. Provided for testability. -+ -+ Returns: -+ True if a header was successfully added. False otherwise. -+ """ -+ headerfile = None -+ try: -+ with io.open(filename, 'r', 'utf8', 'replace') as headerfile: -+ linenum = 0 -+ for line in headerfile: -+ linenum += 1 -+ clean_line = CleanseComments(line) -+ match = _RE_PATTERN_INCLUDE.search(clean_line) -+ if match: -+ include = match.group(2) -+ include_dict.setdefault(include, linenum) -+ return True -+ except IOError: -+ return False -+ -+ -+ - def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, - io=codecs): - """Reports for missing stl includes. -@@ -6215,10 +6123,36 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, + for pattern, template, header in _re_pattern_templates: +@@ -6221,25 +6209,57 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, if prefix.endswith('std::') or not prefix.endswith('::'): required[header] = (linenum, template) @@ -777,243 +63,11 @@ index 10a69c0..a918b8c + if same_module and UpdateIncludeState(fullpath, include_dict, io): + header_found = True + - # All the lines have been processed, report the errors found. - for required_header_unstripped in sorted(required, key=required.__getitem__): - template = required[required_header_unstripped][1] -@@ -6362,14 +6296,10 @@ def IsBlockInNameSpace(nesting_state, is_forward_declaration): - return len(nesting_state.stack) >= 1 and ( - isinstance(nesting_state.stack[-1], _NamespaceInfo)) - -- if len(nesting_state.stack) >= 1: -- if isinstance(nesting_state.stack[-1], _NamespaceInfo): -- return True -- elif (len(nesting_state.stack) > 1 and -- isinstance(nesting_state.previous_stack_top, _NamespaceInfo) and -- isinstance(nesting_state.stack[-2], _NamespaceInfo)): -- return True -- return False -+ -+ return (len(nesting_state.stack) > 1 and -+ nesting_state.stack[-1].check_namespace_indentation and -+ isinstance(nesting_state.stack[-2], _NamespaceInfo)) - - - def ShouldCheckNamespaceIndentation(nesting_state, is_namespace_indent_item, -@@ -6409,13 +6339,13 @@ def CheckItemIndentationInNamespace(filename, raw_lines_no_comments, linenum, - error): - line = raw_lines_no_comments[linenum] - if re.match(r'^\s+', line): -- error(filename, linenum, 'whitespace/indent_namespace', 4, -- 'Do not indent within a namespace.') -+ error(filename, linenum, 'runtime/indentation_namespace', 4, -+ 'Do not indent within a namespace') - - - def ProcessLine(filename, file_extension, clean_lines, line, - include_state, function_state, nesting_state, error, -- extra_check_functions=None, cppvar=None): -+ extra_check_functions=None): - """Processes a single line in the file. - - Args: -@@ -6433,7 +6363,6 @@ def ProcessLine(filename, file_extension, clean_lines, line, - extra_check_functions: An array of additional check functions that will be - run on each source line. Each function takes 4 - arguments: filename, clean_lines, line, error -- cppvar: The header guard variable returned by GetHeaderGuardCPPVar. - """ - raw_lines = clean_lines.raw_lines - ParseNolintSuppressions(filename, raw_lines[line], line, error) -@@ -6443,7 +6372,7 @@ def ProcessLine(filename, file_extension, clean_lines, line, - if nesting_state.InAsmBlock(): return - CheckForFunctionLengths(filename, clean_lines, line, function_state, error) - CheckForMultilineCommentsAndStrings(filename, clean_lines, line, error) -- CheckStyle(filename, clean_lines, line, file_extension, nesting_state, error, cppvar) -+ CheckStyle(filename, clean_lines, line, file_extension, nesting_state, error) - CheckLanguage(filename, clean_lines, line, file_extension, include_state, - nesting_state, error) - CheckForNonConstReference(filename, clean_lines, line, nesting_state, error) -@@ -6459,9 +6388,8 @@ def ProcessLine(filename, file_extension, clean_lines, line, - for check_fn in extra_check_functions: - check_fn(filename, clean_lines, line, error) - -- --def FlagCxxHeaders(filename, clean_lines, linenum, error): -- """Flag C++ headers that the styleguide restricts. -+def FlagCxx11Features(filename, clean_lines, linenum, error): -+ """Flag those c++11 features that we only allow in certain places. - - Args: - filename: The name of the current file. -@@ -6473,18 +6401,64 @@ def FlagCxxHeaders(filename, clean_lines, linenum, error): - - include = re.match(r'\s*#\s*include\s+[<"]([^<"]+)[">]', line) - -+ # Flag unapproved C++ TR1 headers. -+ if include and include.group(1).startswith('tr1/'): -+ error(filename, linenum, 'build/c++tr1', 5, -+ f"C++ TR1 headers such as <{include.group(1)}> are unapproved.") -+ -+ # TODO: Figure out which of these headers are actually forbidden -+ # and add somewhere from C++17 - # Flag unapproved C++11 headers. - if include and include.group(1) in ('cfenv', -+ 'condition_variable', - 'fenv.h', -+ 'future', -+ 'mutex', -+ 'thread', -+ 'chrono', - 'ratio', -+ 'regex', -+ 'system_error', - ): - error(filename, linenum, 'build/c++11', 5, - f"<{include.group(1)}> is an unapproved C++11 header.") - -- # filesystem is the only unapproved C++17 header -- if include and include.group(1) == 'filesystem': -- error(filename, linenum, 'build/c++17', 5, -- " is an unapproved C++17 header.") -+ # The only place where we need to worry about C++11 keywords and library -+ # features in preprocessor directives is in macro definitions. -+ if re.match(r'\s*#', line) and not re.match(r'\s*#\s*define\b', line): return -+ -+ # These are classes and free functions. The classes are always -+ # mentioned as std::*, but we only catch the free functions if -+ # they're not found by ADL. They're alphabetical by header. -+ for top_name in ( -+ # type_traits -+ 'alignment_of', -+ 'aligned_union', -+ ): -+ if re.search(rf'\bstd::{top_name}\b', line): -+ error(filename, linenum, 'build/c++11', 5, -+ (f'std::{top_name} is an unapproved C++11 class or function. ' -+ 'Send c-style an example of where it would' -+ ' make your code more readable, and they may let you use it.')) -+ -+ -+def FlagCxx14Features(filename, clean_lines, linenum, error): -+ """Flag those C++14 features that we restrict. -+ -+ Args: -+ filename: The name of the current file. -+ clean_lines: A CleansedLines instance containing the file. -+ linenum: The number of the line to check. -+ error: The function to call with any errors found. -+ """ -+ line = clean_lines.elided[linenum] -+ -+ include = re.match(r'\s*#\s*include\s+[<"]([^<"]+)[">]', line) -+ -+ # Flag unapproved C++14 headers. -+ if include and include.group(1) in ('scoped_allocator', 'shared_mutex'): -+ error(filename, linenum, 'build/c++14', 5, -+ f"<{include.group(1)}> is an unapproved C++14 header.") - - - def ProcessFileData(filename, file_extension, lines, error, -@@ -6512,23 +6486,19 @@ def ProcessFileData(filename, file_extension, lines, error, - ResetNolintSuppressions() - - CheckForCopyright(filename, lines, error) -- ProcessGlobalSuppressions(lines) -+ ProcessGlobalSuppresions(lines) - RemoveMultiLineComments(filename, lines, error) - clean_lines = CleansedLines(lines) - -- cppvar = None - if IsHeaderExtension(file_extension): -- cppvar = GetHeaderGuardCPPVariable(filename) -- CheckForHeaderGuard(filename, clean_lines, error, cppvar) -+ CheckForHeaderGuard(filename, clean_lines, error) - - for line in range(clean_lines.NumLines()): - ProcessLine(filename, file_extension, clean_lines, line, - include_state, function_state, nesting_state, error, -- extra_check_functions, cppvar) -- FlagCxxHeaders(filename, clean_lines, line, error) -- if _error_suppressions.HasOpenBlock(): -- error(filename, _error_suppressions.GetOpenBlockStart(), 'readability/nolint', 5, -- 'NONLINT block never ended') -+ extra_check_functions) -+ FlagCxx11Features(filename, clean_lines, line, error) -+ nesting_state.CheckCompletedBlocks(filename, error) - - CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error) - -@@ -6560,7 +6530,7 @@ def ProcessConfigOverrides(filename): - if not base_name: - break # Reached the root directory. - -- cfg_file = os.path.join(abs_path, _config_filename) -+ cfg_file = os.path.join(abs_path, "CPPLINT.cfg") - abs_filename = abs_path - if not os.path.isfile(cfg_file): - continue -@@ -6663,7 +6633,10 @@ def ProcessFile(filename, vlevel, extra_check_functions=None): - # If after the split a trailing '\r' is present, it is removed - # below. - if filename == '-': -- lines = sys.stdin.read().split('\n') -+ lines = codecs.StreamReaderWriter(sys.stdin, -+ codecs.getreader('utf8'), -+ codecs.getwriter('utf8'), -+ 'replace').read().split('\n') - else: - with codecs.open(filename, 'r', 'utf8', 'replace') as target_file: - lines = target_file.read().split('\n') -@@ -6777,7 +6750,6 @@ def ParseArguments(args): - 'recursive', - 'headers=', - 'includeorder=', -- 'config=', - 'quiet']) - except getopt.GetoptError: - PrintUsage('Invalid arguments.') -@@ -6836,11 +6808,6 @@ def ParseArguments(args): - recursive = True - elif opt == '--includeorder': - ProcessIncludeOrderOption(val) -- elif opt == '--config': -- global _config_filename -- _config_filename = val -- if os.path.basename(_config_filename) != _config_filename: -- PrintUsage('Config file name must not include directory components.') - - if not filenames: - PrintUsage('No files were specified.') -@@ -6860,32 +6827,6 @@ def ParseArguments(args): - filenames.sort() - return filenames - --def _ParseFilterSelector(parameter): -- """Parses the given command line parameter for file- and line-specific -- exclusions. -- readability/casting:file.cpp -- readability/casting:file.cpp:43 -- -- Args: -- parameter: The parameter value of --filter -- -- Returns: -- [category, filename, line]. -- Category is always given. -- Filename is either a filename or empty if all files are meant. -- Line is either a line in filename or -1 if all lines are meant. -- """ -- colon_pos = parameter.find(":") -- if colon_pos == -1: -- return parameter, "", -1 -- category = parameter[:colon_pos] -- second_colon_pos = parameter.find(":", colon_pos + 1) -- if second_colon_pos == -1: -- return category, parameter[colon_pos + 1:], -1 -- else: -- return category, parameter[colon_pos + 1: second_colon_pos], \ -- int(parameter[second_colon_pos + 1:]) -- - def _ExpandDirectories(filenames): - """Searches a list of filenames and replaces directories in the list with - all files descending from those directories. Files with extensions not in ++ # If we can't find the header file for a .cc, assume it's because we don't ++ # know where to look. In that case we'll give up as we're not sure they ++ # didn't include it in the .h file. ++ # TODO(unknown): Do a better job of finding .h files so we are confident that ++ # not having the .h file means there isn't one. ++ if filename.endswith('.cc') and not header_found: ++ return ++ \ No newline at end of file diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index d2b48b2f938d..c8b0332bbb19 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -9,8 +9,8 @@ def cpplint_internal_repository( commit = "f4363d7fc0d5f38c4fd41b658e069e96583da0d5", sha256 = "c1502a16e609c65731cd6eb62b94eb2e4ef5be195e57d85a5619f4ff12a0de3e", # noqa build_file = ":package.BUILD.bazel", - patches = [ - ":patches/transitive_includes.patch" - ], + # patches = [ + # ":patches/transitive_includes.patch" + # ], mirrors = mirrors, ) From f632c6381b6fb089c3c91724a82fef0e36e0d622 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Thu, 6 Mar 2025 15:03:15 -0500 Subject: [PATCH 30/46] uncommented patch param --- tools/workspace/cpplint_internal/repository.bzl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index c8b0332bbb19..d2b48b2f938d 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -9,8 +9,8 @@ def cpplint_internal_repository( commit = "f4363d7fc0d5f38c4fd41b658e069e96583da0d5", sha256 = "c1502a16e609c65731cd6eb62b94eb2e4ef5be195e57d85a5619f4ff12a0de3e", # noqa build_file = ":package.BUILD.bazel", - # patches = [ - # ":patches/transitive_includes.patch" - # ], + patches = [ + ":patches/transitive_includes.patch" + ], mirrors = mirrors, ) From 1948e81f81d0ea82bcf8f19af29dbdea70bde01a Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Thu, 6 Mar 2025 15:24:23 -0500 Subject: [PATCH 31/46] patch resulted in sample error pass --- .../patches/transitive_includes.patch | 27 +++++++++++++++++-- .../workspace/cpplint_internal/repository.bzl | 4 +-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/tools/workspace/cpplint_internal/patches/transitive_includes.patch b/tools/workspace/cpplint_internal/patches/transitive_includes.patch index 1315a11a3a48..d4cc61828642 100644 --- a/tools/workspace/cpplint_internal/patches/transitive_includes.patch +++ b/tools/workspace/cpplint_internal/patches/transitive_includes.patch @@ -1,4 +1,3 @@ -git diff HEAD diff --git a/cpplint.py b/cpplint.py index 7a8b8ab..b52a4e5 100755 --- cpplint.py @@ -70,4 +69,28 @@ index 7a8b8ab..b52a4e5 100755 + # not having the .h file means there isn't one. + if filename.endswith('.cc') and not header_found: + return -+ \ No newline at end of file ++ + # All the lines have been processed, report the errors found. +- for header in sorted(required, key=required.__getitem__): +- template = required[header][1] +- header_stripped = header.strip('<>"') +- if (header_stripped not in include_dict +- and not (header_stripped[0] == 'c' +- and (header_stripped[1:] + '.h') in include_dict)): +- error(filename, required[header][0], ++ for required_header_unstripped in required: ++ template = required[required_header_unstripped][1] ++ if required_header_unstripped.strip('<>"') not in include_dict: ++ error(filename, required[required_header_unstripped][0], + 'build/include_what_you_use', 4, +- 'Add #include ' + header + ' for ' + template) ++ 'Add #include ' + required_header_unstripped + ' for ' + template) + + + _RE_PATTERN_EXPLICIT_MAKEPAIR = re.compile(r'\bmake_pair\s*<') + + ++ + def CheckMakePairUsesDeduction(filename, clean_lines, linenum, error): + """Check that make_pair's template arguments are deduced. + \ No newline at end of file diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index d2b48b2f938d..479fc93c6c5b 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -6,8 +6,8 @@ def cpplint_internal_repository( github_archive( name = name, repository = "cpplint/cpplint", - commit = "f4363d7fc0d5f38c4fd41b658e069e96583da0d5", - sha256 = "c1502a16e609c65731cd6eb62b94eb2e4ef5be195e57d85a5619f4ff12a0de3e", # noqa + commit = "80da3c1ef37af017715dc1366fbda8263179bdeb", + sha256 = "006d8ce87a2dcc8a644b78fe0c2d4d45bc52ca41414ea66d3c7dcd6ae3e61d9e", # noqa build_file = ":package.BUILD.bazel", patches = [ ":patches/transitive_includes.patch" From e22b42f9f7356ee1f040b4d7f611bf4ceecf6d9c Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Thu, 6 Mar 2025 16:56:57 -0500 Subject: [PATCH 32/46] filtered build/c++17 and fixed NOLINT formatting for one line --- CPPLINT.cfg | 3 +++ common/overloaded.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index 8239dda47bcb..dad2c2a9adad 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -12,6 +12,9 @@ set noparent # this warning is irrelevant. filter=-build/c++11 +# Unlike Google, drake embraces . +filter=-build/c++17 + # Drake uses `#pragma once`, not the `#ifndef FOO_H` guard. # https://drake.mit.edu/styleguide/cppguide.html#The__pragma_once_Guard filter=-build/header_guard diff --git a/common/overloaded.h b/common/overloaded.h index 93c70934b8d6..ad982be08342 100644 --- a/common/overloaded.h +++ b/common/overloaded.h @@ -27,7 +27,7 @@ use the variant visit pattern, i.e. // We put this in the anonymous namespace to ensure that it will not generate // linkable symbols for every specialization in every library that uses it. -namespace { // NOLINT(build/namespaces) +namespace { // NOLINT (build/namespaces) // Boilerplate for `std::visit`; see // https://en.cppreference.com/w/cpp/utility/variant/visit From 2315f83f57748ed078a8e9fa7af5d0ebddd91cc7 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Thu, 6 Mar 2025 17:15:12 -0500 Subject: [PATCH 33/46] fixed NOLINT parsing in 3 other files --- bindings/pydrake/common/text_logging_pybind.cc | 2 +- common/hwy_dynamic_impl.h | 2 +- examples/pendulum/pendulum_parameters_derivatives.cc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bindings/pydrake/common/text_logging_pybind.cc b/bindings/pydrake/common/text_logging_pybind.cc index 679837e91888..c10299da78b2 100644 --- a/bindings/pydrake/common/text_logging_pybind.cc +++ b/bindings/pydrake/common/text_logging_pybind.cc @@ -64,7 +64,7 @@ class pylogging_sink final is_configured_.store(true); } - // NOLINTNEXTLINE(build/namespaces) This is how pybind11 wants it. + // NOLINTNEXTLINE (build/namespaces) This is how pybind11 wants it. using namespace pybind11::literals; // Construct the LogRecord. diff --git a/common/hwy_dynamic_impl.h b/common/hwy_dynamic_impl.h index 2f4fba543457..c5a4a7b44e3a 100644 --- a/common/hwy_dynamic_impl.h +++ b/common/hwy_dynamic_impl.h @@ -9,7 +9,7 @@ // This file should only ever be included from `*.cc` implementation files, // and we always want its code to be private to that file, so we'll use an // anonymous namespace in a header file, for simplicity. -namespace { // NOLINT(build/namespaces) +namespace { // NOLINT (build/namespaces) /* LateBoundFunction is a small wrapper class around a C-style raw function pointer. (It doesn't support std::function objects.) diff --git a/examples/pendulum/pendulum_parameters_derivatives.cc b/examples/pendulum/pendulum_parameters_derivatives.cc index 86eaa0640e0c..bb54d8dbcd8f 100644 --- a/examples/pendulum/pendulum_parameters_derivatives.cc +++ b/examples/pendulum/pendulum_parameters_derivatives.cc @@ -47,7 +47,7 @@ int DoMain() { const PendulumState& xdot = PendulumPlant::get_state(*derivatives); - // NOLINTNEXTLINE(build/namespaces) Usage documented by fmt library. + // NOLINTNEXTLINE (build/namespaces) Usage documented by fmt library. using namespace fmt::literals; // Derivatives values fmt::print("Forward dynamics, ẋ = [θ̇, ω̇]:\n"); From b885ebfe55fe8035a630e38713223ac646d7ea5c Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Thu, 6 Mar 2025 18:33:59 -0500 Subject: [PATCH 34/46] fixed two build error unrelated to cpplint --- .../cpplint_internal/patches/transitive_includes.patch | 2 +- tools/workspace/cpplint_internal/repository.bzl | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/tools/workspace/cpplint_internal/patches/transitive_includes.patch b/tools/workspace/cpplint_internal/patches/transitive_includes.patch index d4cc61828642..712d8ddc395c 100644 --- a/tools/workspace/cpplint_internal/patches/transitive_includes.patch +++ b/tools/workspace/cpplint_internal/patches/transitive_includes.patch @@ -59,7 +59,7 @@ index 7a8b8ab..b52a4e5 100755 + for header in header_keys: + (same_module, common_path) = FilesBelongToSameModule(abs_filename, header) + fullpath = common_path + header -+ if same_module and UpdateIncludeState(fullpath, include_dict, io): ++ if same_module: + header_found = True + + # If we can't find the header file for a .cc, assume it's because we don't diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index 479fc93c6c5b..05c4667c9a18 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -9,8 +9,6 @@ def cpplint_internal_repository( commit = "80da3c1ef37af017715dc1366fbda8263179bdeb", sha256 = "006d8ce87a2dcc8a644b78fe0c2d4d45bc52ca41414ea66d3c7dcd6ae3e61d9e", # noqa build_file = ":package.BUILD.bazel", - patches = [ - ":patches/transitive_includes.patch" - ], + patches = [":patches/transitive_includes.patch"], mirrors = mirrors, ) From 00a1121c53827de10a799d7f0cf50f9f1b18887e Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Mon, 10 Mar 2025 13:04:29 -0400 Subject: [PATCH 35/46] removed python references from styleguide module --- tools/workspace/styleguide/BUILD.bazel | 10 ------- .../workspace/styleguide/package.BUILD.bazel | 29 ------------------- .../styleguide/patches/test_paths.patch | 20 ------------- .../patches/upstream/sre_deprecation.patch | 17 ----------- tools/workspace/styleguide/repository.bzl | 4 --- 5 files changed, 80 deletions(-) delete mode 100644 tools/workspace/styleguide/patches/test_paths.patch delete mode 100644 tools/workspace/styleguide/patches/upstream/sre_deprecation.patch diff --git a/tools/workspace/styleguide/BUILD.bazel b/tools/workspace/styleguide/BUILD.bazel index c6fb5c7190d1..67914ea7e0a0 100644 --- a/tools/workspace/styleguide/BUILD.bazel +++ b/tools/workspace/styleguide/BUILD.bazel @@ -1,13 +1,3 @@ load("//tools/lint:lint.bzl", "add_lint_tests") -load("//tools/skylark:py.bzl", "py_test") - -py_test( - name = "cpplint_unittest", - size = "small", - srcs = ["@styleguide//:test_files"], - data = ["@styleguide//:test_files"], - main = "@styleguide//:cpplint/cpplint_unittest.py", - tags = ["no_kcov"], -) add_lint_tests() diff --git a/tools/workspace/styleguide/package.BUILD.bazel b/tools/workspace/styleguide/package.BUILD.bazel index c9ffd8134c9c..2e187ca91837 100644 --- a/tools/workspace/styleguide/package.BUILD.bazel +++ b/tools/workspace/styleguide/package.BUILD.bazel @@ -1,7 +1,5 @@ # -*- bazel -*- -load("@drake//tools/skylark:py.bzl", "py_binary") - licenses(["notice"]) # BSD-3-Clause package(default_visibility = ["//visibility:public"]) @@ -11,30 +9,3 @@ exports_files(glob([ "*", "include/*", ])) - -# We can't set name="cpplint" here because that's the directory name so the -# sandbox gets confused. We'll give it a private name with a public alias. -py_binary( - name = "cpplint_binary", - srcs = ["cpplint/cpplint.py"], - imports = ["cpplint"], - main = "cpplint/cpplint.py", - python_version = "PY3", - srcs_version = "PY3", - visibility = [], -) - -alias( - name = "cpplint", - actual = ":cpplint_binary", -) - -filegroup( - name = "test_files", - testonly = True, - srcs = [ - "cpplint/cpplint.py", - "cpplint/cpplint_test_header.h", - "cpplint/cpplint_unittest.py", - ], -) diff --git a/tools/workspace/styleguide/patches/test_paths.patch b/tools/workspace/styleguide/patches/test_paths.patch deleted file mode 100644 index 541b903c3b67..000000000000 --- a/tools/workspace/styleguide/patches/test_paths.patch +++ /dev/null @@ -1,20 +0,0 @@ -Work around confusing import of cpplint for Python 3.11 - -We have a directory named cpplint and file named cpplint/cpplint.py. - -We want to import the latter, but sometimes we end up with the empty -__init__.py from the former. Force the issue by munging Python's path. - -Reasoning for not upstreaming this patch: Drake-specific build option. - ---- cpplint/cpplint_unittest.py -+++ cpplint/cpplint_unittest.py -@@ -41,7 +41,8 @@ - import sys - import unittest - -+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) - import cpplint - - try: - xrange # Python 2 diff --git a/tools/workspace/styleguide/patches/upstream/sre_deprecation.patch b/tools/workspace/styleguide/patches/upstream/sre_deprecation.patch deleted file mode 100644 index f42f806cbef9..000000000000 --- a/tools/workspace/styleguide/patches/upstream/sre_deprecation.patch +++ /dev/null @@ -1,17 +0,0 @@ -Avoid DeprecationWarning from sre_compile in Python 3.11 - -See https://github.com/cpplint/cpplint/pull/214 for discussion. - -TODO(jwnimmer-tri) Upstream this to our RobotLocomotion/styleguide. - ---- cpplint/cpplint.py -+++ cpplint/cpplint.py -@@ -47,7 +47,7 @@ - import math # for log - import os - import re --import sre_compile -+import re as sre_compile # sre_compile is deprecated - import string - import sys - import unicodedata diff --git a/tools/workspace/styleguide/repository.bzl b/tools/workspace/styleguide/repository.bzl index e11a74415bfb..53f41693016a 100644 --- a/tools/workspace/styleguide/repository.bzl +++ b/tools/workspace/styleguide/repository.bzl @@ -9,9 +9,5 @@ def styleguide_repository( commit = "736a797e4bc25a2c064fee147e659004675b7387", sha256 = "6fb793292a94baf75b9ad1fb91910cf710b5b1a36823e09abf17ffbea8b06aec", # noqa build_file = ":package.BUILD.bazel", - patches = [ - ":patches/upstream/sre_deprecation.patch", - ":patches/test_paths.patch", - ], mirrors = mirrors, ) From 64896c5da4f76c4050962d4ae29c41c1fb1c1957 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Mon, 10 Mar 2025 13:35:54 -0400 Subject: [PATCH 36/46] reverted pdm.lock to master branch --- setup/python/pdm.lock | 676 +++++++++++++++++++----------------------- 1 file changed, 311 insertions(+), 365 deletions(-) diff --git a/setup/python/pdm.lock b/setup/python/pdm.lock index cd9420c83729..bfb94ab97620 100644 --- a/setup/python/pdm.lock +++ b/setup/python/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "test", "wheel"] strategy = ["inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:1d3eeb1a0c2bc213cd1ded8ecc1ad4b9d0bdfb39c63bfd18f0f12d6f4bfaf43b" +content_hash = "sha256:b809d9d13dff5455d6d7ccd47bb4c93d97d5348781bceea33709393623b2d975" [[metadata.targets]] requires_python = ">=3.10" @@ -157,7 +157,7 @@ files = [ [[package]] name = "babel" -version = "2.17.0" +version = "2.16.0" requires_python = ">=3.8" summary = "Internationalization utilities" groups = ["default"] @@ -165,23 +165,22 @@ dependencies = [ "pytz>=2015.7; python_version < \"3.9\"", ] files = [ - {file = "babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"}, - {file = "babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d"}, + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, ] [[package]] name = "beautifulsoup4" -version = "4.13.3" -requires_python = ">=3.7.0" +version = "4.12.3" +requires_python = ">=3.6.0" summary = "Screen-scraping library" groups = ["default"] dependencies = [ "soupsieve>1.2", - "typing-extensions>=4.0.0", ] files = [ - {file = "beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16"}, - {file = "beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b"}, + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, ] [[package]] @@ -227,13 +226,13 @@ files = [ [[package]] name = "certifi" -version = "2025.1.31" +version = "2024.12.14" requires_python = ">=3.6" summary = "Python package for providing Mozilla's CA Bundle." groups = ["default"] files = [ - {file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, - {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, + {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, + {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, ] [[package]] @@ -379,7 +378,7 @@ version = "0.4.6" requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" summary = "Cross-platform colored terminal text." groups = ["default", "test"] -marker = "sys_platform == \"win32\" or platform_system == \"Windows\"" +marker = "platform_system == \"Windows\" or sys_platform == \"win32\"" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, @@ -505,13 +504,13 @@ files = [ [[package]] name = "decorator" -version = "5.2.1" -requires_python = ">=3.8" +version = "5.1.1" +requires_python = ">=3.5" summary = "Decorators for Humans" groups = ["default"] files = [ - {file = "decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a"}, - {file = "decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360"}, + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] [[package]] @@ -547,7 +546,7 @@ name = "exceptiongroup" version = "1.2.2" requires_python = ">=3.7" summary = "Backport of PEP 654 (exception groups)" -groups = ["default", "test"] +groups = ["default"] marker = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, @@ -596,45 +595,45 @@ files = [ [[package]] name = "fonttools" -version = "4.56.0" +version = "4.55.8" requires_python = ">=3.8" summary = "Tools to manipulate font files" groups = ["default"] files = [ - {file = "fonttools-4.56.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:331954d002dbf5e704c7f3756028e21db07097c19722569983ba4d74df014000"}, - {file = "fonttools-4.56.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d1613abd5af2f93c05867b3a3759a56e8bf97eb79b1da76b2bc10892f96ff16"}, - {file = "fonttools-4.56.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:705837eae384fe21cee5e5746fd4f4b2f06f87544fa60f60740007e0aa600311"}, - {file = "fonttools-4.56.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc871904a53a9d4d908673c6faa15689874af1c7c5ac403a8e12d967ebd0c0dc"}, - {file = "fonttools-4.56.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38b947de71748bab150259ee05a775e8a0635891568e9fdb3cdd7d0e0004e62f"}, - {file = "fonttools-4.56.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:86b2a1013ef7a64d2e94606632683f07712045ed86d937c11ef4dde97319c086"}, - {file = "fonttools-4.56.0-cp310-cp310-win32.whl", hash = "sha256:133bedb9a5c6376ad43e6518b7e2cd2f866a05b1998f14842631d5feb36b5786"}, - {file = "fonttools-4.56.0-cp310-cp310-win_amd64.whl", hash = "sha256:17f39313b649037f6c800209984a11fc256a6137cbe5487091c6c7187cae4685"}, - {file = "fonttools-4.56.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ef04bc7827adb7532be3d14462390dd71287644516af3f1e67f1e6ff9c6d6df"}, - {file = "fonttools-4.56.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ffda9b8cd9cb8b301cae2602ec62375b59e2e2108a117746f12215145e3f786c"}, - {file = "fonttools-4.56.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e993e8db36306cc3f1734edc8ea67906c55f98683d6fd34c3fc5593fdbba4c"}, - {file = "fonttools-4.56.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:003548eadd674175510773f73fb2060bb46adb77c94854af3e0cc5bc70260049"}, - {file = "fonttools-4.56.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd9825822e7bb243f285013e653f6741954d8147427aaa0324a862cdbf4cbf62"}, - {file = "fonttools-4.56.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b23d30a2c0b992fb1c4f8ac9bfde44b5586d23457759b6cf9a787f1a35179ee0"}, - {file = "fonttools-4.56.0-cp311-cp311-win32.whl", hash = "sha256:47b5e4680002ae1756d3ae3b6114e20aaee6cc5c69d1e5911f5ffffd3ee46c6b"}, - {file = "fonttools-4.56.0-cp311-cp311-win_amd64.whl", hash = "sha256:14a3e3e6b211660db54ca1ef7006401e4a694e53ffd4553ab9bc87ead01d0f05"}, - {file = "fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9"}, - {file = "fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f"}, - {file = "fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2"}, - {file = "fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563"}, - {file = "fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a"}, - {file = "fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28"}, - {file = "fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c"}, - {file = "fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba"}, - {file = "fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692"}, - {file = "fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0"}, - {file = "fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1"}, - {file = "fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea"}, - {file = "fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3"}, - {file = "fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278"}, - {file = "fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f"}, - {file = "fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6"}, - {file = "fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14"}, - {file = "fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4"}, + {file = "fonttools-4.55.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d11600f5343092697d7434f3bf77a393c7ae74be206fe30e577b9a195fd53165"}, + {file = "fonttools-4.55.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c96f2506ce1a0beeaa9595f9a8b7446477eb133f40c0e41fc078744c28149f80"}, + {file = "fonttools-4.55.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b5f05ef72e846e9f49ccdd74b9da4309901a4248434c63c1ee9321adcb51d65"}, + {file = "fonttools-4.55.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba45b637da80a262b55b7657aec68da2ac54b8ae7891cd977a5dbe5fd26db429"}, + {file = "fonttools-4.55.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:edcffaeadba9a334c1c3866e275d7dd495465e7dbd296f688901bdbd71758113"}, + {file = "fonttools-4.55.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b9f9fce3c9b2196e162182ec5db8af8eb3acd0d76c2eafe9fdba5f370044e556"}, + {file = "fonttools-4.55.8-cp310-cp310-win32.whl", hash = "sha256:f089e8da0990cfe2d67e81d9cf581ff372b48dc5acf2782701844211cd1f0eb3"}, + {file = "fonttools-4.55.8-cp310-cp310-win_amd64.whl", hash = "sha256:01ea3901b0802fc5f9e854f5aeb5bc27770dd9dd24c28df8f74ba90f8b3f5915"}, + {file = "fonttools-4.55.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:95f5a1d4432b3cea6571f5ce4f4e9b25bf36efbd61c32f4f90130a690925d6ee"}, + {file = "fonttools-4.55.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d20f152de7625a0008ba1513f126daaaa0de3b4b9030aa72dd5c27294992260"}, + {file = "fonttools-4.55.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5a3ff5bb95fd5a3962b2754f8435e6d930c84fc9e9921c51e802dddf40acd56"}, + {file = "fonttools-4.55.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b99d4fd2b6d0a00c7336c8363fccc7a11eccef4b17393af75ca6e77cf93ff413"}, + {file = "fonttools-4.55.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d637e4d33e46619c79d1a6c725f74d71b574cd15fb5bbb9b6f3eba8f28363573"}, + {file = "fonttools-4.55.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0f38bfb6b7a39c4162c3eb0820a0bdf8e3bdd125cd54e10ba242397d15e32439"}, + {file = "fonttools-4.55.8-cp311-cp311-win32.whl", hash = "sha256:acfec948de41cd5e640d5c15d0200e8b8e7c5c6bb82afe1ca095cbc4af1188ee"}, + {file = "fonttools-4.55.8-cp311-cp311-win_amd64.whl", hash = "sha256:604c805b41241b4880e2dc86cf2d4754c06777371c8299799ac88d836cb18c3b"}, + {file = "fonttools-4.55.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63403ee0f2fa4e1de28e539f8c24f2bdca1d8ecb503fa9ea2d231d9f1e729809"}, + {file = "fonttools-4.55.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:302e1003a760b222f711d5ba6d1ad7fd5f7f713eb872cd6a3eb44390bc9770af"}, + {file = "fonttools-4.55.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e72a7816ff8a759be9ca36ca46934f8ccf4383711ef597d9240306fe1878cb8d"}, + {file = "fonttools-4.55.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03c2b50b54e6e8b3564b232e57e8f58be217cf441cf0155745d9e44a76f9c30f"}, + {file = "fonttools-4.55.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7230f7590f9570d26ee903b6a4540274494e200fae978df0d9325b7b9144529"}, + {file = "fonttools-4.55.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:466a78984f0572305c3c48377f4e3f7f4e909f1209f45ef8e7041d5c8a744a56"}, + {file = "fonttools-4.55.8-cp312-cp312-win32.whl", hash = "sha256:243cbfc0b7cb1c307af40e321f8343a48d0a080bc1f9466cf2b5468f776ef108"}, + {file = "fonttools-4.55.8-cp312-cp312-win_amd64.whl", hash = "sha256:a19059aa892676822c1f05cb5a67296ecdfeb267fe7c47d4758f3e8e942c2b2a"}, + {file = "fonttools-4.55.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:332883b6280b9d90d2ba7e9e81be77cf2ace696161e60cdcf40cfcd2b3ed06fa"}, + {file = "fonttools-4.55.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6b8d7c149d47b47de7ec81763396c8266e5ebe2e0b14aa9c3ccf29e52260ab2f"}, + {file = "fonttools-4.55.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4dfae7c94987149bdaa0388e6c937566aa398fa0eec973b17952350a069cff4e"}, + {file = "fonttools-4.55.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0fe12f06169af2fdc642d26a8df53e40adc3beedbd6ffedb19f1c5397b63afd"}, + {file = "fonttools-4.55.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f971aa5f50c22dc4b63a891503624ae2c77330429b34ead32f23c2260c5618cd"}, + {file = "fonttools-4.55.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:708cb17b2590b7f6c6854999df0039ff1140dda9e6f56d67c3599ba6f968fab5"}, + {file = "fonttools-4.55.8-cp313-cp313-win32.whl", hash = "sha256:cfe9cf30f391a0f2875247a3e5e44d8dcb61596e5cf89b360cdffec8a80e9961"}, + {file = "fonttools-4.55.8-cp313-cp313-win_amd64.whl", hash = "sha256:1e10efc8ee10d6f1fe2931d41bccc90cd4b872f2ee4ff21f2231a2c293b2dbf8"}, + {file = "fonttools-4.55.8-py3-none-any.whl", hash = "sha256:07636dae94f7fe88561f9da7a46b13d8e3f529f87fdb221b11d85f91eabceeb7"}, + {file = "fonttools-4.55.8.tar.gz", hash = "sha256:54d481d456dcd59af25d4a9c56b2c4c3f20e9620b261b84144e5950f33e8df17"}, ] [[package]] @@ -708,17 +707,6 @@ files = [ {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] -[[package]] -name = "iniconfig" -version = "2.0.0" -requires_python = ">=3.7" -summary = "brain-dead simple config-ini parsing" -groups = ["test"] -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - [[package]] name = "ipykernel" version = "6.29.5" @@ -747,7 +735,7 @@ files = [ [[package]] name = "ipython" -version = "8.33.0" +version = "8.31.0" requires_python = ">=3.10" summary = "IPython: Productive Interactive Computing" groups = ["default"] @@ -765,8 +753,8 @@ dependencies = [ "typing-extensions>=4.6; python_version < \"3.12\"", ] files = [ - {file = "ipython-8.33.0-py3-none-any.whl", hash = "sha256:aa5b301dfe1eaf0167ff3238a6825f810a029c9dad9d3f1597f30bd5ff65cc44"}, - {file = "ipython-8.33.0.tar.gz", hash = "sha256:4c3e36a6dfa9e8e3702bd46f3df668624c975a22ff340e96ea7277afbd76217d"}, + {file = "ipython-8.31.0-py3-none-any.whl", hash = "sha256:46ec58f8d3d076a61d128fe517a51eb730e3aaf0c184ea8c17d16e366660c6a6"}, + {file = "ipython-8.31.0.tar.gz", hash = "sha256:b6a2274606bec6166405ff05e54932ed6e5cfecaca1fc05f2cacde7bb074d70b"}, ] [[package]] @@ -955,13 +943,12 @@ files = [ [[package]] name = "jupyter-events" -version = "0.12.0" +version = "0.11.0" requires_python = ">=3.9" summary = "Jupyter Event System library" groups = ["default"] dependencies = [ "jsonschema[format-nongpl]>=4.18.0", - "packaging", "python-json-logger>=2.0.4", "pyyaml>=5.3", "referencing", @@ -970,8 +957,8 @@ dependencies = [ "traitlets>=5.3", ] files = [ - {file = "jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb"}, - {file = "jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b"}, + {file = "jupyter_events-0.11.0-py3-none-any.whl", hash = "sha256:36399b41ce1ca45fe8b8271067d6a140ffa54cec4028e95491c93b78a855cacf"}, + {file = "jupyter_events-0.11.0.tar.gz", hash = "sha256:c0bc56a37aac29c1fbc3bcfbddb8c8c49533f9cf11f1c4e6adadba936574ab90"}, ] [[package]] @@ -1273,7 +1260,7 @@ files = [ [[package]] name = "matplotlib" -version = "3.10.1" +version = "3.10.0" requires_python = ">=3.10" summary = "Python plotting package" groups = ["default"] @@ -1289,40 +1276,40 @@ dependencies = [ "python-dateutil>=2.7", ] files = [ - {file = "matplotlib-3.10.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:ff2ae14910be903f4a24afdbb6d7d3a6c44da210fc7d42790b87aeac92238a16"}, - {file = "matplotlib-3.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0721a3fd3d5756ed593220a8b86808a36c5031fce489adb5b31ee6dbb47dd5b2"}, - {file = "matplotlib-3.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0673b4b8f131890eb3a1ad058d6e065fb3c6e71f160089b65f8515373394698"}, - {file = "matplotlib-3.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e875b95ac59a7908978fe307ecdbdd9a26af7fa0f33f474a27fcf8c99f64a19"}, - {file = "matplotlib-3.10.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2589659ea30726284c6c91037216f64a506a9822f8e50592d48ac16a2f29e044"}, - {file = "matplotlib-3.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:a97ff127f295817bc34517255c9db6e71de8eddaab7f837b7d341dee9f2f587f"}, - {file = "matplotlib-3.10.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:057206ff2d6ab82ff3e94ebd94463d084760ca682ed5f150817b859372ec4401"}, - {file = "matplotlib-3.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a144867dd6bf8ba8cb5fc81a158b645037e11b3e5cf8a50bd5f9917cb863adfe"}, - {file = "matplotlib-3.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56c5d9fcd9879aa8040f196a235e2dcbdf7dd03ab5b07c0696f80bc6cf04bedd"}, - {file = "matplotlib-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f69dc9713e4ad2fb21a1c30e37bd445d496524257dfda40ff4a8efb3604ab5c"}, - {file = "matplotlib-3.10.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c59af3e8aca75d7744b68e8e78a669e91ccbcf1ac35d0102a7b1b46883f1dd7"}, - {file = "matplotlib-3.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:11b65088c6f3dae784bc72e8d039a2580186285f87448babb9ddb2ad0082993a"}, - {file = "matplotlib-3.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:66e907a06e68cb6cfd652c193311d61a12b54f56809cafbed9736ce5ad92f107"}, - {file = "matplotlib-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b4bb156abb8fa5e5b2b460196f7db7264fc6d62678c03457979e7d5254b7be"}, - {file = "matplotlib-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1985ad3d97f51307a2cbfc801a930f120def19ba22864182dacef55277102ba6"}, - {file = "matplotlib-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c96f2c2f825d1257e437a1482c5a2cf4fee15db4261bd6fc0750f81ba2b4ba3d"}, - {file = "matplotlib-3.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35e87384ee9e488d8dd5a2dd7baf471178d38b90618d8ea147aced4ab59c9bea"}, - {file = "matplotlib-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfd414bce89cc78a7e1d25202e979b3f1af799e416010a20ab2b5ebb3a02425c"}, - {file = "matplotlib-3.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c42eee41e1b60fd83ee3292ed83a97a5f2a8239b10c26715d8a6172226988d7b"}, - {file = "matplotlib-3.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4f0647b17b667ae745c13721602b540f7aadb2a32c5b96e924cd4fea5dcb90f1"}, - {file = "matplotlib-3.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa3854b5f9473564ef40a41bc922be978fab217776e9ae1545c9b3a5cf2092a3"}, - {file = "matplotlib-3.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e496c01441be4c7d5f96d4e40f7fca06e20dcb40e44c8daa2e740e1757ad9e6"}, - {file = "matplotlib-3.10.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5d45d3f5245be5b469843450617dcad9af75ca50568acf59997bed9311131a0b"}, - {file = "matplotlib-3.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:8e8e25b1209161d20dfe93037c8a7f7ca796ec9aa326e6e4588d8c4a5dd1e473"}, - {file = "matplotlib-3.10.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:19b06241ad89c3ae9469e07d77efa87041eac65d78df4fcf9cac318028009b01"}, - {file = "matplotlib-3.10.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:01e63101ebb3014e6e9f80d9cf9ee361a8599ddca2c3e166c563628b39305dbb"}, - {file = "matplotlib-3.10.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f06bad951eea6422ac4e8bdebcf3a70c59ea0a03338c5d2b109f57b64eb3972"}, - {file = "matplotlib-3.10.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3dfb036f34873b46978f55e240cff7a239f6c4409eac62d8145bad3fc6ba5a3"}, - {file = "matplotlib-3.10.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dc6ab14a7ab3b4d813b88ba957fc05c79493a037f54e246162033591e770de6f"}, - {file = "matplotlib-3.10.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bc411ebd5889a78dabbc457b3fa153203e22248bfa6eedc6797be5df0164dbf9"}, - {file = "matplotlib-3.10.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:648406f1899f9a818cef8c0231b44dcfc4ff36f167101c3fd1c9151f24220fdc"}, - {file = "matplotlib-3.10.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:02582304e352f40520727984a5a18f37e8187861f954fea9be7ef06569cf85b4"}, - {file = "matplotlib-3.10.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3809916157ba871bcdd33d3493acd7fe3037db5daa917ca6e77975a94cef779"}, - {file = "matplotlib-3.10.1.tar.gz", hash = "sha256:e8d2d0e3881b129268585bf4765ad3ee73a4591d77b9a18c214ac7e3a79fb2ba"}, + {file = "matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6"}, + {file = "matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e"}, + {file = "matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5"}, + {file = "matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6"}, + {file = "matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1"}, + {file = "matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3"}, + {file = "matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363"}, + {file = "matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997"}, + {file = "matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef"}, + {file = "matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683"}, + {file = "matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765"}, + {file = "matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a"}, + {file = "matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59"}, + {file = "matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a"}, + {file = "matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95"}, + {file = "matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8"}, + {file = "matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12"}, + {file = "matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc"}, + {file = "matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25"}, + {file = "matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908"}, + {file = "matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2"}, + {file = "matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf"}, + {file = "matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae"}, + {file = "matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442"}, + {file = "matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06"}, + {file = "matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff"}, + {file = "matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593"}, + {file = "matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e"}, + {file = "matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede"}, + {file = "matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c"}, + {file = "matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03"}, + {file = "matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea"}, + {file = "matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef"}, + {file = "matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278"}, ] [[package]] @@ -1341,7 +1328,7 @@ files = [ [[package]] name = "mistune" -version = "3.1.2" +version = "3.1.1" requires_python = ">=3.8" summary = "A sane and fast Markdown parser with useful plugins and renderers" groups = ["default"] @@ -1349,8 +1336,8 @@ dependencies = [ "typing-extensions; python_version < \"3.11\"", ] files = [ - {file = "mistune-3.1.2-py3-none-any.whl", hash = "sha256:4b47731332315cdca99e0ded46fc0004001c1299ff773dfb48fbe1fd226de319"}, - {file = "mistune-3.1.2.tar.gz", hash = "sha256:733bf018ba007e8b5f2d3a9eb624034f6ee26c4ea769a98ec533ee111d504dff"}, + {file = "mistune-3.1.1-py3-none-any.whl", hash = "sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a"}, + {file = "mistune-3.1.1.tar.gz", hash = "sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c"}, ] [[package]] @@ -1460,66 +1447,66 @@ files = [ [[package]] name = "numpy" -version = "2.2.3" +version = "2.2.2" requires_python = ">=3.10" summary = "Fundamental package for array computing in Python" groups = ["default"] files = [ - {file = "numpy-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cbc6472e01952d3d1b2772b720428f8b90e2deea8344e854df22b0618e9cce71"}, - {file = "numpy-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdfe0c22692a30cd830c0755746473ae66c4a8f2e7bd508b35fb3b6a0813d787"}, - {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:e37242f5324ffd9f7ba5acf96d774f9276aa62a966c0bad8dae692deebec7716"}, - {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:95172a21038c9b423e68be78fd0be6e1b97674cde269b76fe269a5dfa6fadf0b"}, - {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5b47c440210c5d1d67e1cf434124e0b5c395eee1f5806fdd89b553ed1acd0a3"}, - {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0391ea3622f5c51a2e29708877d56e3d276827ac5447d7f45e9bc4ade8923c52"}, - {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f6b3dfc7661f8842babd8ea07e9897fe3d9b69a1d7e5fbb743e4160f9387833b"}, - {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1ad78ce7f18ce4e7df1b2ea4019b5817a2f6a8a16e34ff2775f646adce0a5027"}, - {file = "numpy-2.2.3-cp310-cp310-win32.whl", hash = "sha256:5ebeb7ef54a7be11044c33a17b2624abe4307a75893c001a4800857956b41094"}, - {file = "numpy-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:596140185c7fa113563c67c2e894eabe0daea18cf8e33851738c19f70ce86aeb"}, - {file = "numpy-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:16372619ee728ed67a2a606a614f56d3eabc5b86f8b615c79d01957062826ca8"}, - {file = "numpy-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5521a06a3148686d9269c53b09f7d399a5725c47bbb5b35747e1cb76326b714b"}, - {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:7c8dde0ca2f77828815fd1aedfdf52e59071a5bae30dac3b4da2a335c672149a"}, - {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:77974aba6c1bc26e3c205c2214f0d5b4305bdc719268b93e768ddb17e3fdd636"}, - {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d42f9c36d06440e34226e8bd65ff065ca0963aeecada587b937011efa02cdc9d"}, - {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2712c5179f40af9ddc8f6727f2bd910ea0eb50206daea75f58ddd9fa3f715bb"}, - {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c8b0451d2ec95010d1db8ca733afc41f659f425b7f608af569711097fd6014e2"}, - {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9b4a8148c57ecac25a16b0e11798cbe88edf5237b0df99973687dd866f05e1b"}, - {file = "numpy-2.2.3-cp311-cp311-win32.whl", hash = "sha256:1f45315b2dc58d8a3e7754fe4e38b6fce132dab284a92851e41b2b344f6441c5"}, - {file = "numpy-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f48ba6f6c13e5e49f3d3efb1b51c8193215c42ac82610a04624906a9270be6f"}, - {file = "numpy-2.2.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12c045f43b1d2915eca6b880a7f4a256f59d62df4f044788c8ba67709412128d"}, - {file = "numpy-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:87eed225fd415bbae787f93a457af7f5990b92a334e346f72070bf569b9c9c95"}, - {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:712a64103d97c404e87d4d7c47fb0c7ff9acccc625ca2002848e0d53288b90ea"}, - {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a5ae282abe60a2db0fd407072aff4599c279bcd6e9a2475500fc35b00a57c532"}, - {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5266de33d4c3420973cf9ae3b98b54a2a6d53a559310e3236c4b2b06b9c07d4e"}, - {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b787adbf04b0db1967798dba8da1af07e387908ed1553a0d6e74c084d1ceafe"}, - {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:34c1b7e83f94f3b564b35f480f5652a47007dd91f7c839f404d03279cc8dd021"}, - {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4d8335b5f1b6e2bce120d55fb17064b0262ff29b459e8493d1785c18ae2553b8"}, - {file = "numpy-2.2.3-cp312-cp312-win32.whl", hash = "sha256:4d9828d25fb246bedd31e04c9e75714a4087211ac348cb39c8c5f99dbb6683fe"}, - {file = "numpy-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:83807d445817326b4bcdaaaf8e8e9f1753da04341eceec705c001ff342002e5d"}, - {file = "numpy-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bfdb06b395385ea9b91bf55c1adf1b297c9fdb531552845ff1d3ea6e40d5aba"}, - {file = "numpy-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:23c9f4edbf4c065fddb10a4f6e8b6a244342d95966a48820c614891e5059bb50"}, - {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:a0c03b6be48aaf92525cccf393265e02773be8fd9551a2f9adbe7db1fa2b60f1"}, - {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:2376e317111daa0a6739e50f7ee2a6353f768489102308b0d98fcf4a04f7f3b5"}, - {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8fb62fe3d206d72fe1cfe31c4a1106ad2b136fcc1606093aeab314f02930fdf2"}, - {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52659ad2534427dffcc36aac76bebdd02b67e3b7a619ac67543bc9bfe6b7cdb1"}, - {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1b416af7d0ed3271cad0f0a0d0bee0911ed7eba23e66f8424d9f3dfcdcae1304"}, - {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1402da8e0f435991983d0a9708b779f95a8c98c6b18a171b9f1be09005e64d9d"}, - {file = "numpy-2.2.3-cp313-cp313-win32.whl", hash = "sha256:136553f123ee2951bfcfbc264acd34a2fc2f29d7cdf610ce7daf672b6fbaa693"}, - {file = "numpy-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:5b732c8beef1d7bc2d9e476dbba20aaff6167bf205ad9aa8d30913859e82884b"}, - {file = "numpy-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:435e7a933b9fda8126130b046975a968cc2d833b505475e588339e09f7672890"}, - {file = "numpy-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7678556eeb0152cbd1522b684dcd215250885993dd00adb93679ec3c0e6e091c"}, - {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2e8da03bd561504d9b20e7a12340870dfc206c64ea59b4cfee9fceb95070ee94"}, - {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:c9aa4496fd0e17e3843399f533d62857cef5900facf93e735ef65aa4bbc90ef0"}, - {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4ca91d61a4bf61b0f2228f24bbfa6a9facd5f8af03759fe2a655c50ae2c6610"}, - {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:deaa09cd492e24fd9b15296844c0ad1b3c976da7907e1c1ed3a0ad21dded6f76"}, - {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:246535e2f7496b7ac85deffe932896a3577be7af8fb7eebe7146444680297e9a"}, - {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:daf43a3d1ea699402c5a850e5313680ac355b4adc9770cd5cfc2940e7861f1bf"}, - {file = "numpy-2.2.3-cp313-cp313t-win32.whl", hash = "sha256:cf802eef1f0134afb81fef94020351be4fe1d6681aadf9c5e862af6602af64ef"}, - {file = "numpy-2.2.3-cp313-cp313t-win_amd64.whl", hash = "sha256:aee2512827ceb6d7f517c8b85aa5d3923afe8fc7a57d028cffcd522f1c6fd082"}, - {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3c2ec8a0f51d60f1e9c0c5ab116b7fc104b165ada3f6c58abf881cb2eb16044d"}, - {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:ed2cf9ed4e8ebc3b754d398cba12f24359f018b416c380f577bbae112ca52fc9"}, - {file = "numpy-2.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39261798d208c3095ae4f7bc8eaeb3481ea8c6e03dc48028057d3cbdbdb8937e"}, - {file = "numpy-2.2.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:783145835458e60fa97afac25d511d00a1eca94d4a8f3ace9fe2043003c678e4"}, - {file = "numpy-2.2.3.tar.gz", hash = "sha256:dbdc15f0c81611925f382dfa97b3bd0bc2c1ce19d4fe50482cb0ddc12ba30020"}, + {file = "numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e"}, + {file = "numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e"}, + {file = "numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715"}, + {file = "numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a"}, + {file = "numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97"}, + {file = "numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957"}, + {file = "numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d"}, + {file = "numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd"}, + {file = "numpy-2.2.2-cp310-cp310-win32.whl", hash = "sha256:159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160"}, + {file = "numpy-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014"}, + {file = "numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189"}, + {file = "numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323"}, + {file = "numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac"}, + {file = "numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e"}, + {file = "numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c"}, + {file = "numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f"}, + {file = "numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826"}, + {file = "numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8"}, + {file = "numpy-2.2.2-cp311-cp311-win32.whl", hash = "sha256:860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50"}, + {file = "numpy-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2"}, + {file = "numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467"}, + {file = "numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a"}, + {file = "numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825"}, + {file = "numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37"}, + {file = "numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748"}, + {file = "numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0"}, + {file = "numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278"}, + {file = "numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba"}, + {file = "numpy-2.2.2-cp312-cp312-win32.whl", hash = "sha256:4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283"}, + {file = "numpy-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb"}, + {file = "numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc"}, + {file = "numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369"}, + {file = "numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd"}, + {file = "numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be"}, + {file = "numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84"}, + {file = "numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff"}, + {file = "numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0"}, + {file = "numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de"}, + {file = "numpy-2.2.2-cp313-cp313-win32.whl", hash = "sha256:4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9"}, + {file = "numpy-2.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369"}, + {file = "numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391"}, + {file = "numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39"}, + {file = "numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317"}, + {file = "numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49"}, + {file = "numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2"}, + {file = "numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7"}, + {file = "numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb"}, + {file = "numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648"}, + {file = "numpy-2.2.2-cp313-cp313t-win32.whl", hash = "sha256:0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4"}, + {file = "numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576"}, + {file = "numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495"}, + {file = "numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df"}, + {file = "numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a"}, + {file = "numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60"}, + {file = "numpy-2.2.2.tar.gz", hash = "sha256:ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f"}, ] [[package]] @@ -1541,7 +1528,7 @@ name = "packaging" version = "24.2" requires_python = ">=3.8" summary = "Core utilities for Python packages" -groups = ["default", "test", "wheel"] +groups = ["default", "wheel"] files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -1558,17 +1545,6 @@ files = [ {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, ] -[[package]] -name = "parameterized" -version = "0.9.0" -requires_python = ">=3.7" -summary = "Parameterized testing with any Python test framework" -groups = ["test"] -files = [ - {file = "parameterized-0.9.0-py2.py3-none-any.whl", hash = "sha256:4e0758e3d41bea3bbd05ec14fc2c24736723f243b28d702081aef438c9372b1b"}, - {file = "parameterized-0.9.0.tar.gz", hash = "sha256:7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1"}, -] - [[package]] name = "parso" version = "0.8.4" @@ -1674,17 +1650,6 @@ files = [ {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] -[[package]] -name = "pluggy" -version = "1.5.0" -requires_python = ">=3.8" -summary = "plugin and hook calling mechanisms for python" -groups = ["test"] -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - [[package]] name = "prometheus-client" version = "0.21.1" @@ -1712,19 +1677,19 @@ files = [ [[package]] name = "psutil" -version = "7.0.0" -requires_python = ">=3.6" -summary = "Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7." +version = "6.1.1" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +summary = "Cross-platform lib for process and system monitoring in Python." groups = ["default"] files = [ - {file = "psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25"}, - {file = "psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da"}, - {file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91"}, - {file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34"}, - {file = "psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993"}, - {file = "psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99"}, - {file = "psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553"}, - {file = "psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456"}, + {file = "psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8"}, + {file = "psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377"}, + {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003"}, + {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160"}, + {file = "psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3"}, + {file = "psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53"}, + {file = "psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649"}, + {file = "psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5"}, ] [[package]] @@ -1775,13 +1740,13 @@ files = [ [[package]] name = "pyelftools" -version = "0.32" +version = "0.31" summary = "Library for analyzing ELF files and DWARF debugging information" groups = ["wheel"] marker = "sys_platform == \"linux\"" files = [ - {file = "pyelftools-0.32-py3-none-any.whl", hash = "sha256:013df952a006db5e138b1edf6d8a68ecc50630adbd0d83a2d41e7f846163d738"}, - {file = "pyelftools-0.32.tar.gz", hash = "sha256:6de90ee7b8263e740c8715a925382d4099b354f29ac48ea40d840cf7aa14ace5"}, + {file = "pyelftools-0.31-py3-none-any.whl", hash = "sha256:f52de7b3c7e8c64c8abc04a79a1cf37ac5fb0b8a49809827130b858944840607"}, + {file = "pyelftools-0.31.tar.gz", hash = "sha256:c774416b10310156879443b81187d182d8d9ee499660380e645918b50bc88f99"}, ] [[package]] @@ -1806,25 +1771,6 @@ files = [ {file = "pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a"}, ] -[[package]] -name = "pytest" -version = "8.3.4" -requires_python = ">=3.8" -summary = "pytest: simple powerful testing with Python" -groups = ["test"] -dependencies = [ - "colorama; sys_platform == \"win32\"", - "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"", - "iniconfig", - "packaging", - "pluggy<2,>=1.5", - "tomli>=1; python_version < \"3.11\"", -] -files = [ - {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, - {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, -] - [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -1876,18 +1822,17 @@ files = [ [[package]] name = "pywinpty" -version = "2.0.15" -requires_python = ">=3.9" +version = "2.0.14" +requires_python = ">=3.8" summary = "Pseudo terminal support for Windows from Python." groups = ["default"] marker = "os_name == \"nt\"" files = [ - {file = "pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e"}, - {file = "pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca"}, - {file = "pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc"}, - {file = "pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408"}, - {file = "pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901"}, - {file = "pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2"}, + {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"}, + {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"}, + {file = "pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737"}, + {file = "pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819"}, + {file = "pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e"}, ] [[package]] @@ -2071,89 +2016,89 @@ files = [ [[package]] name = "rpds-py" -version = "0.23.1" +version = "0.22.3" requires_python = ">=3.9" summary = "Python bindings to Rust's persistent data structures (rpds)" groups = ["default"] files = [ - {file = "rpds_py-0.23.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2a54027554ce9b129fc3d633c92fa33b30de9f08bc61b32c053dc9b537266fed"}, - {file = "rpds_py-0.23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b5ef909a37e9738d146519657a1aab4584018746a18f71c692f2f22168ece40c"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ee9d6f0b38efb22ad94c3b68ffebe4c47865cdf4b17f6806d6c674e1feb4246"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f7356a6da0562190558c4fcc14f0281db191cdf4cb96e7604c06acfcee96df15"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9441af1d25aed96901f97ad83d5c3e35e6cd21a25ca5e4916c82d7dd0490a4fa"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d8abf7896a91fb97e7977d1aadfcc2c80415d6dc2f1d0fca5b8d0df247248f3"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b08027489ba8fedde72ddd233a5ea411b85a6ed78175f40285bd401bde7466d"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fee513135b5a58f3bb6d89e48326cd5aa308e4bcdf2f7d59f67c861ada482bf8"}, - {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:35d5631ce0af26318dba0ae0ac941c534453e42f569011585cb323b7774502a5"}, - {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a20cb698c4a59c534c6701b1c24a968ff2768b18ea2991f886bd8985ce17a89f"}, - {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e9c206a1abc27e0588cf8b7c8246e51f1a16a103734f7750830a1ccb63f557a"}, - {file = "rpds_py-0.23.1-cp310-cp310-win32.whl", hash = "sha256:d9f75a06ecc68f159d5d7603b734e1ff6daa9497a929150f794013aa9f6e3f12"}, - {file = "rpds_py-0.23.1-cp310-cp310-win_amd64.whl", hash = "sha256:f35eff113ad430b5272bbfc18ba111c66ff525828f24898b4e146eb479a2cdda"}, - {file = "rpds_py-0.23.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b79f5ced71efd70414a9a80bbbfaa7160da307723166f09b69773153bf17c590"}, - {file = "rpds_py-0.23.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c9e799dac1ffbe7b10c1fd42fe4cd51371a549c6e108249bde9cd1200e8f59b4"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721f9c4011b443b6e84505fc00cc7aadc9d1743f1c988e4c89353e19c4a968ee"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f88626e3f5e57432e6191cd0c5d6d6b319b635e70b40be2ffba713053e5147dd"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:285019078537949cecd0190f3690a0b0125ff743d6a53dfeb7a4e6787af154f5"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b92f5654157de1379c509b15acec9d12ecf6e3bc1996571b6cb82a4302060447"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e768267cbe051dd8d1c5305ba690bb153204a09bf2e3de3ae530de955f5b5580"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c5334a71f7dc1160382d45997e29f2637c02f8a26af41073189d79b95d3321f1"}, - {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d6adb81564af0cd428910f83fa7da46ce9ad47c56c0b22b50872bc4515d91966"}, - {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:cafa48f2133d4daa028473ede7d81cd1b9f9e6925e9e4003ebdf77010ee02f35"}, - {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fced9fd4a07a1ded1bac7e961ddd9753dd5d8b755ba8e05acba54a21f5f1522"}, - {file = "rpds_py-0.23.1-cp311-cp311-win32.whl", hash = "sha256:243241c95174b5fb7204c04595852fe3943cc41f47aa14c3828bc18cd9d3b2d6"}, - {file = "rpds_py-0.23.1-cp311-cp311-win_amd64.whl", hash = "sha256:11dd60b2ffddba85715d8a66bb39b95ddbe389ad2cfcf42c833f1bcde0878eaf"}, - {file = "rpds_py-0.23.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3902df19540e9af4cc0c3ae75974c65d2c156b9257e91f5101a51f99136d834c"}, - {file = "rpds_py-0.23.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:66f8d2a17e5838dd6fb9be6baaba8e75ae2f5fa6b6b755d597184bfcd3cb0eba"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:112b8774b0b4ee22368fec42749b94366bd9b536f8f74c3d4175d4395f5cbd31"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0df046f2266e8586cf09d00588302a32923eb6386ced0ca5c9deade6af9a149"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3288930b947cbebe767f84cf618d2cbe0b13be476e749da0e6a009f986248c"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce473a2351c018b06dd8d30d5da8ab5a0831056cc53b2006e2a8028172c37ce5"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d550d7e9e7d8676b183b37d65b5cd8de13676a738973d330b59dc8312df9c5dc"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e14f86b871ea74c3fddc9a40e947d6a5d09def5adc2076ee61fb910a9014fb35"}, - {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf5be5ba34e19be579ae873da515a2836a2166d8d7ee43be6ff909eda42b72b"}, - {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d7031d493c4465dbc8d40bd6cafefef4bd472b17db0ab94c53e7909ee781b9ef"}, - {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:55ff4151cfd4bc635e51cfb1c59ac9f7196b256b12e3a57deb9e5742e65941ad"}, - {file = "rpds_py-0.23.1-cp312-cp312-win32.whl", hash = "sha256:a9d3b728f5a5873d84cba997b9d617c6090ca5721caaa691f3b1a78c60adc057"}, - {file = "rpds_py-0.23.1-cp312-cp312-win_amd64.whl", hash = "sha256:b03a8d50b137ee758e4c73638b10747b7c39988eb8e6cd11abb7084266455165"}, - {file = "rpds_py-0.23.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:4caafd1a22e5eaa3732acb7672a497123354bef79a9d7ceed43387d25025e935"}, - {file = "rpds_py-0.23.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:178f8a60fc24511c0eb756af741c476b87b610dba83270fce1e5a430204566a4"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c632419c3870507ca20a37c8f8f5352317aca097639e524ad129f58c125c61c6"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:698a79d295626ee292d1730bc2ef6e70a3ab135b1d79ada8fde3ed0047b65a10"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271fa2184cf28bdded86bb6217c8e08d3a169fe0bbe9be5e8d96e8476b707122"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b91cceb5add79ee563bd1f70b30896bd63bc5f78a11c1f00a1e931729ca4f1f4"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a6cb95074777f1ecda2ca4fa7717caa9ee6e534f42b7575a8f0d4cb0c24013"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:50fb62f8d8364978478b12d5f03bf028c6bc2af04082479299139dc26edf4c64"}, - {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c8f7e90b948dc9dcfff8003f1ea3af08b29c062f681c05fd798e36daa3f7e3e8"}, - {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5b98b6c953e5c2bda51ab4d5b4f172617d462eebc7f4bfdc7c7e6b423f6da957"}, - {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2893d778d4671ee627bac4037a075168b2673c57186fb1a57e993465dbd79a93"}, - {file = "rpds_py-0.23.1-cp313-cp313-win32.whl", hash = "sha256:2cfa07c346a7ad07019c33fb9a63cf3acb1f5363c33bc73014e20d9fe8b01cdd"}, - {file = "rpds_py-0.23.1-cp313-cp313-win_amd64.whl", hash = "sha256:3aaf141d39f45322e44fc2c742e4b8b4098ead5317e5f884770c8df0c332da70"}, - {file = "rpds_py-0.23.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:759462b2d0aa5a04be5b3e37fb8183615f47014ae6b116e17036b131985cb731"}, - {file = "rpds_py-0.23.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3e9212f52074fc9d72cf242a84063787ab8e21e0950d4d6709886fb62bcb91d5"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e9f3a3ac919406bc0414bbbd76c6af99253c507150191ea79fab42fdb35982a"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c04ca91dda8a61584165825907f5c967ca09e9c65fe8966ee753a3f2b019fe1e"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ab923167cfd945abb9b51a407407cf19f5bee35001221f2911dc85ffd35ff4f"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed6f011bedca8585787e5082cce081bac3d30f54520097b2411351b3574e1219"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6959bb9928c5c999aba4a3f5a6799d571ddc2c59ff49917ecf55be2bbb4e3722"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1ed7de3c86721b4e83ac440751329ec6a1102229aa18163f84c75b06b525ad7e"}, - {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5fb89edee2fa237584e532fbf78f0ddd1e49a47c7c8cfa153ab4849dc72a35e6"}, - {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7e5413d2e2d86025e73f05510ad23dad5950ab8417b7fc6beaad99be8077138b"}, - {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d31ed4987d72aabdf521eddfb6a72988703c091cfc0064330b9e5f8d6a042ff5"}, - {file = "rpds_py-0.23.1-cp313-cp313t-win32.whl", hash = "sha256:f3429fb8e15b20961efca8c8b21432623d85db2228cc73fe22756c6637aa39e7"}, - {file = "rpds_py-0.23.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d6f6512a90bd5cd9030a6237f5346f046c6f0e40af98657568fa45695d4de59d"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c1f8afa346ccd59e4e5630d5abb67aba6a9812fddf764fd7eb11f382a345f8cc"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fad784a31869747df4ac968a351e070c06ca377549e4ace94775aaa3ab33ee06"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a96fcac2f18e5a0a23a75cd27ce2656c66c11c127b0318e508aab436b77428"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3e77febf227a1dc3220159355dba68faa13f8dca9335d97504abf428469fb18b"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26bb3e8de93443d55e2e748e9fd87deb5f8075ca7bc0502cfc8be8687d69a2ec"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:db7707dde9143a67b8812c7e66aeb2d843fe33cc8e374170f4d2c50bd8f2472d"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eedaaccc9bb66581d4ae7c50e15856e335e57ef2734dbc5fd8ba3e2a4ab3cb6"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28358c54fffadf0ae893f6c1050e8f8853e45df22483b7fff2f6ab6152f5d8bf"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:633462ef7e61d839171bf206551d5ab42b30b71cac8f10a64a662536e057fdef"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a98f510d86f689fcb486dc59e6e363af04151e5260ad1bdddb5625c10f1e95f8"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e0397dd0b3955c61ef9b22838144aa4bef6f0796ba5cc8edfc64d468b93798b4"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:75307599f0d25bf6937248e5ac4e3bde5ea72ae6618623b86146ccc7845ed00b"}, - {file = "rpds_py-0.23.1.tar.gz", hash = "sha256:7f3240dcfa14d198dba24b8b9cb3b108c06b68d45b7babd9eefc1038fdf7e707"}, + {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"}, + {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"}, + {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"}, + {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"}, + {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"}, + {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"}, + {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"}, + {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"}, + {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"}, + {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"}, + {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"}, + {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"}, + {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"}, + {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"}, + {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"}, + {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"}, + {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"}, + {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"}, + {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"}, + {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"}, + {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"}, + {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"}, + {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"}, + {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"}, + {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"}, + {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"}, + {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"}, + {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"}, + {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"}, + {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"}, + {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"}, + {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"}, + {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"}, + {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"}, + {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"}, + {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, ] [[package]] @@ -2169,13 +2114,13 @@ files = [ [[package]] name = "setuptools" -version = "75.8.2" +version = "75.8.0" requires_python = ">=3.9" summary = "Easily download, build, install, upgrade, and uninstall Python packages" groups = ["default", "wheel"] files = [ - {file = "setuptools-75.8.2-py3-none-any.whl", hash = "sha256:558e47c15f1811c1fa7adbd0096669bf76c1d3f433f58324df69f3f5ecac4e8f"}, - {file = "setuptools-75.8.2.tar.gz", hash = "sha256:4880473a969e5f23f2a2be3646b2dfd84af9028716d398e46192f84bc36900d2"}, + {file = "setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3"}, + {file = "setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6"}, ] [[package]] @@ -2261,7 +2206,7 @@ name = "tomli" version = "2.2.1" requires_python = ">=3.8" summary = "A lil' TOML parser" -groups = ["default", "test"] +groups = ["default"] marker = "python_version < \"3.11\"" files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, @@ -2346,6 +2291,7 @@ version = "4.12.2" requires_python = ">=3.8" summary = "Backported and Experimental Type Hints for Python 3.8+" groups = ["default", "wheel"] +marker = "sys_platform == \"darwin\" or python_version < \"3.13\"" files = [ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, @@ -2430,63 +2376,63 @@ files = [ [[package]] name = "websockets" -version = "15.0" +version = "14.2" requires_python = ">=3.9" summary = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" groups = ["test"] files = [ - {file = "websockets-15.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5e6ee18a53dd5743e6155b8ff7e8e477c25b29b440f87f65be8165275c87fef0"}, - {file = "websockets-15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ee06405ea2e67366a661ed313e14cf2a86e84142a3462852eb96348f7219cee3"}, - {file = "websockets-15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8711682a629bbcaf492f5e0af72d378e976ea1d127a2d47584fa1c2c080b436b"}, - {file = "websockets-15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94c4a9b01eede952442c088d415861b0cf2053cbd696b863f6d5022d4e4e2453"}, - {file = "websockets-15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:45535fead66e873f411c1d3cf0d3e175e66f4dd83c4f59d707d5b3e4c56541c4"}, - {file = "websockets-15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e389efe46ccb25a1f93d08c7a74e8123a2517f7b7458f043bd7529d1a63ffeb"}, - {file = "websockets-15.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:67a04754d121ea5ca39ddedc3f77071651fb5b0bc6b973c71c515415b44ed9c5"}, - {file = "websockets-15.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bd66b4865c8b853b8cca7379afb692fc7f52cf898786537dfb5e5e2d64f0a47f"}, - {file = "websockets-15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a4cc73a6ae0a6751b76e69cece9d0311f054da9b22df6a12f2c53111735657c8"}, - {file = "websockets-15.0-cp310-cp310-win32.whl", hash = "sha256:89da58e4005e153b03fe8b8794330e3f6a9774ee9e1c3bd5bc52eb098c3b0c4f"}, - {file = "websockets-15.0-cp310-cp310-win_amd64.whl", hash = "sha256:4ff380aabd7a74a42a760ee76c68826a8f417ceb6ea415bd574a035a111fd133"}, - {file = "websockets-15.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:dd24c4d256558429aeeb8d6c24ebad4e982ac52c50bc3670ae8646c181263965"}, - {file = "websockets-15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f83eca8cbfd168e424dfa3b3b5c955d6c281e8fc09feb9d870886ff8d03683c7"}, - {file = "websockets-15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4095a1f2093002c2208becf6f9a178b336b7572512ee0a1179731acb7788e8ad"}, - {file = "websockets-15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb915101dfbf318486364ce85662bb7b020840f68138014972c08331458d41f3"}, - {file = "websockets-15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:45d464622314973d78f364689d5dbb9144e559f93dca11b11af3f2480b5034e1"}, - {file = "websockets-15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace960769d60037ca9625b4c578a6f28a14301bd2a1ff13bb00e824ac9f73e55"}, - {file = "websockets-15.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c7cd4b1015d2f60dfe539ee6c95bc968d5d5fad92ab01bb5501a77393da4f596"}, - {file = "websockets-15.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4f7290295794b5dec470867c7baa4a14182b9732603fd0caf2a5bf1dc3ccabf3"}, - {file = "websockets-15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3abd670ca7ce230d5a624fd3d55e055215d8d9b723adee0a348352f5d8d12ff4"}, - {file = "websockets-15.0-cp311-cp311-win32.whl", hash = "sha256:110a847085246ab8d4d119632145224d6b49e406c64f1bbeed45c6f05097b680"}, - {file = "websockets-15.0-cp311-cp311-win_amd64.whl", hash = "sha256:8d7bbbe2cd6ed80aceef2a14e9f1c1b61683194c216472ed5ff33b700e784e37"}, - {file = "websockets-15.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:cccc18077acd34c8072578394ec79563664b1c205f7a86a62e94fafc7b59001f"}, - {file = "websockets-15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d4c22992e24f12de340ca5f824121a5b3e1a37ad4360b4e1aaf15e9d1c42582d"}, - {file = "websockets-15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1206432cc6c644f6fc03374b264c5ff805d980311563202ed7fef91a38906276"}, - {file = "websockets-15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d3cc75ef3e17490042c47e0523aee1bcc4eacd2482796107fd59dd1100a44bc"}, - {file = "websockets-15.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b89504227a5311610e4be16071465885a0a3d6b0e82e305ef46d9b064ce5fb72"}, - {file = "websockets-15.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56e3efe356416bc67a8e093607315951d76910f03d2b3ad49c4ade9207bf710d"}, - {file = "websockets-15.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0f2205cdb444a42a7919690238fb5979a05439b9dbb73dd47c863d39640d85ab"}, - {file = "websockets-15.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:aea01f40995fa0945c020228ab919b8dfc93fc8a9f2d3d705ab5b793f32d9e99"}, - {file = "websockets-15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a9f8e33747b1332db11cf7fcf4a9512bef9748cb5eb4d3f7fbc8c30d75dc6ffc"}, - {file = "websockets-15.0-cp312-cp312-win32.whl", hash = "sha256:32e02a2d83f4954aa8c17e03fe8ec6962432c39aca4be7e8ee346b05a3476904"}, - {file = "websockets-15.0-cp312-cp312-win_amd64.whl", hash = "sha256:ffc02b159b65c05f2ed9ec176b715b66918a674bd4daed48a9a7a590dd4be1aa"}, - {file = "websockets-15.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d2244d8ab24374bed366f9ff206e2619345f9cd7fe79aad5225f53faac28b6b1"}, - {file = "websockets-15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3a302241fbe825a3e4fe07666a2ab513edfdc6d43ce24b79691b45115273b5e7"}, - {file = "websockets-15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:10552fed076757a70ba2c18edcbc601c7637b30cdfe8c24b65171e824c7d6081"}, - {file = "websockets-15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c53f97032b87a406044a1c33d1e9290cc38b117a8062e8a8b285175d7e2f99c9"}, - {file = "websockets-15.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1caf951110ca757b8ad9c4974f5cac7b8413004d2f29707e4d03a65d54cedf2b"}, - {file = "websockets-15.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bf1ab71f9f23b0a1d52ec1682a3907e0c208c12fef9c3e99d2b80166b17905f"}, - {file = "websockets-15.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bfcd3acc1a81f106abac6afd42327d2cf1e77ec905ae11dc1d9142a006a496b6"}, - {file = "websockets-15.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c8c5c8e1bac05ef3c23722e591ef4f688f528235e2480f157a9cfe0a19081375"}, - {file = "websockets-15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:86bfb52a9cfbcc09aba2b71388b0a20ea5c52b6517c0b2e316222435a8cdab72"}, - {file = "websockets-15.0-cp313-cp313-win32.whl", hash = "sha256:26ba70fed190708551c19a360f9d7eca8e8c0f615d19a574292b7229e0ae324c"}, - {file = "websockets-15.0-cp313-cp313-win_amd64.whl", hash = "sha256:ae721bcc8e69846af00b7a77a220614d9b2ec57d25017a6bbde3a99473e41ce8"}, - {file = "websockets-15.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b499caef4bca9cbd0bd23cd3386f5113ee7378094a3cb613a2fa543260fe9506"}, - {file = "websockets-15.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:17f2854c6bd9ee008c4b270f7010fe2da6c16eac5724a175e75010aacd905b31"}, - {file = "websockets-15.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89f72524033abbfde880ad338fd3c2c16e31ae232323ebdfbc745cbb1b3dcc03"}, - {file = "websockets-15.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1657a9eecb29d7838e3b415458cc494e6d1b194f7ac73a34aa55c6fb6c72d1f3"}, - {file = "websockets-15.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e413352a921f5ad5d66f9e2869b977e88d5103fc528b6deb8423028a2befd842"}, - {file = "websockets-15.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8561c48b0090993e3b2a54db480cab1d23eb2c5735067213bb90f402806339f5"}, - {file = "websockets-15.0-py3-none-any.whl", hash = "sha256:51ffd53c53c4442415b613497a34ba0aa7b99ac07f1e4a62db5dcd640ae6c3c3"}, - {file = "websockets-15.0.tar.gz", hash = "sha256:ca36151289a15b39d8d683fd8b7abbe26fc50be311066c5f8dcf3cb8cee107ab"}, + {file = "websockets-14.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e8179f95323b9ab1c11723e5d91a89403903f7b001828161b480a7810b334885"}, + {file = "websockets-14.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d8c3e2cdb38f31d8bd7d9d28908005f6fa9def3324edb9bf336d7e4266fd397"}, + {file = "websockets-14.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:714a9b682deb4339d39ffa674f7b674230227d981a37d5d174a4a83e3978a610"}, + {file = "websockets-14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2e53c72052f2596fb792a7acd9704cbc549bf70fcde8a99e899311455974ca3"}, + {file = "websockets-14.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fbd68850c837e57373d95c8fe352203a512b6e49eaae4c2f4088ef8cf21980"}, + {file = "websockets-14.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b27ece32f63150c268593d5fdb82819584831a83a3f5809b7521df0685cd5d8"}, + {file = "websockets-14.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4daa0faea5424d8713142b33825fff03c736f781690d90652d2c8b053345b0e7"}, + {file = "websockets-14.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bc63cee8596a6ec84d9753fd0fcfa0452ee12f317afe4beae6b157f0070c6c7f"}, + {file = "websockets-14.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a570862c325af2111343cc9b0257b7119b904823c675b22d4ac547163088d0d"}, + {file = "websockets-14.2-cp310-cp310-win32.whl", hash = "sha256:75862126b3d2d505e895893e3deac0a9339ce750bd27b4ba515f008b5acf832d"}, + {file = "websockets-14.2-cp310-cp310-win_amd64.whl", hash = "sha256:cc45afb9c9b2dc0852d5c8b5321759cf825f82a31bfaf506b65bf4668c96f8b2"}, + {file = "websockets-14.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3bdc8c692c866ce5fefcaf07d2b55c91d6922ac397e031ef9b774e5b9ea42166"}, + {file = "websockets-14.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c93215fac5dadc63e51bcc6dceca72e72267c11def401d6668622b47675b097f"}, + {file = "websockets-14.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c9b6535c0e2cf8a6bf938064fb754aaceb1e6a4a51a80d884cd5db569886910"}, + {file = "websockets-14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a52a6d7cf6938e04e9dceb949d35fbdf58ac14deea26e685ab6368e73744e4c"}, + {file = "websockets-14.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f05702e93203a6ff5226e21d9b40c037761b2cfb637187c9802c10f58e40473"}, + {file = "websockets-14.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22441c81a6748a53bfcb98951d58d1af0661ab47a536af08920d129b4d1c3473"}, + {file = "websockets-14.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd9b868d78b194790e6236d9cbc46d68aba4b75b22497eb4ab64fa640c3af56"}, + {file = "websockets-14.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a5a20d5843886d34ff8c57424cc65a1deda4375729cbca4cb6b3353f3ce4142"}, + {file = "websockets-14.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:34277a29f5303d54ec6468fb525d99c99938607bc96b8d72d675dee2b9f5bf1d"}, + {file = "websockets-14.2-cp311-cp311-win32.whl", hash = "sha256:02687db35dbc7d25fd541a602b5f8e451a238ffa033030b172ff86a93cb5dc2a"}, + {file = "websockets-14.2-cp311-cp311-win_amd64.whl", hash = "sha256:862e9967b46c07d4dcd2532e9e8e3c2825e004ffbf91a5ef9dde519ee2effb0b"}, + {file = "websockets-14.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f20522e624d7ffbdbe259c6b6a65d73c895045f76a93719aa10cd93b3de100c"}, + {file = "websockets-14.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:647b573f7d3ada919fd60e64d533409a79dcf1ea21daeb4542d1d996519ca967"}, + {file = "websockets-14.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6af99a38e49f66be5a64b1e890208ad026cda49355661549c507152113049990"}, + {file = "websockets-14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:091ab63dfc8cea748cc22c1db2814eadb77ccbf82829bac6b2fbe3401d548eda"}, + {file = "websockets-14.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b374e8953ad477d17e4851cdc66d83fdc2db88d9e73abf755c94510ebddceb95"}, + {file = "websockets-14.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a39d7eceeea35db85b85e1169011bb4321c32e673920ae9c1b6e0978590012a3"}, + {file = "websockets-14.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0a6f3efd47ffd0d12080594f434faf1cd2549b31e54870b8470b28cc1d3817d9"}, + {file = "websockets-14.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:065ce275e7c4ffb42cb738dd6b20726ac26ac9ad0a2a48e33ca632351a737267"}, + {file = "websockets-14.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e9d0e53530ba7b8b5e389c02282f9d2aa47581514bd6049d3a7cffe1385cf5fe"}, + {file = "websockets-14.2-cp312-cp312-win32.whl", hash = "sha256:20e6dd0984d7ca3037afcb4494e48c74ffb51e8013cac71cf607fffe11df7205"}, + {file = "websockets-14.2-cp312-cp312-win_amd64.whl", hash = "sha256:44bba1a956c2c9d268bdcdf234d5e5ff4c9b6dc3e300545cbe99af59dda9dcce"}, + {file = "websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f1372e511c7409a542291bce92d6c83320e02c9cf392223272287ce55bc224e"}, + {file = "websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4da98b72009836179bb596a92297b1a61bb5a830c0e483a7d0766d45070a08ad"}, + {file = "websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8a86a269759026d2bde227652b87be79f8a734e582debf64c9d302faa1e9f03"}, + {file = "websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86cf1aaeca909bf6815ea714d5c5736c8d6dd3a13770e885aafe062ecbd04f1f"}, + {file = "websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9b0f6c3ba3b1240f602ebb3971d45b02cc12bd1845466dd783496b3b05783a5"}, + {file = "websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669c3e101c246aa85bc8534e495952e2ca208bd87994650b90a23d745902db9a"}, + {file = "websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eabdb28b972f3729348e632ab08f2a7b616c7e53d5414c12108c29972e655b20"}, + {file = "websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2066dc4cbcc19f32c12a5a0e8cc1b7ac734e5b64ac0a325ff8353451c4b15ef2"}, + {file = "websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ab95d357cd471df61873dadf66dd05dd4709cae001dd6342edafc8dc6382f307"}, + {file = "websockets-14.2-cp313-cp313-win32.whl", hash = "sha256:a9e72fb63e5f3feacdcf5b4ff53199ec8c18d66e325c34ee4c551ca748623bbc"}, + {file = "websockets-14.2-cp313-cp313-win_amd64.whl", hash = "sha256:b439ea828c4ba99bb3176dc8d9b933392a2413c0f6b149fdcba48393f573377f"}, + {file = "websockets-14.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d7d9cafbccba46e768be8a8ad4635fa3eae1ffac4c6e7cb4eb276ba41297ed29"}, + {file = "websockets-14.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c76193c1c044bd1e9b3316dcc34b174bbf9664598791e6fb606d8d29000e070c"}, + {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd475a974d5352390baf865309fe37dec6831aafc3014ffac1eea99e84e83fc2"}, + {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c6c0097a41968b2e2b54ed3424739aab0b762ca92af2379f152c1aef0187e1c"}, + {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d7ff794c8b36bc402f2e07c0b2ceb4a2424147ed4785ff03e2a7af03711d60a"}, + {file = "websockets-14.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dec254fcabc7bd488dab64846f588fc5b6fe0d78f641180030f8ea27b76d72c3"}, + {file = "websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b"}, + {file = "websockets-14.2.tar.gz", hash = "sha256:5059ed9c54945efb321f097084b4c7e52c246f2c869815876a69d1efc4ad6eb5"}, ] [[package]] From d1de7df13a004d38228ba0e0769508a9b8b8d20d Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Mon, 10 Mar 2025 13:37:54 -0400 Subject: [PATCH 37/46] removed documentation stanza from cpplint_internal module --- tools/workspace/cpplint_internal/package.BUILD.bazel | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tools/workspace/cpplint_internal/package.BUILD.bazel b/tools/workspace/cpplint_internal/package.BUILD.bazel index f604bc9ebf26..c68678725bff 100644 --- a/tools/workspace/cpplint_internal/package.BUILD.bazel +++ b/tools/workspace/cpplint_internal/package.BUILD.bazel @@ -6,12 +6,6 @@ licenses(["notice"]) # BSD-3-Clause package(default_visibility = ["//visibility:public"]) -# Export doc files for website publication. -exports_files(glob([ - "*", - "include/*", -], allow_empty = True)) - py_binary( name = "cpplint", srcs = [ From 973a7dbd8f39f6d16d9d53d7ecc51ad01eae9440 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Mon, 10 Mar 2025 13:45:32 -0400 Subject: [PATCH 38/46] reverted changes in crate_universe/lock and rust_toolchain/lock --- .../crate_universe/lock/details/defs.bzl | 1 + ...arch64__aarch64-apple-darwin__stable.bazel | 12 ++--- ...__aarch64-apple-darwin__stable_tools.bazel | 44 +++++++++---------- ..._x86_64__x86_64-apple-darwin__stable.bazel | 12 ++--- ...4__x86_64-apple-darwin__stable_tools.bazel | 44 +++++++++---------- ...4__aarch64-unknown-linux-gnu__stable.bazel | 12 ++--- ...ch64-unknown-linux-gnu__stable_tools.bazel | 44 +++++++++---------- ...64__x86_64-unknown-linux-gnu__stable.bazel | 12 ++--- ...6_64-unknown-linux-gnu__stable_tools.bazel | 44 +++++++++---------- 9 files changed, 97 insertions(+), 128 deletions(-) diff --git a/tools/workspace/crate_universe/lock/details/defs.bzl b/tools/workspace/crate_universe/lock/details/defs.bzl index 6ee7b6340b35..59dc3f874a37 100644 --- a/tools/workspace/crate_universe/lock/details/defs.bzl +++ b/tools/workspace/crate_universe/lock/details/defs.bzl @@ -399,3 +399,4 @@ _CONDITIONS = { } ############################################################################### + diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable.bazel index 99183fa82031..0914718e464b 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable.bazel @@ -2,15 +2,9 @@ toolchain( name = "toolchain", - exec_compatible_with = [ - "@platforms//cpu:aarch64", - "@platforms//os:osx", - ], - target_compatible_with = [ - "@platforms//cpu:aarch64", - "@platforms//os:osx", - ], - target_settings = ["@rules_rust//rust/toolchain/channel:stable"], + exec_compatible_with = ["@platforms//cpu:aarch64","@platforms//os:osx"], + target_compatible_with = ["@platforms//cpu:aarch64","@platforms//os:osx"], toolchain = "@rust_darwin_aarch64__aarch64-apple-darwin__stable_tools//:rust_toolchain", toolchain_type = "@rules_rust//rust:toolchain", + target_settings = ["@rules_rust//rust/toolchain/channel:stable"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable_tools.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable_tools.bazel index 2e5a3b944f10..6ac60e768a46 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable_tools.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_aarch64__aarch64-apple-darwin__stable_tools.bazel @@ -1,8 +1,5 @@ # This file is automatically generated by upgrade.py. -load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup", "rust_toolchain") -load("@rules_shell//shell:sh_binary.bzl", "sh_binary") - filegroup( name = "rustc", srcs = ["bin/rustc"], @@ -35,7 +32,6 @@ filegroup( srcs = ["bin/clippy-driver"], visibility = ["//visibility:public"], ) - filegroup( name = "cargo_clippy_bin", srcs = ["bin/cargo-clippy"], @@ -47,6 +43,7 @@ filegroup( srcs = ["bin/cargo"], visibility = ["//visibility:public"], ) +load("@rules_shell//shell:sh_binary.bzl", "sh_binary") filegroup( name = "rustfmt_bin", @@ -72,6 +69,8 @@ filegroup( visibility = ["//visibility:public"], ) +load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup") + rust_stdlib_filegroup( name = "rust_std-aarch64-apple-darwin", srcs = glob( @@ -94,33 +93,32 @@ alias( visibility = ["//visibility:public"], ) +load("@rules_rust//rust:toolchain.bzl", "rust_toolchain") + rust_toolchain( name = "rust_toolchain", - allocator_library = "@rules_rust//ffi/cc/allocator_library", - binary_ext = "", + rust_doc = "//:rustdoc", + rust_std = "//:rust_std-aarch64-apple-darwin", + rustc = "//:rustc", + rustfmt = "//:rustfmt_bin", cargo = "//:cargo", - cargo_clippy = "//:cargo_clippy_bin", clippy_driver = "//:clippy_driver_bin", - default_edition = "", - dylib_ext = ".dylib", - exec_triple = "aarch64-apple-darwin", - extra_exec_rustc_flags = [], - extra_rustc_flags = [], - global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", + cargo_clippy = "//:cargo_clippy_bin", llvm_cov = "//:llvm_cov_bin", llvm_profdata = "//:llvm_profdata_bin", - opt_level = None, - rust_doc = "//:rustdoc", - rust_std = "//:rust_std-aarch64-apple-darwin", - rustc = "//:rustc", rustc_lib = "//:rustc_lib", - rustfmt = "//:rustfmt_bin", + allocator_library = "@rules_rust//ffi/cc/allocator_library", + global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", + binary_ext = "", staticlib_ext = ".a", - stdlib_linkflags = [ - "-lSystem", - "-lresolv", - ], - tags = ["rust_version=1.83.0"], + dylib_ext = ".dylib", + stdlib_linkflags = ["-lSystem", "-lresolv"], + default_edition = "", + exec_triple = "aarch64-apple-darwin", target_triple = "aarch64-apple-darwin", visibility = ["//visibility:public"], + extra_rustc_flags = [], + extra_exec_rustc_flags = [], + opt_level = None, + tags = ["rust_version=1.83.0"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable.bazel index 18cbb04f7949..25908951d1ed 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable.bazel @@ -2,15 +2,9 @@ toolchain( name = "toolchain", - exec_compatible_with = [ - "@platforms//cpu:x86_64", - "@platforms//os:osx", - ], - target_compatible_with = [ - "@platforms//cpu:x86_64", - "@platforms//os:osx", - ], - target_settings = ["@rules_rust//rust/toolchain/channel:stable"], + exec_compatible_with = ["@platforms//cpu:x86_64","@platforms//os:osx"], + target_compatible_with = ["@platforms//cpu:x86_64","@platforms//os:osx"], toolchain = "@rust_darwin_x86_64__x86_64-apple-darwin__stable_tools//:rust_toolchain", toolchain_type = "@rules_rust//rust:toolchain", + target_settings = ["@rules_rust//rust/toolchain/channel:stable"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable_tools.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable_tools.bazel index c196b4bb3365..5cfc727d3843 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable_tools.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_darwin_x86_64__x86_64-apple-darwin__stable_tools.bazel @@ -1,8 +1,5 @@ # This file is automatically generated by upgrade.py. -load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup", "rust_toolchain") -load("@rules_shell//shell:sh_binary.bzl", "sh_binary") - filegroup( name = "rustc", srcs = ["bin/rustc"], @@ -35,7 +32,6 @@ filegroup( srcs = ["bin/clippy-driver"], visibility = ["//visibility:public"], ) - filegroup( name = "cargo_clippy_bin", srcs = ["bin/cargo-clippy"], @@ -47,6 +43,7 @@ filegroup( srcs = ["bin/cargo"], visibility = ["//visibility:public"], ) +load("@rules_shell//shell:sh_binary.bzl", "sh_binary") filegroup( name = "rustfmt_bin", @@ -72,6 +69,8 @@ filegroup( visibility = ["//visibility:public"], ) +load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup") + rust_stdlib_filegroup( name = "rust_std-x86_64-apple-darwin", srcs = glob( @@ -94,33 +93,32 @@ alias( visibility = ["//visibility:public"], ) +load("@rules_rust//rust:toolchain.bzl", "rust_toolchain") + rust_toolchain( name = "rust_toolchain", - allocator_library = "@rules_rust//ffi/cc/allocator_library", - binary_ext = "", + rust_doc = "//:rustdoc", + rust_std = "//:rust_std-x86_64-apple-darwin", + rustc = "//:rustc", + rustfmt = "//:rustfmt_bin", cargo = "//:cargo", - cargo_clippy = "//:cargo_clippy_bin", clippy_driver = "//:clippy_driver_bin", - default_edition = "", - dylib_ext = ".dylib", - exec_triple = "x86_64-apple-darwin", - extra_exec_rustc_flags = [], - extra_rustc_flags = [], - global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", + cargo_clippy = "//:cargo_clippy_bin", llvm_cov = "//:llvm_cov_bin", llvm_profdata = "//:llvm_profdata_bin", - opt_level = None, - rust_doc = "//:rustdoc", - rust_std = "//:rust_std-x86_64-apple-darwin", - rustc = "//:rustc", rustc_lib = "//:rustc_lib", - rustfmt = "//:rustfmt_bin", + allocator_library = "@rules_rust//ffi/cc/allocator_library", + global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", + binary_ext = "", staticlib_ext = ".a", - stdlib_linkflags = [ - "-lSystem", - "-lresolv", - ], - tags = ["rust_version=1.83.0"], + dylib_ext = ".dylib", + stdlib_linkflags = ["-lSystem", "-lresolv"], + default_edition = "", + exec_triple = "x86_64-apple-darwin", target_triple = "x86_64-apple-darwin", visibility = ["//visibility:public"], + extra_rustc_flags = [], + extra_exec_rustc_flags = [], + opt_level = None, + tags = ["rust_version=1.83.0"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable.bazel index 43d2f6f8d464..808ca52c01ac 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable.bazel @@ -2,15 +2,9 @@ toolchain( name = "toolchain", - exec_compatible_with = [ - "@platforms//cpu:aarch64", - "@platforms//os:linux", - ], - target_compatible_with = [ - "@platforms//cpu:aarch64", - "@platforms//os:linux", - ], - target_settings = ["@rules_rust//rust/toolchain/channel:stable"], + exec_compatible_with = ["@platforms//cpu:aarch64","@platforms//os:linux"], + target_compatible_with = ["@platforms//cpu:aarch64","@platforms//os:linux"], toolchain = "@rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools//:rust_toolchain", toolchain_type = "@rules_rust//rust:toolchain", + target_settings = ["@rules_rust//rust/toolchain/channel:stable"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools.bazel index 5c9634ae30b3..9c06583f2e36 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_aarch64__aarch64-unknown-linux-gnu__stable_tools.bazel @@ -1,8 +1,5 @@ # This file is automatically generated by upgrade.py. -load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup", "rust_toolchain") -load("@rules_shell//shell:sh_binary.bzl", "sh_binary") - filegroup( name = "rustc", srcs = ["bin/rustc"], @@ -35,7 +32,6 @@ filegroup( srcs = ["bin/clippy-driver"], visibility = ["//visibility:public"], ) - filegroup( name = "cargo_clippy_bin", srcs = ["bin/cargo-clippy"], @@ -47,6 +43,7 @@ filegroup( srcs = ["bin/cargo"], visibility = ["//visibility:public"], ) +load("@rules_shell//shell:sh_binary.bzl", "sh_binary") filegroup( name = "rustfmt_bin", @@ -72,6 +69,8 @@ filegroup( visibility = ["//visibility:public"], ) +load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup") + rust_stdlib_filegroup( name = "rust_std-aarch64-unknown-linux-gnu", srcs = glob( @@ -94,33 +93,32 @@ alias( visibility = ["//visibility:public"], ) +load("@rules_rust//rust:toolchain.bzl", "rust_toolchain") + rust_toolchain( name = "rust_toolchain", - allocator_library = "@rules_rust//ffi/cc/allocator_library", - binary_ext = "", + rust_doc = "//:rustdoc", + rust_std = "//:rust_std-aarch64-unknown-linux-gnu", + rustc = "//:rustc", + rustfmt = "//:rustfmt_bin", cargo = "//:cargo", - cargo_clippy = "//:cargo_clippy_bin", clippy_driver = "//:clippy_driver_bin", - default_edition = "", - dylib_ext = ".so", - exec_triple = "aarch64-unknown-linux-gnu", - extra_exec_rustc_flags = [], - extra_rustc_flags = [], - global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", + cargo_clippy = "//:cargo_clippy_bin", llvm_cov = "//:llvm_cov_bin", llvm_profdata = "//:llvm_profdata_bin", - opt_level = None, - rust_doc = "//:rustdoc", - rust_std = "//:rust_std-aarch64-unknown-linux-gnu", - rustc = "//:rustc", rustc_lib = "//:rustc_lib", - rustfmt = "//:rustfmt_bin", + allocator_library = "@rules_rust//ffi/cc/allocator_library", + global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", + binary_ext = "", staticlib_ext = ".a", - stdlib_linkflags = [ - "-ldl", - "-lpthread", - ], - tags = ["rust_version=1.83.0"], + dylib_ext = ".so", + stdlib_linkflags = ["-ldl", "-lpthread"], + default_edition = "", + exec_triple = "aarch64-unknown-linux-gnu", target_triple = "aarch64-unknown-linux-gnu", visibility = ["//visibility:public"], + extra_rustc_flags = [], + extra_exec_rustc_flags = [], + opt_level = None, + tags = ["rust_version=1.83.0"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable.bazel index ad6f8d9ddaa5..551659314fb0 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable.bazel @@ -2,15 +2,9 @@ toolchain( name = "toolchain", - exec_compatible_with = [ - "@platforms//cpu:x86_64", - "@platforms//os:linux", - ], - target_compatible_with = [ - "@platforms//cpu:x86_64", - "@platforms//os:linux", - ], - target_settings = ["@rules_rust//rust/toolchain/channel:stable"], + exec_compatible_with = ["@platforms//cpu:x86_64","@platforms//os:linux"], + target_compatible_with = ["@platforms//cpu:x86_64","@platforms//os:linux"], toolchain = "@rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools//:rust_toolchain", toolchain_type = "@rules_rust//rust:toolchain", + target_settings = ["@rules_rust//rust/toolchain/channel:stable"], ) diff --git a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools.bazel b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools.bazel index 0b02cd4466f2..8be703e646f2 100644 --- a/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools.bazel +++ b/tools/workspace/rust_toolchain/lock/details/BUILD.rust_linux_x86_64__x86_64-unknown-linux-gnu__stable_tools.bazel @@ -1,8 +1,5 @@ # This file is automatically generated by upgrade.py. -load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup", "rust_toolchain") -load("@rules_shell//shell:sh_binary.bzl", "sh_binary") - filegroup( name = "rustc", srcs = ["bin/rustc"], @@ -35,7 +32,6 @@ filegroup( srcs = ["bin/clippy-driver"], visibility = ["//visibility:public"], ) - filegroup( name = "cargo_clippy_bin", srcs = ["bin/cargo-clippy"], @@ -47,6 +43,7 @@ filegroup( srcs = ["bin/cargo"], visibility = ["//visibility:public"], ) +load("@rules_shell//shell:sh_binary.bzl", "sh_binary") filegroup( name = "rustfmt_bin", @@ -72,6 +69,8 @@ filegroup( visibility = ["//visibility:public"], ) +load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup") + rust_stdlib_filegroup( name = "rust_std-x86_64-unknown-linux-gnu", srcs = glob( @@ -94,33 +93,32 @@ alias( visibility = ["//visibility:public"], ) +load("@rules_rust//rust:toolchain.bzl", "rust_toolchain") + rust_toolchain( name = "rust_toolchain", - allocator_library = "@rules_rust//ffi/cc/allocator_library", - binary_ext = "", + rust_doc = "//:rustdoc", + rust_std = "//:rust_std-x86_64-unknown-linux-gnu", + rustc = "//:rustc", + rustfmt = "//:rustfmt_bin", cargo = "//:cargo", - cargo_clippy = "//:cargo_clippy_bin", clippy_driver = "//:clippy_driver_bin", - default_edition = "", - dylib_ext = ".so", - exec_triple = "x86_64-unknown-linux-gnu", - extra_exec_rustc_flags = [], - extra_rustc_flags = [], - global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", + cargo_clippy = "//:cargo_clippy_bin", llvm_cov = "//:llvm_cov_bin", llvm_profdata = "//:llvm_profdata_bin", - opt_level = None, - rust_doc = "//:rustdoc", - rust_std = "//:rust_std-x86_64-unknown-linux-gnu", - rustc = "//:rustc", rustc_lib = "//:rustc_lib", - rustfmt = "//:rustfmt_bin", + allocator_library = "@rules_rust//ffi/cc/allocator_library", + global_allocator_library = "@rules_rust//ffi/cc/global_allocator_library", + binary_ext = "", staticlib_ext = ".a", - stdlib_linkflags = [ - "-ldl", - "-lpthread", - ], - tags = ["rust_version=1.83.0"], + dylib_ext = ".so", + stdlib_linkflags = ["-ldl", "-lpthread"], + default_edition = "", + exec_triple = "x86_64-unknown-linux-gnu", target_triple = "x86_64-unknown-linux-gnu", visibility = ["//visibility:public"], + extra_rustc_flags = [], + extra_exec_rustc_flags = [], + opt_level = None, + tags = ["rust_version=1.83.0"], ) From a1d3948a9d5cf680de5ba6b15a14db620b4df9b4 Mon Sep 17 00:00:00 2001 From: Aiden McCormack <89662634+Aiden2244@users.noreply.github.com> Date: Mon, 10 Mar 2025 13:49:10 -0400 Subject: [PATCH 39/46] Delete venv --- venv | 1 - 1 file changed, 1 deletion(-) delete mode 120000 venv diff --git a/venv b/venv deleted file mode 120000 index b5a707a89834..000000000000 --- a/venv +++ /dev/null @@ -1 +0,0 @@ -/private/var/tmp/_bazel_aiden.mccormack/6c6b3e0c3456762a7f497c30d14b5e35.drake_python/venv.drake \ No newline at end of file From 71ac9daed98efcb60066bbb0ce10bfdcbb84ec1c Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Mon, 10 Mar 2025 15:03:22 -0400 Subject: [PATCH 40/46] restored pdm.lock to master branch version --- setup/python/pdm.lock | 614 +++++++++++++++++++++--------------------- 1 file changed, 308 insertions(+), 306 deletions(-) diff --git a/setup/python/pdm.lock b/setup/python/pdm.lock index bfb94ab97620..04cf8246aeee 100644 --- a/setup/python/pdm.lock +++ b/setup/python/pdm.lock @@ -157,7 +157,7 @@ files = [ [[package]] name = "babel" -version = "2.16.0" +version = "2.17.0" requires_python = ">=3.8" summary = "Internationalization utilities" groups = ["default"] @@ -165,22 +165,23 @@ dependencies = [ "pytz>=2015.7; python_version < \"3.9\"", ] files = [ - {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, - {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, + {file = "babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"}, + {file = "babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d"}, ] [[package]] name = "beautifulsoup4" -version = "4.12.3" -requires_python = ">=3.6.0" +version = "4.13.3" +requires_python = ">=3.7.0" summary = "Screen-scraping library" groups = ["default"] dependencies = [ "soupsieve>1.2", + "typing-extensions>=4.0.0", ] files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, + {file = "beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16"}, + {file = "beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b"}, ] [[package]] @@ -226,13 +227,13 @@ files = [ [[package]] name = "certifi" -version = "2024.12.14" +version = "2025.1.31" requires_python = ">=3.6" summary = "Python package for providing Mozilla's CA Bundle." groups = ["default"] files = [ - {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, - {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, + {file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, + {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, ] [[package]] @@ -504,13 +505,13 @@ files = [ [[package]] name = "decorator" -version = "5.1.1" -requires_python = ">=3.5" +version = "5.2.1" +requires_python = ">=3.8" summary = "Decorators for Humans" groups = ["default"] files = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, + {file = "decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a"}, + {file = "decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360"}, ] [[package]] @@ -595,45 +596,45 @@ files = [ [[package]] name = "fonttools" -version = "4.55.8" +version = "4.56.0" requires_python = ">=3.8" summary = "Tools to manipulate font files" groups = ["default"] files = [ - {file = "fonttools-4.55.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d11600f5343092697d7434f3bf77a393c7ae74be206fe30e577b9a195fd53165"}, - {file = "fonttools-4.55.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c96f2506ce1a0beeaa9595f9a8b7446477eb133f40c0e41fc078744c28149f80"}, - {file = "fonttools-4.55.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b5f05ef72e846e9f49ccdd74b9da4309901a4248434c63c1ee9321adcb51d65"}, - {file = "fonttools-4.55.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba45b637da80a262b55b7657aec68da2ac54b8ae7891cd977a5dbe5fd26db429"}, - {file = "fonttools-4.55.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:edcffaeadba9a334c1c3866e275d7dd495465e7dbd296f688901bdbd71758113"}, - {file = "fonttools-4.55.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b9f9fce3c9b2196e162182ec5db8af8eb3acd0d76c2eafe9fdba5f370044e556"}, - {file = "fonttools-4.55.8-cp310-cp310-win32.whl", hash = "sha256:f089e8da0990cfe2d67e81d9cf581ff372b48dc5acf2782701844211cd1f0eb3"}, - {file = "fonttools-4.55.8-cp310-cp310-win_amd64.whl", hash = "sha256:01ea3901b0802fc5f9e854f5aeb5bc27770dd9dd24c28df8f74ba90f8b3f5915"}, - {file = "fonttools-4.55.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:95f5a1d4432b3cea6571f5ce4f4e9b25bf36efbd61c32f4f90130a690925d6ee"}, - {file = "fonttools-4.55.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d20f152de7625a0008ba1513f126daaaa0de3b4b9030aa72dd5c27294992260"}, - {file = "fonttools-4.55.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5a3ff5bb95fd5a3962b2754f8435e6d930c84fc9e9921c51e802dddf40acd56"}, - {file = "fonttools-4.55.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b99d4fd2b6d0a00c7336c8363fccc7a11eccef4b17393af75ca6e77cf93ff413"}, - {file = "fonttools-4.55.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d637e4d33e46619c79d1a6c725f74d71b574cd15fb5bbb9b6f3eba8f28363573"}, - {file = "fonttools-4.55.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0f38bfb6b7a39c4162c3eb0820a0bdf8e3bdd125cd54e10ba242397d15e32439"}, - {file = "fonttools-4.55.8-cp311-cp311-win32.whl", hash = "sha256:acfec948de41cd5e640d5c15d0200e8b8e7c5c6bb82afe1ca095cbc4af1188ee"}, - {file = "fonttools-4.55.8-cp311-cp311-win_amd64.whl", hash = "sha256:604c805b41241b4880e2dc86cf2d4754c06777371c8299799ac88d836cb18c3b"}, - {file = "fonttools-4.55.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63403ee0f2fa4e1de28e539f8c24f2bdca1d8ecb503fa9ea2d231d9f1e729809"}, - {file = "fonttools-4.55.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:302e1003a760b222f711d5ba6d1ad7fd5f7f713eb872cd6a3eb44390bc9770af"}, - {file = "fonttools-4.55.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e72a7816ff8a759be9ca36ca46934f8ccf4383711ef597d9240306fe1878cb8d"}, - {file = "fonttools-4.55.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03c2b50b54e6e8b3564b232e57e8f58be217cf441cf0155745d9e44a76f9c30f"}, - {file = "fonttools-4.55.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7230f7590f9570d26ee903b6a4540274494e200fae978df0d9325b7b9144529"}, - {file = "fonttools-4.55.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:466a78984f0572305c3c48377f4e3f7f4e909f1209f45ef8e7041d5c8a744a56"}, - {file = "fonttools-4.55.8-cp312-cp312-win32.whl", hash = "sha256:243cbfc0b7cb1c307af40e321f8343a48d0a080bc1f9466cf2b5468f776ef108"}, - {file = "fonttools-4.55.8-cp312-cp312-win_amd64.whl", hash = "sha256:a19059aa892676822c1f05cb5a67296ecdfeb267fe7c47d4758f3e8e942c2b2a"}, - {file = "fonttools-4.55.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:332883b6280b9d90d2ba7e9e81be77cf2ace696161e60cdcf40cfcd2b3ed06fa"}, - {file = "fonttools-4.55.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6b8d7c149d47b47de7ec81763396c8266e5ebe2e0b14aa9c3ccf29e52260ab2f"}, - {file = "fonttools-4.55.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4dfae7c94987149bdaa0388e6c937566aa398fa0eec973b17952350a069cff4e"}, - {file = "fonttools-4.55.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0fe12f06169af2fdc642d26a8df53e40adc3beedbd6ffedb19f1c5397b63afd"}, - {file = "fonttools-4.55.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f971aa5f50c22dc4b63a891503624ae2c77330429b34ead32f23c2260c5618cd"}, - {file = "fonttools-4.55.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:708cb17b2590b7f6c6854999df0039ff1140dda9e6f56d67c3599ba6f968fab5"}, - {file = "fonttools-4.55.8-cp313-cp313-win32.whl", hash = "sha256:cfe9cf30f391a0f2875247a3e5e44d8dcb61596e5cf89b360cdffec8a80e9961"}, - {file = "fonttools-4.55.8-cp313-cp313-win_amd64.whl", hash = "sha256:1e10efc8ee10d6f1fe2931d41bccc90cd4b872f2ee4ff21f2231a2c293b2dbf8"}, - {file = "fonttools-4.55.8-py3-none-any.whl", hash = "sha256:07636dae94f7fe88561f9da7a46b13d8e3f529f87fdb221b11d85f91eabceeb7"}, - {file = "fonttools-4.55.8.tar.gz", hash = "sha256:54d481d456dcd59af25d4a9c56b2c4c3f20e9620b261b84144e5950f33e8df17"}, + {file = "fonttools-4.56.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:331954d002dbf5e704c7f3756028e21db07097c19722569983ba4d74df014000"}, + {file = "fonttools-4.56.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d1613abd5af2f93c05867b3a3759a56e8bf97eb79b1da76b2bc10892f96ff16"}, + {file = "fonttools-4.56.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:705837eae384fe21cee5e5746fd4f4b2f06f87544fa60f60740007e0aa600311"}, + {file = "fonttools-4.56.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc871904a53a9d4d908673c6faa15689874af1c7c5ac403a8e12d967ebd0c0dc"}, + {file = "fonttools-4.56.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38b947de71748bab150259ee05a775e8a0635891568e9fdb3cdd7d0e0004e62f"}, + {file = "fonttools-4.56.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:86b2a1013ef7a64d2e94606632683f07712045ed86d937c11ef4dde97319c086"}, + {file = "fonttools-4.56.0-cp310-cp310-win32.whl", hash = "sha256:133bedb9a5c6376ad43e6518b7e2cd2f866a05b1998f14842631d5feb36b5786"}, + {file = "fonttools-4.56.0-cp310-cp310-win_amd64.whl", hash = "sha256:17f39313b649037f6c800209984a11fc256a6137cbe5487091c6c7187cae4685"}, + {file = "fonttools-4.56.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ef04bc7827adb7532be3d14462390dd71287644516af3f1e67f1e6ff9c6d6df"}, + {file = "fonttools-4.56.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ffda9b8cd9cb8b301cae2602ec62375b59e2e2108a117746f12215145e3f786c"}, + {file = "fonttools-4.56.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e993e8db36306cc3f1734edc8ea67906c55f98683d6fd34c3fc5593fdbba4c"}, + {file = "fonttools-4.56.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:003548eadd674175510773f73fb2060bb46adb77c94854af3e0cc5bc70260049"}, + {file = "fonttools-4.56.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd9825822e7bb243f285013e653f6741954d8147427aaa0324a862cdbf4cbf62"}, + {file = "fonttools-4.56.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b23d30a2c0b992fb1c4f8ac9bfde44b5586d23457759b6cf9a787f1a35179ee0"}, + {file = "fonttools-4.56.0-cp311-cp311-win32.whl", hash = "sha256:47b5e4680002ae1756d3ae3b6114e20aaee6cc5c69d1e5911f5ffffd3ee46c6b"}, + {file = "fonttools-4.56.0-cp311-cp311-win_amd64.whl", hash = "sha256:14a3e3e6b211660db54ca1ef7006401e4a694e53ffd4553ab9bc87ead01d0f05"}, + {file = "fonttools-4.56.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d6f195c14c01bd057bc9b4f70756b510e009c83c5ea67b25ced3e2c38e6ee6e9"}, + {file = "fonttools-4.56.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa760e5fe8b50cbc2d71884a1eff2ed2b95a005f02dda2fa431560db0ddd927f"}, + {file = "fonttools-4.56.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54a45d30251f1d729e69e5b675f9a08b7da413391a1227781e2a297fa37f6d2"}, + {file = "fonttools-4.56.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:661a8995d11e6e4914a44ca7d52d1286e2d9b154f685a4d1f69add8418961563"}, + {file = "fonttools-4.56.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d94449ad0a5f2a8bf5d2f8d71d65088aee48adbe45f3c5f8e00e3ad861ed81a"}, + {file = "fonttools-4.56.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f59746f7953f69cc3290ce2f971ab01056e55ddd0fb8b792c31a8acd7fee2d28"}, + {file = "fonttools-4.56.0-cp312-cp312-win32.whl", hash = "sha256:bce60f9a977c9d3d51de475af3f3581d9b36952e1f8fc19a1f2254f1dda7ce9c"}, + {file = "fonttools-4.56.0-cp312-cp312-win_amd64.whl", hash = "sha256:300c310bb725b2bdb4f5fc7e148e190bd69f01925c7ab437b9c0ca3e1c7cd9ba"}, + {file = "fonttools-4.56.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f20e2c0dfab82983a90f3d00703ac0960412036153e5023eed2b4641d7d5e692"}, + {file = "fonttools-4.56.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f36a0868f47b7566237640c026c65a86d09a3d9ca5df1cd039e30a1da73098a0"}, + {file = "fonttools-4.56.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62b4c6802fa28e14dba010e75190e0e6228513573f1eeae57b11aa1a39b7e5b1"}, + {file = "fonttools-4.56.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05d1f07eb0a7d755fbe01fee1fd255c3a4d3730130cf1bfefb682d18fd2fcea"}, + {file = "fonttools-4.56.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0073b62c3438cf0058488c002ea90489e8801d3a7af5ce5f7c05c105bee815c3"}, + {file = "fonttools-4.56.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cad98c94833465bcf28f51c248aaf07ca022efc6a3eba750ad9c1e0256d278"}, + {file = "fonttools-4.56.0-cp313-cp313-win32.whl", hash = "sha256:d0cb73ccf7f6d7ca8d0bc7ea8ac0a5b84969a41c56ac3ac3422a24df2680546f"}, + {file = "fonttools-4.56.0-cp313-cp313-win_amd64.whl", hash = "sha256:62cc1253827d1e500fde9dbe981219fea4eb000fd63402283472d38e7d8aa1c6"}, + {file = "fonttools-4.56.0-py3-none-any.whl", hash = "sha256:1088182f68c303b50ca4dc0c82d42083d176cba37af1937e1a976a31149d4d14"}, + {file = "fonttools-4.56.0.tar.gz", hash = "sha256:a114d1567e1a1586b7e9e7fc2ff686ca542a82769a296cef131e4c4af51e58f4"}, ] [[package]] @@ -735,7 +736,7 @@ files = [ [[package]] name = "ipython" -version = "8.31.0" +version = "8.33.0" requires_python = ">=3.10" summary = "IPython: Productive Interactive Computing" groups = ["default"] @@ -753,8 +754,8 @@ dependencies = [ "typing-extensions>=4.6; python_version < \"3.12\"", ] files = [ - {file = "ipython-8.31.0-py3-none-any.whl", hash = "sha256:46ec58f8d3d076a61d128fe517a51eb730e3aaf0c184ea8c17d16e366660c6a6"}, - {file = "ipython-8.31.0.tar.gz", hash = "sha256:b6a2274606bec6166405ff05e54932ed6e5cfecaca1fc05f2cacde7bb074d70b"}, + {file = "ipython-8.33.0-py3-none-any.whl", hash = "sha256:aa5b301dfe1eaf0167ff3238a6825f810a029c9dad9d3f1597f30bd5ff65cc44"}, + {file = "ipython-8.33.0.tar.gz", hash = "sha256:4c3e36a6dfa9e8e3702bd46f3df668624c975a22ff340e96ea7277afbd76217d"}, ] [[package]] @@ -943,12 +944,13 @@ files = [ [[package]] name = "jupyter-events" -version = "0.11.0" +version = "0.12.0" requires_python = ">=3.9" summary = "Jupyter Event System library" groups = ["default"] dependencies = [ "jsonschema[format-nongpl]>=4.18.0", + "packaging", "python-json-logger>=2.0.4", "pyyaml>=5.3", "referencing", @@ -957,8 +959,8 @@ dependencies = [ "traitlets>=5.3", ] files = [ - {file = "jupyter_events-0.11.0-py3-none-any.whl", hash = "sha256:36399b41ce1ca45fe8b8271067d6a140ffa54cec4028e95491c93b78a855cacf"}, - {file = "jupyter_events-0.11.0.tar.gz", hash = "sha256:c0bc56a37aac29c1fbc3bcfbddb8c8c49533f9cf11f1c4e6adadba936574ab90"}, + {file = "jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb"}, + {file = "jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b"}, ] [[package]] @@ -1260,7 +1262,7 @@ files = [ [[package]] name = "matplotlib" -version = "3.10.0" +version = "3.10.1" requires_python = ">=3.10" summary = "Python plotting package" groups = ["default"] @@ -1276,40 +1278,40 @@ dependencies = [ "python-dateutil>=2.7", ] files = [ - {file = "matplotlib-3.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2c5829a5a1dd5a71f0e31e6e8bb449bc0ee9dbfb05ad28fc0c6b55101b3a4be6"}, - {file = "matplotlib-3.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2a43cbefe22d653ab34bb55d42384ed30f611bcbdea1f8d7f431011a2e1c62e"}, - {file = "matplotlib-3.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:607b16c8a73943df110f99ee2e940b8a1cbf9714b65307c040d422558397dac5"}, - {file = "matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01d2b19f13aeec2e759414d3bfe19ddfb16b13a1250add08d46d5ff6f9be83c6"}, - {file = "matplotlib-3.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e6c6461e1fc63df30bf6f80f0b93f5b6784299f721bc28530477acd51bfc3d1"}, - {file = "matplotlib-3.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:994c07b9d9fe8d25951e3202a68c17900679274dadfc1248738dcfa1bd40d7f3"}, - {file = "matplotlib-3.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:fd44fc75522f58612ec4a33958a7e5552562b7705b42ef1b4f8c0818e304a363"}, - {file = "matplotlib-3.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c58a9622d5dbeb668f407f35f4e6bfac34bb9ecdcc81680c04d0258169747997"}, - {file = "matplotlib-3.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:845d96568ec873be63f25fa80e9e7fae4be854a66a7e2f0c8ccc99e94a8bd4ef"}, - {file = "matplotlib-3.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5439f4c5a3e2e8eab18e2f8c3ef929772fd5641876db71f08127eed95ab64683"}, - {file = "matplotlib-3.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4673ff67a36152c48ddeaf1135e74ce0d4bce1bbf836ae40ed39c29edf7e2765"}, - {file = "matplotlib-3.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:7e8632baebb058555ac0cde75db885c61f1212e47723d63921879806b40bec6a"}, - {file = "matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59"}, - {file = "matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a"}, - {file = "matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95"}, - {file = "matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8"}, - {file = "matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12"}, - {file = "matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc"}, - {file = "matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25"}, - {file = "matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908"}, - {file = "matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2"}, - {file = "matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf"}, - {file = "matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae"}, - {file = "matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442"}, - {file = "matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06"}, - {file = "matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff"}, - {file = "matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593"}, - {file = "matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e"}, - {file = "matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede"}, - {file = "matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c"}, - {file = "matplotlib-3.10.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:81713dd0d103b379de4516b861d964b1d789a144103277769238c732229d7f03"}, - {file = "matplotlib-3.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:359f87baedb1f836ce307f0e850d12bb5f1936f70d035561f90d41d305fdacea"}, - {file = "matplotlib-3.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae80dc3a4add4665cf2faa90138384a7ffe2a4e37c58d83e115b54287c4f06ef"}, - {file = "matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278"}, + {file = "matplotlib-3.10.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:ff2ae14910be903f4a24afdbb6d7d3a6c44da210fc7d42790b87aeac92238a16"}, + {file = "matplotlib-3.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0721a3fd3d5756ed593220a8b86808a36c5031fce489adb5b31ee6dbb47dd5b2"}, + {file = "matplotlib-3.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0673b4b8f131890eb3a1ad058d6e065fb3c6e71f160089b65f8515373394698"}, + {file = "matplotlib-3.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e875b95ac59a7908978fe307ecdbdd9a26af7fa0f33f474a27fcf8c99f64a19"}, + {file = "matplotlib-3.10.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2589659ea30726284c6c91037216f64a506a9822f8e50592d48ac16a2f29e044"}, + {file = "matplotlib-3.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:a97ff127f295817bc34517255c9db6e71de8eddaab7f837b7d341dee9f2f587f"}, + {file = "matplotlib-3.10.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:057206ff2d6ab82ff3e94ebd94463d084760ca682ed5f150817b859372ec4401"}, + {file = "matplotlib-3.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a144867dd6bf8ba8cb5fc81a158b645037e11b3e5cf8a50bd5f9917cb863adfe"}, + {file = "matplotlib-3.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56c5d9fcd9879aa8040f196a235e2dcbdf7dd03ab5b07c0696f80bc6cf04bedd"}, + {file = "matplotlib-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f69dc9713e4ad2fb21a1c30e37bd445d496524257dfda40ff4a8efb3604ab5c"}, + {file = "matplotlib-3.10.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c59af3e8aca75d7744b68e8e78a669e91ccbcf1ac35d0102a7b1b46883f1dd7"}, + {file = "matplotlib-3.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:11b65088c6f3dae784bc72e8d039a2580186285f87448babb9ddb2ad0082993a"}, + {file = "matplotlib-3.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:66e907a06e68cb6cfd652c193311d61a12b54f56809cafbed9736ce5ad92f107"}, + {file = "matplotlib-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b4bb156abb8fa5e5b2b460196f7db7264fc6d62678c03457979e7d5254b7be"}, + {file = "matplotlib-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1985ad3d97f51307a2cbfc801a930f120def19ba22864182dacef55277102ba6"}, + {file = "matplotlib-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c96f2c2f825d1257e437a1482c5a2cf4fee15db4261bd6fc0750f81ba2b4ba3d"}, + {file = "matplotlib-3.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35e87384ee9e488d8dd5a2dd7baf471178d38b90618d8ea147aced4ab59c9bea"}, + {file = "matplotlib-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:cfd414bce89cc78a7e1d25202e979b3f1af799e416010a20ab2b5ebb3a02425c"}, + {file = "matplotlib-3.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c42eee41e1b60fd83ee3292ed83a97a5f2a8239b10c26715d8a6172226988d7b"}, + {file = "matplotlib-3.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4f0647b17b667ae745c13721602b540f7aadb2a32c5b96e924cd4fea5dcb90f1"}, + {file = "matplotlib-3.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa3854b5f9473564ef40a41bc922be978fab217776e9ae1545c9b3a5cf2092a3"}, + {file = "matplotlib-3.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e496c01441be4c7d5f96d4e40f7fca06e20dcb40e44c8daa2e740e1757ad9e6"}, + {file = "matplotlib-3.10.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5d45d3f5245be5b469843450617dcad9af75ca50568acf59997bed9311131a0b"}, + {file = "matplotlib-3.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:8e8e25b1209161d20dfe93037c8a7f7ca796ec9aa326e6e4588d8c4a5dd1e473"}, + {file = "matplotlib-3.10.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:19b06241ad89c3ae9469e07d77efa87041eac65d78df4fcf9cac318028009b01"}, + {file = "matplotlib-3.10.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:01e63101ebb3014e6e9f80d9cf9ee361a8599ddca2c3e166c563628b39305dbb"}, + {file = "matplotlib-3.10.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f06bad951eea6422ac4e8bdebcf3a70c59ea0a03338c5d2b109f57b64eb3972"}, + {file = "matplotlib-3.10.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3dfb036f34873b46978f55e240cff7a239f6c4409eac62d8145bad3fc6ba5a3"}, + {file = "matplotlib-3.10.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dc6ab14a7ab3b4d813b88ba957fc05c79493a037f54e246162033591e770de6f"}, + {file = "matplotlib-3.10.1-cp313-cp313t-win_amd64.whl", hash = "sha256:bc411ebd5889a78dabbc457b3fa153203e22248bfa6eedc6797be5df0164dbf9"}, + {file = "matplotlib-3.10.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:648406f1899f9a818cef8c0231b44dcfc4ff36f167101c3fd1c9151f24220fdc"}, + {file = "matplotlib-3.10.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:02582304e352f40520727984a5a18f37e8187861f954fea9be7ef06569cf85b4"}, + {file = "matplotlib-3.10.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3809916157ba871bcdd33d3493acd7fe3037db5daa917ca6e77975a94cef779"}, + {file = "matplotlib-3.10.1.tar.gz", hash = "sha256:e8d2d0e3881b129268585bf4765ad3ee73a4591d77b9a18c214ac7e3a79fb2ba"}, ] [[package]] @@ -1328,7 +1330,7 @@ files = [ [[package]] name = "mistune" -version = "3.1.1" +version = "3.1.2" requires_python = ">=3.8" summary = "A sane and fast Markdown parser with useful plugins and renderers" groups = ["default"] @@ -1336,8 +1338,8 @@ dependencies = [ "typing-extensions; python_version < \"3.11\"", ] files = [ - {file = "mistune-3.1.1-py3-none-any.whl", hash = "sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a"}, - {file = "mistune-3.1.1.tar.gz", hash = "sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c"}, + {file = "mistune-3.1.2-py3-none-any.whl", hash = "sha256:4b47731332315cdca99e0ded46fc0004001c1299ff773dfb48fbe1fd226de319"}, + {file = "mistune-3.1.2.tar.gz", hash = "sha256:733bf018ba007e8b5f2d3a9eb624034f6ee26c4ea769a98ec533ee111d504dff"}, ] [[package]] @@ -1447,66 +1449,66 @@ files = [ [[package]] name = "numpy" -version = "2.2.2" +version = "2.2.3" requires_python = ">=3.10" summary = "Fundamental package for array computing in Python" groups = ["default"] files = [ - {file = "numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e"}, - {file = "numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e"}, - {file = "numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715"}, - {file = "numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a"}, - {file = "numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97"}, - {file = "numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957"}, - {file = "numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d"}, - {file = "numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd"}, - {file = "numpy-2.2.2-cp310-cp310-win32.whl", hash = "sha256:159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160"}, - {file = "numpy-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014"}, - {file = "numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189"}, - {file = "numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323"}, - {file = "numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac"}, - {file = "numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e"}, - {file = "numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c"}, - {file = "numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f"}, - {file = "numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826"}, - {file = "numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8"}, - {file = "numpy-2.2.2-cp311-cp311-win32.whl", hash = "sha256:860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50"}, - {file = "numpy-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2"}, - {file = "numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467"}, - {file = "numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a"}, - {file = "numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825"}, - {file = "numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37"}, - {file = "numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748"}, - {file = "numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0"}, - {file = "numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278"}, - {file = "numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba"}, - {file = "numpy-2.2.2-cp312-cp312-win32.whl", hash = "sha256:4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283"}, - {file = "numpy-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb"}, - {file = "numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc"}, - {file = "numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369"}, - {file = "numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd"}, - {file = "numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be"}, - {file = "numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84"}, - {file = "numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff"}, - {file = "numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0"}, - {file = "numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de"}, - {file = "numpy-2.2.2-cp313-cp313-win32.whl", hash = "sha256:4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9"}, - {file = "numpy-2.2.2-cp313-cp313-win_amd64.whl", hash = "sha256:5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369"}, - {file = "numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391"}, - {file = "numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39"}, - {file = "numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317"}, - {file = "numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49"}, - {file = "numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2"}, - {file = "numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7"}, - {file = "numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb"}, - {file = "numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648"}, - {file = "numpy-2.2.2-cp313-cp313t-win32.whl", hash = "sha256:0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4"}, - {file = "numpy-2.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576"}, - {file = "numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495"}, - {file = "numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df"}, - {file = "numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a"}, - {file = "numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60"}, - {file = "numpy-2.2.2.tar.gz", hash = "sha256:ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f"}, + {file = "numpy-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cbc6472e01952d3d1b2772b720428f8b90e2deea8344e854df22b0618e9cce71"}, + {file = "numpy-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdfe0c22692a30cd830c0755746473ae66c4a8f2e7bd508b35fb3b6a0813d787"}, + {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:e37242f5324ffd9f7ba5acf96d774f9276aa62a966c0bad8dae692deebec7716"}, + {file = "numpy-2.2.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:95172a21038c9b423e68be78fd0be6e1b97674cde269b76fe269a5dfa6fadf0b"}, + {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5b47c440210c5d1d67e1cf434124e0b5c395eee1f5806fdd89b553ed1acd0a3"}, + {file = "numpy-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0391ea3622f5c51a2e29708877d56e3d276827ac5447d7f45e9bc4ade8923c52"}, + {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f6b3dfc7661f8842babd8ea07e9897fe3d9b69a1d7e5fbb743e4160f9387833b"}, + {file = "numpy-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1ad78ce7f18ce4e7df1b2ea4019b5817a2f6a8a16e34ff2775f646adce0a5027"}, + {file = "numpy-2.2.3-cp310-cp310-win32.whl", hash = "sha256:5ebeb7ef54a7be11044c33a17b2624abe4307a75893c001a4800857956b41094"}, + {file = "numpy-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:596140185c7fa113563c67c2e894eabe0daea18cf8e33851738c19f70ce86aeb"}, + {file = "numpy-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:16372619ee728ed67a2a606a614f56d3eabc5b86f8b615c79d01957062826ca8"}, + {file = "numpy-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5521a06a3148686d9269c53b09f7d399a5725c47bbb5b35747e1cb76326b714b"}, + {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:7c8dde0ca2f77828815fd1aedfdf52e59071a5bae30dac3b4da2a335c672149a"}, + {file = "numpy-2.2.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:77974aba6c1bc26e3c205c2214f0d5b4305bdc719268b93e768ddb17e3fdd636"}, + {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d42f9c36d06440e34226e8bd65ff065ca0963aeecada587b937011efa02cdc9d"}, + {file = "numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2712c5179f40af9ddc8f6727f2bd910ea0eb50206daea75f58ddd9fa3f715bb"}, + {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c8b0451d2ec95010d1db8ca733afc41f659f425b7f608af569711097fd6014e2"}, + {file = "numpy-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9b4a8148c57ecac25a16b0e11798cbe88edf5237b0df99973687dd866f05e1b"}, + {file = "numpy-2.2.3-cp311-cp311-win32.whl", hash = "sha256:1f45315b2dc58d8a3e7754fe4e38b6fce132dab284a92851e41b2b344f6441c5"}, + {file = "numpy-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f48ba6f6c13e5e49f3d3efb1b51c8193215c42ac82610a04624906a9270be6f"}, + {file = "numpy-2.2.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12c045f43b1d2915eca6b880a7f4a256f59d62df4f044788c8ba67709412128d"}, + {file = "numpy-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:87eed225fd415bbae787f93a457af7f5990b92a334e346f72070bf569b9c9c95"}, + {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:712a64103d97c404e87d4d7c47fb0c7ff9acccc625ca2002848e0d53288b90ea"}, + {file = "numpy-2.2.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a5ae282abe60a2db0fd407072aff4599c279bcd6e9a2475500fc35b00a57c532"}, + {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5266de33d4c3420973cf9ae3b98b54a2a6d53a559310e3236c4b2b06b9c07d4e"}, + {file = "numpy-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b787adbf04b0db1967798dba8da1af07e387908ed1553a0d6e74c084d1ceafe"}, + {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:34c1b7e83f94f3b564b35f480f5652a47007dd91f7c839f404d03279cc8dd021"}, + {file = "numpy-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4d8335b5f1b6e2bce120d55fb17064b0262ff29b459e8493d1785c18ae2553b8"}, + {file = "numpy-2.2.3-cp312-cp312-win32.whl", hash = "sha256:4d9828d25fb246bedd31e04c9e75714a4087211ac348cb39c8c5f99dbb6683fe"}, + {file = "numpy-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:83807d445817326b4bcdaaaf8e8e9f1753da04341eceec705c001ff342002e5d"}, + {file = "numpy-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bfdb06b395385ea9b91bf55c1adf1b297c9fdb531552845ff1d3ea6e40d5aba"}, + {file = "numpy-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:23c9f4edbf4c065fddb10a4f6e8b6a244342d95966a48820c614891e5059bb50"}, + {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:a0c03b6be48aaf92525cccf393265e02773be8fd9551a2f9adbe7db1fa2b60f1"}, + {file = "numpy-2.2.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:2376e317111daa0a6739e50f7ee2a6353f768489102308b0d98fcf4a04f7f3b5"}, + {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8fb62fe3d206d72fe1cfe31c4a1106ad2b136fcc1606093aeab314f02930fdf2"}, + {file = "numpy-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52659ad2534427dffcc36aac76bebdd02b67e3b7a619ac67543bc9bfe6b7cdb1"}, + {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1b416af7d0ed3271cad0f0a0d0bee0911ed7eba23e66f8424d9f3dfcdcae1304"}, + {file = "numpy-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1402da8e0f435991983d0a9708b779f95a8c98c6b18a171b9f1be09005e64d9d"}, + {file = "numpy-2.2.3-cp313-cp313-win32.whl", hash = "sha256:136553f123ee2951bfcfbc264acd34a2fc2f29d7cdf610ce7daf672b6fbaa693"}, + {file = "numpy-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:5b732c8beef1d7bc2d9e476dbba20aaff6167bf205ad9aa8d30913859e82884b"}, + {file = "numpy-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:435e7a933b9fda8126130b046975a968cc2d833b505475e588339e09f7672890"}, + {file = "numpy-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:7678556eeb0152cbd1522b684dcd215250885993dd00adb93679ec3c0e6e091c"}, + {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2e8da03bd561504d9b20e7a12340870dfc206c64ea59b4cfee9fceb95070ee94"}, + {file = "numpy-2.2.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:c9aa4496fd0e17e3843399f533d62857cef5900facf93e735ef65aa4bbc90ef0"}, + {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4ca91d61a4bf61b0f2228f24bbfa6a9facd5f8af03759fe2a655c50ae2c6610"}, + {file = "numpy-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:deaa09cd492e24fd9b15296844c0ad1b3c976da7907e1c1ed3a0ad21dded6f76"}, + {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:246535e2f7496b7ac85deffe932896a3577be7af8fb7eebe7146444680297e9a"}, + {file = "numpy-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:daf43a3d1ea699402c5a850e5313680ac355b4adc9770cd5cfc2940e7861f1bf"}, + {file = "numpy-2.2.3-cp313-cp313t-win32.whl", hash = "sha256:cf802eef1f0134afb81fef94020351be4fe1d6681aadf9c5e862af6602af64ef"}, + {file = "numpy-2.2.3-cp313-cp313t-win_amd64.whl", hash = "sha256:aee2512827ceb6d7f517c8b85aa5d3923afe8fc7a57d028cffcd522f1c6fd082"}, + {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3c2ec8a0f51d60f1e9c0c5ab116b7fc104b165ada3f6c58abf881cb2eb16044d"}, + {file = "numpy-2.2.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:ed2cf9ed4e8ebc3b754d398cba12f24359f018b416c380f577bbae112ca52fc9"}, + {file = "numpy-2.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39261798d208c3095ae4f7bc8eaeb3481ea8c6e03dc48028057d3cbdbdb8937e"}, + {file = "numpy-2.2.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:783145835458e60fa97afac25d511d00a1eca94d4a8f3ace9fe2043003c678e4"}, + {file = "numpy-2.2.3.tar.gz", hash = "sha256:dbdc15f0c81611925f382dfa97b3bd0bc2c1ce19d4fe50482cb0ddc12ba30020"}, ] [[package]] @@ -1677,19 +1679,19 @@ files = [ [[package]] name = "psutil" -version = "6.1.1" -requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -summary = "Cross-platform lib for process and system monitoring in Python." +version = "7.0.0" +requires_python = ">=3.6" +summary = "Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7." groups = ["default"] files = [ - {file = "psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8"}, - {file = "psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160"}, - {file = "psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3"}, - {file = "psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53"}, - {file = "psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649"}, - {file = "psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5"}, + {file = "psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25"}, + {file = "psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da"}, + {file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91"}, + {file = "psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34"}, + {file = "psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993"}, + {file = "psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99"}, + {file = "psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553"}, + {file = "psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456"}, ] [[package]] @@ -1740,13 +1742,13 @@ files = [ [[package]] name = "pyelftools" -version = "0.31" +version = "0.32" summary = "Library for analyzing ELF files and DWARF debugging information" groups = ["wheel"] marker = "sys_platform == \"linux\"" files = [ - {file = "pyelftools-0.31-py3-none-any.whl", hash = "sha256:f52de7b3c7e8c64c8abc04a79a1cf37ac5fb0b8a49809827130b858944840607"}, - {file = "pyelftools-0.31.tar.gz", hash = "sha256:c774416b10310156879443b81187d182d8d9ee499660380e645918b50bc88f99"}, + {file = "pyelftools-0.32-py3-none-any.whl", hash = "sha256:013df952a006db5e138b1edf6d8a68ecc50630adbd0d83a2d41e7f846163d738"}, + {file = "pyelftools-0.32.tar.gz", hash = "sha256:6de90ee7b8263e740c8715a925382d4099b354f29ac48ea40d840cf7aa14ace5"}, ] [[package]] @@ -1822,17 +1824,18 @@ files = [ [[package]] name = "pywinpty" -version = "2.0.14" -requires_python = ">=3.8" +version = "2.0.15" +requires_python = ">=3.9" summary = "Pseudo terminal support for Windows from Python." groups = ["default"] marker = "os_name == \"nt\"" files = [ - {file = "pywinpty-2.0.14-cp310-none-win_amd64.whl", hash = "sha256:0b149c2918c7974f575ba79f5a4aad58bd859a52fa9eb1296cc22aa412aa411f"}, - {file = "pywinpty-2.0.14-cp311-none-win_amd64.whl", hash = "sha256:cf2a43ac7065b3e0dc8510f8c1f13a75fb8fde805efa3b8cff7599a1ef497bc7"}, - {file = "pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737"}, - {file = "pywinpty-2.0.14-cp313-none-win_amd64.whl", hash = "sha256:074fb988a56ec79ca90ed03a896d40707131897cefb8f76f926e3834227f2819"}, - {file = "pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e"}, + {file = "pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e"}, + {file = "pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca"}, + {file = "pywinpty-2.0.15-cp312-cp312-win_amd64.whl", hash = "sha256:83a8f20b430bbc5d8957249f875341a60219a4e971580f2ba694fbfb54a45ebc"}, + {file = "pywinpty-2.0.15-cp313-cp313-win_amd64.whl", hash = "sha256:ab5920877dd632c124b4ed17bc6dd6ef3b9f86cd492b963ffdb1a67b85b0f408"}, + {file = "pywinpty-2.0.15-cp313-cp313t-win_amd64.whl", hash = "sha256:a4560ad8c01e537708d2790dbe7da7d986791de805d89dd0d3697ca59e9e4901"}, + {file = "pywinpty-2.0.15.tar.gz", hash = "sha256:312cf39153a8736c617d45ce8b6ad6cd2107de121df91c455b10ce6bba7a39b2"}, ] [[package]] @@ -2016,89 +2019,89 @@ files = [ [[package]] name = "rpds-py" -version = "0.22.3" +version = "0.23.1" requires_python = ">=3.9" summary = "Python bindings to Rust's persistent data structures (rpds)" groups = ["default"] files = [ - {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"}, - {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"}, - {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"}, - {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"}, - {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"}, - {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"}, - {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"}, - {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"}, - {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"}, - {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"}, - {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, + {file = "rpds_py-0.23.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2a54027554ce9b129fc3d633c92fa33b30de9f08bc61b32c053dc9b537266fed"}, + {file = "rpds_py-0.23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b5ef909a37e9738d146519657a1aab4584018746a18f71c692f2f22168ece40c"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ee9d6f0b38efb22ad94c3b68ffebe4c47865cdf4b17f6806d6c674e1feb4246"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f7356a6da0562190558c4fcc14f0281db191cdf4cb96e7604c06acfcee96df15"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9441af1d25aed96901f97ad83d5c3e35e6cd21a25ca5e4916c82d7dd0490a4fa"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d8abf7896a91fb97e7977d1aadfcc2c80415d6dc2f1d0fca5b8d0df247248f3"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b08027489ba8fedde72ddd233a5ea411b85a6ed78175f40285bd401bde7466d"}, + {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fee513135b5a58f3bb6d89e48326cd5aa308e4bcdf2f7d59f67c861ada482bf8"}, + {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:35d5631ce0af26318dba0ae0ac941c534453e42f569011585cb323b7774502a5"}, + {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a20cb698c4a59c534c6701b1c24a968ff2768b18ea2991f886bd8985ce17a89f"}, + {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e9c206a1abc27e0588cf8b7c8246e51f1a16a103734f7750830a1ccb63f557a"}, + {file = "rpds_py-0.23.1-cp310-cp310-win32.whl", hash = "sha256:d9f75a06ecc68f159d5d7603b734e1ff6daa9497a929150f794013aa9f6e3f12"}, + {file = "rpds_py-0.23.1-cp310-cp310-win_amd64.whl", hash = "sha256:f35eff113ad430b5272bbfc18ba111c66ff525828f24898b4e146eb479a2cdda"}, + {file = "rpds_py-0.23.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b79f5ced71efd70414a9a80bbbfaa7160da307723166f09b69773153bf17c590"}, + {file = "rpds_py-0.23.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c9e799dac1ffbe7b10c1fd42fe4cd51371a549c6e108249bde9cd1200e8f59b4"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721f9c4011b443b6e84505fc00cc7aadc9d1743f1c988e4c89353e19c4a968ee"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f88626e3f5e57432e6191cd0c5d6d6b319b635e70b40be2ffba713053e5147dd"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:285019078537949cecd0190f3690a0b0125ff743d6a53dfeb7a4e6787af154f5"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b92f5654157de1379c509b15acec9d12ecf6e3bc1996571b6cb82a4302060447"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e768267cbe051dd8d1c5305ba690bb153204a09bf2e3de3ae530de955f5b5580"}, + {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c5334a71f7dc1160382d45997e29f2637c02f8a26af41073189d79b95d3321f1"}, + {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d6adb81564af0cd428910f83fa7da46ce9ad47c56c0b22b50872bc4515d91966"}, + {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:cafa48f2133d4daa028473ede7d81cd1b9f9e6925e9e4003ebdf77010ee02f35"}, + {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fced9fd4a07a1ded1bac7e961ddd9753dd5d8b755ba8e05acba54a21f5f1522"}, + {file = "rpds_py-0.23.1-cp311-cp311-win32.whl", hash = "sha256:243241c95174b5fb7204c04595852fe3943cc41f47aa14c3828bc18cd9d3b2d6"}, + {file = "rpds_py-0.23.1-cp311-cp311-win_amd64.whl", hash = "sha256:11dd60b2ffddba85715d8a66bb39b95ddbe389ad2cfcf42c833f1bcde0878eaf"}, + {file = "rpds_py-0.23.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3902df19540e9af4cc0c3ae75974c65d2c156b9257e91f5101a51f99136d834c"}, + {file = "rpds_py-0.23.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:66f8d2a17e5838dd6fb9be6baaba8e75ae2f5fa6b6b755d597184bfcd3cb0eba"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:112b8774b0b4ee22368fec42749b94366bd9b536f8f74c3d4175d4395f5cbd31"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0df046f2266e8586cf09d00588302a32923eb6386ced0ca5c9deade6af9a149"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3288930b947cbebe767f84cf618d2cbe0b13be476e749da0e6a009f986248c"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce473a2351c018b06dd8d30d5da8ab5a0831056cc53b2006e2a8028172c37ce5"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d550d7e9e7d8676b183b37d65b5cd8de13676a738973d330b59dc8312df9c5dc"}, + {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e14f86b871ea74c3fddc9a40e947d6a5d09def5adc2076ee61fb910a9014fb35"}, + {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf5be5ba34e19be579ae873da515a2836a2166d8d7ee43be6ff909eda42b72b"}, + {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d7031d493c4465dbc8d40bd6cafefef4bd472b17db0ab94c53e7909ee781b9ef"}, + {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:55ff4151cfd4bc635e51cfb1c59ac9f7196b256b12e3a57deb9e5742e65941ad"}, + {file = "rpds_py-0.23.1-cp312-cp312-win32.whl", hash = "sha256:a9d3b728f5a5873d84cba997b9d617c6090ca5721caaa691f3b1a78c60adc057"}, + {file = "rpds_py-0.23.1-cp312-cp312-win_amd64.whl", hash = "sha256:b03a8d50b137ee758e4c73638b10747b7c39988eb8e6cd11abb7084266455165"}, + {file = "rpds_py-0.23.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:4caafd1a22e5eaa3732acb7672a497123354bef79a9d7ceed43387d25025e935"}, + {file = "rpds_py-0.23.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:178f8a60fc24511c0eb756af741c476b87b610dba83270fce1e5a430204566a4"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c632419c3870507ca20a37c8f8f5352317aca097639e524ad129f58c125c61c6"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:698a79d295626ee292d1730bc2ef6e70a3ab135b1d79ada8fde3ed0047b65a10"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271fa2184cf28bdded86bb6217c8e08d3a169fe0bbe9be5e8d96e8476b707122"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b91cceb5add79ee563bd1f70b30896bd63bc5f78a11c1f00a1e931729ca4f1f4"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a6cb95074777f1ecda2ca4fa7717caa9ee6e534f42b7575a8f0d4cb0c24013"}, + {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:50fb62f8d8364978478b12d5f03bf028c6bc2af04082479299139dc26edf4c64"}, + {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c8f7e90b948dc9dcfff8003f1ea3af08b29c062f681c05fd798e36daa3f7e3e8"}, + {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5b98b6c953e5c2bda51ab4d5b4f172617d462eebc7f4bfdc7c7e6b423f6da957"}, + {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2893d778d4671ee627bac4037a075168b2673c57186fb1a57e993465dbd79a93"}, + {file = "rpds_py-0.23.1-cp313-cp313-win32.whl", hash = "sha256:2cfa07c346a7ad07019c33fb9a63cf3acb1f5363c33bc73014e20d9fe8b01cdd"}, + {file = "rpds_py-0.23.1-cp313-cp313-win_amd64.whl", hash = "sha256:3aaf141d39f45322e44fc2c742e4b8b4098ead5317e5f884770c8df0c332da70"}, + {file = "rpds_py-0.23.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:759462b2d0aa5a04be5b3e37fb8183615f47014ae6b116e17036b131985cb731"}, + {file = "rpds_py-0.23.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3e9212f52074fc9d72cf242a84063787ab8e21e0950d4d6709886fb62bcb91d5"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e9f3a3ac919406bc0414bbbd76c6af99253c507150191ea79fab42fdb35982a"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c04ca91dda8a61584165825907f5c967ca09e9c65fe8966ee753a3f2b019fe1e"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ab923167cfd945abb9b51a407407cf19f5bee35001221f2911dc85ffd35ff4f"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed6f011bedca8585787e5082cce081bac3d30f54520097b2411351b3574e1219"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6959bb9928c5c999aba4a3f5a6799d571ddc2c59ff49917ecf55be2bbb4e3722"}, + {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1ed7de3c86721b4e83ac440751329ec6a1102229aa18163f84c75b06b525ad7e"}, + {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5fb89edee2fa237584e532fbf78f0ddd1e49a47c7c8cfa153ab4849dc72a35e6"}, + {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7e5413d2e2d86025e73f05510ad23dad5950ab8417b7fc6beaad99be8077138b"}, + {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d31ed4987d72aabdf521eddfb6a72988703c091cfc0064330b9e5f8d6a042ff5"}, + {file = "rpds_py-0.23.1-cp313-cp313t-win32.whl", hash = "sha256:f3429fb8e15b20961efca8c8b21432623d85db2228cc73fe22756c6637aa39e7"}, + {file = "rpds_py-0.23.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d6f6512a90bd5cd9030a6237f5346f046c6f0e40af98657568fa45695d4de59d"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c1f8afa346ccd59e4e5630d5abb67aba6a9812fddf764fd7eb11f382a345f8cc"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fad784a31869747df4ac968a351e070c06ca377549e4ace94775aaa3ab33ee06"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a96fcac2f18e5a0a23a75cd27ce2656c66c11c127b0318e508aab436b77428"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3e77febf227a1dc3220159355dba68faa13f8dca9335d97504abf428469fb18b"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26bb3e8de93443d55e2e748e9fd87deb5f8075ca7bc0502cfc8be8687d69a2ec"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:db7707dde9143a67b8812c7e66aeb2d843fe33cc8e374170f4d2c50bd8f2472d"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eedaaccc9bb66581d4ae7c50e15856e335e57ef2734dbc5fd8ba3e2a4ab3cb6"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28358c54fffadf0ae893f6c1050e8f8853e45df22483b7fff2f6ab6152f5d8bf"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:633462ef7e61d839171bf206551d5ab42b30b71cac8f10a64a662536e057fdef"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a98f510d86f689fcb486dc59e6e363af04151e5260ad1bdddb5625c10f1e95f8"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e0397dd0b3955c61ef9b22838144aa4bef6f0796ba5cc8edfc64d468b93798b4"}, + {file = "rpds_py-0.23.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:75307599f0d25bf6937248e5ac4e3bde5ea72ae6618623b86146ccc7845ed00b"}, + {file = "rpds_py-0.23.1.tar.gz", hash = "sha256:7f3240dcfa14d198dba24b8b9cb3b108c06b68d45b7babd9eefc1038fdf7e707"}, ] [[package]] @@ -2114,13 +2117,13 @@ files = [ [[package]] name = "setuptools" -version = "75.8.0" +version = "75.8.2" requires_python = ">=3.9" summary = "Easily download, build, install, upgrade, and uninstall Python packages" groups = ["default", "wheel"] files = [ - {file = "setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3"}, - {file = "setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6"}, + {file = "setuptools-75.8.2-py3-none-any.whl", hash = "sha256:558e47c15f1811c1fa7adbd0096669bf76c1d3f433f58324df69f3f5ecac4e8f"}, + {file = "setuptools-75.8.2.tar.gz", hash = "sha256:4880473a969e5f23f2a2be3646b2dfd84af9028716d398e46192f84bc36900d2"}, ] [[package]] @@ -2291,7 +2294,6 @@ version = "4.12.2" requires_python = ">=3.8" summary = "Backported and Experimental Type Hints for Python 3.8+" groups = ["default", "wheel"] -marker = "sys_platform == \"darwin\" or python_version < \"3.13\"" files = [ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, @@ -2376,63 +2378,63 @@ files = [ [[package]] name = "websockets" -version = "14.2" +version = "15.0" requires_python = ">=3.9" summary = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" groups = ["test"] files = [ - {file = "websockets-14.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e8179f95323b9ab1c11723e5d91a89403903f7b001828161b480a7810b334885"}, - {file = "websockets-14.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d8c3e2cdb38f31d8bd7d9d28908005f6fa9def3324edb9bf336d7e4266fd397"}, - {file = "websockets-14.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:714a9b682deb4339d39ffa674f7b674230227d981a37d5d174a4a83e3978a610"}, - {file = "websockets-14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2e53c72052f2596fb792a7acd9704cbc549bf70fcde8a99e899311455974ca3"}, - {file = "websockets-14.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fbd68850c837e57373d95c8fe352203a512b6e49eaae4c2f4088ef8cf21980"}, - {file = "websockets-14.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b27ece32f63150c268593d5fdb82819584831a83a3f5809b7521df0685cd5d8"}, - {file = "websockets-14.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4daa0faea5424d8713142b33825fff03c736f781690d90652d2c8b053345b0e7"}, - {file = "websockets-14.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bc63cee8596a6ec84d9753fd0fcfa0452ee12f317afe4beae6b157f0070c6c7f"}, - {file = "websockets-14.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a570862c325af2111343cc9b0257b7119b904823c675b22d4ac547163088d0d"}, - {file = "websockets-14.2-cp310-cp310-win32.whl", hash = "sha256:75862126b3d2d505e895893e3deac0a9339ce750bd27b4ba515f008b5acf832d"}, - {file = "websockets-14.2-cp310-cp310-win_amd64.whl", hash = "sha256:cc45afb9c9b2dc0852d5c8b5321759cf825f82a31bfaf506b65bf4668c96f8b2"}, - {file = "websockets-14.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3bdc8c692c866ce5fefcaf07d2b55c91d6922ac397e031ef9b774e5b9ea42166"}, - {file = "websockets-14.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c93215fac5dadc63e51bcc6dceca72e72267c11def401d6668622b47675b097f"}, - {file = "websockets-14.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c9b6535c0e2cf8a6bf938064fb754aaceb1e6a4a51a80d884cd5db569886910"}, - {file = "websockets-14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a52a6d7cf6938e04e9dceb949d35fbdf58ac14deea26e685ab6368e73744e4c"}, - {file = "websockets-14.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f05702e93203a6ff5226e21d9b40c037761b2cfb637187c9802c10f58e40473"}, - {file = "websockets-14.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22441c81a6748a53bfcb98951d58d1af0661ab47a536af08920d129b4d1c3473"}, - {file = "websockets-14.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd9b868d78b194790e6236d9cbc46d68aba4b75b22497eb4ab64fa640c3af56"}, - {file = "websockets-14.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a5a20d5843886d34ff8c57424cc65a1deda4375729cbca4cb6b3353f3ce4142"}, - {file = "websockets-14.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:34277a29f5303d54ec6468fb525d99c99938607bc96b8d72d675dee2b9f5bf1d"}, - {file = "websockets-14.2-cp311-cp311-win32.whl", hash = "sha256:02687db35dbc7d25fd541a602b5f8e451a238ffa033030b172ff86a93cb5dc2a"}, - {file = "websockets-14.2-cp311-cp311-win_amd64.whl", hash = "sha256:862e9967b46c07d4dcd2532e9e8e3c2825e004ffbf91a5ef9dde519ee2effb0b"}, - {file = "websockets-14.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f20522e624d7ffbdbe259c6b6a65d73c895045f76a93719aa10cd93b3de100c"}, - {file = "websockets-14.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:647b573f7d3ada919fd60e64d533409a79dcf1ea21daeb4542d1d996519ca967"}, - {file = "websockets-14.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6af99a38e49f66be5a64b1e890208ad026cda49355661549c507152113049990"}, - {file = "websockets-14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:091ab63dfc8cea748cc22c1db2814eadb77ccbf82829bac6b2fbe3401d548eda"}, - {file = "websockets-14.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b374e8953ad477d17e4851cdc66d83fdc2db88d9e73abf755c94510ebddceb95"}, - {file = "websockets-14.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a39d7eceeea35db85b85e1169011bb4321c32e673920ae9c1b6e0978590012a3"}, - {file = "websockets-14.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0a6f3efd47ffd0d12080594f434faf1cd2549b31e54870b8470b28cc1d3817d9"}, - {file = "websockets-14.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:065ce275e7c4ffb42cb738dd6b20726ac26ac9ad0a2a48e33ca632351a737267"}, - {file = "websockets-14.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e9d0e53530ba7b8b5e389c02282f9d2aa47581514bd6049d3a7cffe1385cf5fe"}, - {file = "websockets-14.2-cp312-cp312-win32.whl", hash = "sha256:20e6dd0984d7ca3037afcb4494e48c74ffb51e8013cac71cf607fffe11df7205"}, - {file = "websockets-14.2-cp312-cp312-win_amd64.whl", hash = "sha256:44bba1a956c2c9d268bdcdf234d5e5ff4c9b6dc3e300545cbe99af59dda9dcce"}, - {file = "websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f1372e511c7409a542291bce92d6c83320e02c9cf392223272287ce55bc224e"}, - {file = "websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4da98b72009836179bb596a92297b1a61bb5a830c0e483a7d0766d45070a08ad"}, - {file = "websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8a86a269759026d2bde227652b87be79f8a734e582debf64c9d302faa1e9f03"}, - {file = "websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86cf1aaeca909bf6815ea714d5c5736c8d6dd3a13770e885aafe062ecbd04f1f"}, - {file = "websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9b0f6c3ba3b1240f602ebb3971d45b02cc12bd1845466dd783496b3b05783a5"}, - {file = "websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669c3e101c246aa85bc8534e495952e2ca208bd87994650b90a23d745902db9a"}, - {file = "websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eabdb28b972f3729348e632ab08f2a7b616c7e53d5414c12108c29972e655b20"}, - {file = "websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2066dc4cbcc19f32c12a5a0e8cc1b7ac734e5b64ac0a325ff8353451c4b15ef2"}, - {file = "websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ab95d357cd471df61873dadf66dd05dd4709cae001dd6342edafc8dc6382f307"}, - {file = "websockets-14.2-cp313-cp313-win32.whl", hash = "sha256:a9e72fb63e5f3feacdcf5b4ff53199ec8c18d66e325c34ee4c551ca748623bbc"}, - {file = "websockets-14.2-cp313-cp313-win_amd64.whl", hash = "sha256:b439ea828c4ba99bb3176dc8d9b933392a2413c0f6b149fdcba48393f573377f"}, - {file = "websockets-14.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d7d9cafbccba46e768be8a8ad4635fa3eae1ffac4c6e7cb4eb276ba41297ed29"}, - {file = "websockets-14.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c76193c1c044bd1e9b3316dcc34b174bbf9664598791e6fb606d8d29000e070c"}, - {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd475a974d5352390baf865309fe37dec6831aafc3014ffac1eea99e84e83fc2"}, - {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c6c0097a41968b2e2b54ed3424739aab0b762ca92af2379f152c1aef0187e1c"}, - {file = "websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d7ff794c8b36bc402f2e07c0b2ceb4a2424147ed4785ff03e2a7af03711d60a"}, - {file = "websockets-14.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dec254fcabc7bd488dab64846f588fc5b6fe0d78f641180030f8ea27b76d72c3"}, - {file = "websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b"}, - {file = "websockets-14.2.tar.gz", hash = "sha256:5059ed9c54945efb321f097084b4c7e52c246f2c869815876a69d1efc4ad6eb5"}, + {file = "websockets-15.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5e6ee18a53dd5743e6155b8ff7e8e477c25b29b440f87f65be8165275c87fef0"}, + {file = "websockets-15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ee06405ea2e67366a661ed313e14cf2a86e84142a3462852eb96348f7219cee3"}, + {file = "websockets-15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8711682a629bbcaf492f5e0af72d378e976ea1d127a2d47584fa1c2c080b436b"}, + {file = "websockets-15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94c4a9b01eede952442c088d415861b0cf2053cbd696b863f6d5022d4e4e2453"}, + {file = "websockets-15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:45535fead66e873f411c1d3cf0d3e175e66f4dd83c4f59d707d5b3e4c56541c4"}, + {file = "websockets-15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e389efe46ccb25a1f93d08c7a74e8123a2517f7b7458f043bd7529d1a63ffeb"}, + {file = "websockets-15.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:67a04754d121ea5ca39ddedc3f77071651fb5b0bc6b973c71c515415b44ed9c5"}, + {file = "websockets-15.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bd66b4865c8b853b8cca7379afb692fc7f52cf898786537dfb5e5e2d64f0a47f"}, + {file = "websockets-15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a4cc73a6ae0a6751b76e69cece9d0311f054da9b22df6a12f2c53111735657c8"}, + {file = "websockets-15.0-cp310-cp310-win32.whl", hash = "sha256:89da58e4005e153b03fe8b8794330e3f6a9774ee9e1c3bd5bc52eb098c3b0c4f"}, + {file = "websockets-15.0-cp310-cp310-win_amd64.whl", hash = "sha256:4ff380aabd7a74a42a760ee76c68826a8f417ceb6ea415bd574a035a111fd133"}, + {file = "websockets-15.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:dd24c4d256558429aeeb8d6c24ebad4e982ac52c50bc3670ae8646c181263965"}, + {file = "websockets-15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f83eca8cbfd168e424dfa3b3b5c955d6c281e8fc09feb9d870886ff8d03683c7"}, + {file = "websockets-15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4095a1f2093002c2208becf6f9a178b336b7572512ee0a1179731acb7788e8ad"}, + {file = "websockets-15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb915101dfbf318486364ce85662bb7b020840f68138014972c08331458d41f3"}, + {file = "websockets-15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:45d464622314973d78f364689d5dbb9144e559f93dca11b11af3f2480b5034e1"}, + {file = "websockets-15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace960769d60037ca9625b4c578a6f28a14301bd2a1ff13bb00e824ac9f73e55"}, + {file = "websockets-15.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c7cd4b1015d2f60dfe539ee6c95bc968d5d5fad92ab01bb5501a77393da4f596"}, + {file = "websockets-15.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4f7290295794b5dec470867c7baa4a14182b9732603fd0caf2a5bf1dc3ccabf3"}, + {file = "websockets-15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3abd670ca7ce230d5a624fd3d55e055215d8d9b723adee0a348352f5d8d12ff4"}, + {file = "websockets-15.0-cp311-cp311-win32.whl", hash = "sha256:110a847085246ab8d4d119632145224d6b49e406c64f1bbeed45c6f05097b680"}, + {file = "websockets-15.0-cp311-cp311-win_amd64.whl", hash = "sha256:8d7bbbe2cd6ed80aceef2a14e9f1c1b61683194c216472ed5ff33b700e784e37"}, + {file = "websockets-15.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:cccc18077acd34c8072578394ec79563664b1c205f7a86a62e94fafc7b59001f"}, + {file = "websockets-15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d4c22992e24f12de340ca5f824121a5b3e1a37ad4360b4e1aaf15e9d1c42582d"}, + {file = "websockets-15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1206432cc6c644f6fc03374b264c5ff805d980311563202ed7fef91a38906276"}, + {file = "websockets-15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d3cc75ef3e17490042c47e0523aee1bcc4eacd2482796107fd59dd1100a44bc"}, + {file = "websockets-15.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b89504227a5311610e4be16071465885a0a3d6b0e82e305ef46d9b064ce5fb72"}, + {file = "websockets-15.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56e3efe356416bc67a8e093607315951d76910f03d2b3ad49c4ade9207bf710d"}, + {file = "websockets-15.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0f2205cdb444a42a7919690238fb5979a05439b9dbb73dd47c863d39640d85ab"}, + {file = "websockets-15.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:aea01f40995fa0945c020228ab919b8dfc93fc8a9f2d3d705ab5b793f32d9e99"}, + {file = "websockets-15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a9f8e33747b1332db11cf7fcf4a9512bef9748cb5eb4d3f7fbc8c30d75dc6ffc"}, + {file = "websockets-15.0-cp312-cp312-win32.whl", hash = "sha256:32e02a2d83f4954aa8c17e03fe8ec6962432c39aca4be7e8ee346b05a3476904"}, + {file = "websockets-15.0-cp312-cp312-win_amd64.whl", hash = "sha256:ffc02b159b65c05f2ed9ec176b715b66918a674bd4daed48a9a7a590dd4be1aa"}, + {file = "websockets-15.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d2244d8ab24374bed366f9ff206e2619345f9cd7fe79aad5225f53faac28b6b1"}, + {file = "websockets-15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3a302241fbe825a3e4fe07666a2ab513edfdc6d43ce24b79691b45115273b5e7"}, + {file = "websockets-15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:10552fed076757a70ba2c18edcbc601c7637b30cdfe8c24b65171e824c7d6081"}, + {file = "websockets-15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c53f97032b87a406044a1c33d1e9290cc38b117a8062e8a8b285175d7e2f99c9"}, + {file = "websockets-15.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1caf951110ca757b8ad9c4974f5cac7b8413004d2f29707e4d03a65d54cedf2b"}, + {file = "websockets-15.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bf1ab71f9f23b0a1d52ec1682a3907e0c208c12fef9c3e99d2b80166b17905f"}, + {file = "websockets-15.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bfcd3acc1a81f106abac6afd42327d2cf1e77ec905ae11dc1d9142a006a496b6"}, + {file = "websockets-15.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c8c5c8e1bac05ef3c23722e591ef4f688f528235e2480f157a9cfe0a19081375"}, + {file = "websockets-15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:86bfb52a9cfbcc09aba2b71388b0a20ea5c52b6517c0b2e316222435a8cdab72"}, + {file = "websockets-15.0-cp313-cp313-win32.whl", hash = "sha256:26ba70fed190708551c19a360f9d7eca8e8c0f615d19a574292b7229e0ae324c"}, + {file = "websockets-15.0-cp313-cp313-win_amd64.whl", hash = "sha256:ae721bcc8e69846af00b7a77a220614d9b2ec57d25017a6bbde3a99473e41ce8"}, + {file = "websockets-15.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b499caef4bca9cbd0bd23cd3386f5113ee7378094a3cb613a2fa543260fe9506"}, + {file = "websockets-15.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:17f2854c6bd9ee008c4b270f7010fe2da6c16eac5724a175e75010aacd905b31"}, + {file = "websockets-15.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89f72524033abbfde880ad338fd3c2c16e31ae232323ebdfbc745cbb1b3dcc03"}, + {file = "websockets-15.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1657a9eecb29d7838e3b415458cc494e6d1b194f7ac73a34aa55c6fb6c72d1f3"}, + {file = "websockets-15.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e413352a921f5ad5d66f9e2869b977e88d5103fc528b6deb8423028a2befd842"}, + {file = "websockets-15.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8561c48b0090993e3b2a54db480cab1d23eb2c5735067213bb90f402806339f5"}, + {file = "websockets-15.0-py3-none-any.whl", hash = "sha256:51ffd53c53c4442415b613497a34ba0aa7b99ac07f1e4a62db5dcd640ae6c3c3"}, + {file = "websockets-15.0.tar.gz", hash = "sha256:ca36151289a15b39d8d683fd8b7abbe26fc50be311066c5f8dcf3cb8cee107ab"}, ] [[package]] From 53495f5ba04a7e068b9eec8e14d2eedc535580d0 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Mon, 10 Mar 2025 15:13:19 -0400 Subject: [PATCH 41/46] added version number comment to cpplint commit --- tools/workspace/cpplint_internal/repository.bzl | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index 05c4667c9a18..7dc81cf91140 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -6,6 +6,7 @@ def cpplint_internal_repository( github_archive( name = name, repository = "cpplint/cpplint", + # cpplint version targeted: v2.0.0-4-g80da3c1 03-06-2025 commit = "80da3c1ef37af017715dc1366fbda8263179bdeb", sha256 = "006d8ce87a2dcc8a644b78fe0c2d4d45bc52ca41414ea66d3c7dcd6ae3e61d9e", # noqa build_file = ":package.BUILD.bazel", From 8a03ee83d46680eb4d9393caed6a966beaea8625 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Mon, 10 Mar 2025 16:12:19 -0400 Subject: [PATCH 42/46] removed commented code and reformatted NOLINT comments --- CPPLINT.cfg | 20 -------------------- common/hwy_dynamic_impl.h | 2 +- common/overloaded.h | 2 +- 3 files changed, 2 insertions(+), 22 deletions(-) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index dad2c2a9adad..d86540bdb89d 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -49,26 +49,6 @@ filter=-whitespace/indent_namespace # TODO(#1805) Fix this. filter=-legal/copyright -# These conditions were causing tests to fail after changing the cpplint -# target from RobotLogistics/styleguide to cpplint/cpplint. Notably, these -# filters were NOT listed as error categories in the legacy target for cpplint -# (RobotLocomotion/styleguide) and were presumably added in later updates. -# filter=-build/c++17 -# filter=-build/namespaces_headers -# filter=-build/namespaces_literals -# filter=-whitespace/indent_namespace - -# These error categories ARE defined in the legacy target, yet only began -# causing problems when the cpplint target was switched to (cpplint/cpplint). -# Generally, the updated version of cpplint caused these filters to -# become more strict and trip up the test suite more often. -# Ignoring for the time being. -# filter=-build/include_what_you_use # filter behavior change in update -# filter=-readability/casting -# filter=-runtime/references -# filter=-runtime/explicit -# filter=-whitespace/newline - # Ignore code that isn't ours. exclude_files=third_party diff --git a/common/hwy_dynamic_impl.h b/common/hwy_dynamic_impl.h index c5a4a7b44e3a..16c6340603a2 100644 --- a/common/hwy_dynamic_impl.h +++ b/common/hwy_dynamic_impl.h @@ -9,7 +9,7 @@ // This file should only ever be included from `*.cc` implementation files, // and we always want its code to be private to that file, so we'll use an // anonymous namespace in a header file, for simplicity. -namespace { // NOLINT (build/namespaces) +namespace { // NOLINT(build/namespaces_headers) /* LateBoundFunction is a small wrapper class around a C-style raw function pointer. (It doesn't support std::function objects.) diff --git a/common/overloaded.h b/common/overloaded.h index ad982be08342..daa73e8704a8 100644 --- a/common/overloaded.h +++ b/common/overloaded.h @@ -27,7 +27,7 @@ use the variant visit pattern, i.e. // We put this in the anonymous namespace to ensure that it will not generate // linkable symbols for every specialization in every library that uses it. -namespace { // NOLINT (build/namespaces) +namespace { // NOLINT(build/namespaces_headers) // Boilerplate for `std::visit`; see // https://en.cppreference.com/w/cpp/utility/variant/visit From 7916414eab58d2a553ee5a826bf5584519432f1d Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Mon, 10 Mar 2025 16:28:34 -0400 Subject: [PATCH 43/46] trivial comment fixes --- bindings/pydrake/common/text_logging_pybind.cc | 2 +- examples/pendulum/pendulum_parameters_derivatives.cc | 2 +- tools/workspace/cpplint_internal/repository.bzl | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/bindings/pydrake/common/text_logging_pybind.cc b/bindings/pydrake/common/text_logging_pybind.cc index c10299da78b2..fbfa2ee62cb9 100644 --- a/bindings/pydrake/common/text_logging_pybind.cc +++ b/bindings/pydrake/common/text_logging_pybind.cc @@ -64,7 +64,7 @@ class pylogging_sink final is_configured_.store(true); } - // NOLINTNEXTLINE (build/namespaces) This is how pybind11 wants it. + // NOLINTNEXTLINE(build/namespaces_literals) This is how pybind11 wants it. using namespace pybind11::literals; // Construct the LogRecord. diff --git a/examples/pendulum/pendulum_parameters_derivatives.cc b/examples/pendulum/pendulum_parameters_derivatives.cc index bb54d8dbcd8f..b26e2c230c89 100644 --- a/examples/pendulum/pendulum_parameters_derivatives.cc +++ b/examples/pendulum/pendulum_parameters_derivatives.cc @@ -47,7 +47,7 @@ int DoMain() { const PendulumState& xdot = PendulumPlant::get_state(*derivatives); - // NOLINTNEXTLINE (build/namespaces) Usage documented by fmt library. + // NOLINTNEXTLINE(build/namespaces_literals) Usage documented by fmt library. using namespace fmt::literals; // Derivatives values fmt::print("Forward dynamics, ẋ = [θ̇, ω̇]:\n"); diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index 7dc81cf91140..05c4667c9a18 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -6,7 +6,6 @@ def cpplint_internal_repository( github_archive( name = name, repository = "cpplint/cpplint", - # cpplint version targeted: v2.0.0-4-g80da3c1 03-06-2025 commit = "80da3c1ef37af017715dc1366fbda8263179bdeb", sha256 = "006d8ce87a2dcc8a644b78fe0c2d4d45bc52ca41414ea66d3c7dcd6ae3e61d9e", # noqa build_file = ":package.BUILD.bazel", From a8385c7b1041de0ac0fd4743b0b3e20b71fdd3b0 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Mon, 10 Mar 2025 17:35:37 -0400 Subject: [PATCH 44/46] patched whitespace/newline error: ALL LOCAL TESTS PASS --- .../patches/whitespace_newline.patch | 49 +++++++++++++++++++ .../workspace/cpplint_internal/repository.bzl | 5 +- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 tools/workspace/cpplint_internal/patches/whitespace_newline.patch diff --git a/tools/workspace/cpplint_internal/patches/whitespace_newline.patch b/tools/workspace/cpplint_internal/patches/whitespace_newline.patch new file mode 100644 index 000000000000..7b440484bbb1 --- /dev/null +++ b/tools/workspace/cpplint_internal/patches/whitespace_newline.patch @@ -0,0 +1,49 @@ +Address discrepancy between cpplint upstream and Google styleguide. + +Google styleguide allows for certain simple if statements to fit on +one line with spaces between the curly braces. While this is technically +a violation of the general styleguide, Google permits this exeption +"for historical reasons." Nevertheless, cpplint does not allow this. + +The fix basically adds a "made-up" error category and diverts the +expressions that trigger the aforementioned cases out of the more +general "whitespace/newline" category. The "made-up" name is then +added to the "_DEFAULT_FILTERS" list, effectively suppressing the +error violations in these specific cases. + +diff --git a/cpplint.py b/cpplint.py +index 7a8b8ab..130fd9d 100755 +--- cpplint.py ++++ cpplint.py +@@ -355,6 +355,7 @@ _ERROR_CATEGORIES = [ + 'whitespace/indent_namespace', + 'whitespace/line_length', + 'whitespace/newline', ++ 'whitespace/newline_controlled_statement', + 'whitespace/operators', + 'whitespace/parens', + 'whitespace/semicolon', +@@ -414,6 +415,7 @@ _OTHER_NOLINT_CATEGORY_PREFIXES = [ + _DEFAULT_FILTERS = [ + '-build/include_alpha', + '-readability/fn_size', ++ '-whitespace/newline_controlled_statement', + ] + + # The default list of categories suppressed for C (not C++) files. +@@ -4390,13 +4392,13 @@ def CheckBraces(filename, clean_lines, linenum, error): + if keyword := re.search( + r'\b(else if|if|while|for|switch)' # These have parens + r'\s*\(.*\)\s*(?:\[\[(?:un)?likely\]\]\s*)?{\s*[^\s\\};]', line): +- error(filename, linenum, 'whitespace/newline', 5, ++ error(filename, linenum, 'whitespace/newline_controlled_statement', 5, + f'Controlled statements inside brackets of {keyword.group(1)} clause' + ' should be on a separate line') + elif keyword := re.search( + r'\b(else|do|try)' # These don't have parens + r'\s*(?:\[\[(?:un)?likely\]\]\s*)?{\s*[^\s\\}]', line): +- error(filename, linenum, 'whitespace/newline', 5, ++ error(filename, linenum, 'whitespace/newline_controlled_statement', 5, + f'Controlled statements inside brackets of {keyword.group(1)} clause' + ' should be on a separate line') + diff --git a/tools/workspace/cpplint_internal/repository.bzl b/tools/workspace/cpplint_internal/repository.bzl index 05c4667c9a18..de77affebb37 100644 --- a/tools/workspace/cpplint_internal/repository.bzl +++ b/tools/workspace/cpplint_internal/repository.bzl @@ -9,6 +9,9 @@ def cpplint_internal_repository( commit = "80da3c1ef37af017715dc1366fbda8263179bdeb", sha256 = "006d8ce87a2dcc8a644b78fe0c2d4d45bc52ca41414ea66d3c7dcd6ae3e61d9e", # noqa build_file = ":package.BUILD.bazel", - patches = [":patches/transitive_includes.patch"], + patches = [ + ":patches/transitive_includes.patch", + ":patches/whitespace_newline.patch", + ], mirrors = mirrors, ) From 9857e2c94439e62d89b7ec200df25a7f84a3e24f Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Tue, 11 Mar 2025 09:41:15 -0400 Subject: [PATCH 45/46] whitespace and comment tweaks --- CPPLINT.cfg | 1 + .../cpplint_internal/patches/whitespace_newline.patch | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CPPLINT.cfg b/CPPLINT.cfg index d86540bdb89d..3a81402c8f0c 100644 --- a/CPPLINT.cfg +++ b/CPPLINT.cfg @@ -13,6 +13,7 @@ set noparent filter=-build/c++11 # Unlike Google, drake embraces . +# https://drake.mit.edu/styleguide/cppguide.html#Other_Features filter=-build/c++17 # Drake uses `#pragma once`, not the `#ifndef FOO_H` guard. diff --git a/tools/workspace/cpplint_internal/patches/whitespace_newline.patch b/tools/workspace/cpplint_internal/patches/whitespace_newline.patch index 7b440484bbb1..20be7c3c469d 100644 --- a/tools/workspace/cpplint_internal/patches/whitespace_newline.patch +++ b/tools/workspace/cpplint_internal/patches/whitespace_newline.patch @@ -2,14 +2,14 @@ Address discrepancy between cpplint upstream and Google styleguide. Google styleguide allows for certain simple if statements to fit on one line with spaces between the curly braces. While this is technically -a violation of the general styleguide, Google permits this exeption +a violation of the general styleguide, Google permits this exception "for historical reasons." Nevertheless, cpplint does not allow this. The fix basically adds a "made-up" error category and diverts the -expressions that trigger the aforementioned cases out of the more +expressions that trigger the aforementioned cases out of the more general "whitespace/newline" category. The "made-up" name is then added to the "_DEFAULT_FILTERS" list, effectively suppressing the -error violations in these specific cases. +error violations in these specific cases. diff --git a/cpplint.py b/cpplint.py index 7a8b8ab..130fd9d 100755 From e89ce79f2125e6dfa5df8f76d24fe79f5c74f908 Mon Sep 17 00:00:00 2001 From: Aiden McCormack Date: Wed, 12 Mar 2025 14:46:55 -0400 Subject: [PATCH 46/46] WIP reworked transitive includes patch --- .../patches/transitive_includes.patch | 96 ++++++++----------- 1 file changed, 38 insertions(+), 58 deletions(-) diff --git a/tools/workspace/cpplint_internal/patches/transitive_includes.patch b/tools/workspace/cpplint_internal/patches/transitive_includes.patch index 712d8ddc395c..68a3e523dd85 100644 --- a/tools/workspace/cpplint_internal/patches/transitive_includes.patch +++ b/tools/workspace/cpplint_internal/patches/transitive_includes.patch @@ -1,34 +1,43 @@ diff --git a/cpplint.py b/cpplint.py -index 7a8b8ab..b52a4e5 100755 +index 7a8b8ab..6ce7164 100755 --- cpplint.py +++ cpplint.py -@@ -6192,24 +6192,12 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, - if not line or line[0] == '#': - continue +@@ -6166,6 +6166,34 @@ def FilesBelongToSameModule(filename_cc, filename_h): + return files_belong_to_same_module, common_path -- _re_patterns = [] -- _re_patterns.extend(_re_pattern_types_or_objs) -- _re_patterns.extend(_re_pattern_functions) -- for pattern, item, header in _re_patterns: -- matched = pattern.search(line) -- if matched: -- # Don't warn about strings in non-STL namespaces: -- # (We check only the first match per line; good enough.) -- prefix = line[:matched.start()] -- if prefix.endswith('std::') or not prefix.endswith('::'): -- required[header] = (linenum, item) -- - for pattern, template, header in _re_pattern_headers_maybe_templates: - if pattern.search(line): - required[header] = (linenum, template) - # The following function is just a speed up, no semantics are changed. -- if '<' not in line: # Reduces the cpu time usage by skipping lines. -+ if not '<' in line: # Reduces the cpu time usage by skipping lines. - continue - - for pattern, template, header in _re_pattern_templates: -@@ -6221,25 +6209,57 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, ++def UpdateIncludeState(filename, include_dict, io=codecs): ++ """Fill up the include_dict with new includes found from the file. ++ Args: ++ filename: the name of the header to read. ++ include_dict: a dictionary in which the headers are inserted. ++ io: The io factory to use to read the file. Provided for testability. ++ Returns: ++ True if a header was successfully added. False otherwise. ++ """ ++ headerfile = None ++ try: ++ with io.open(filename, 'r', 'utf8', 'replace') as headerfile: ++ linenum = 0 ++ for line in headerfile: ++ linenum += 1 ++ clean_line = CleanseComments(line) ++ match = _RE_PATTERN_INCLUDE.search(clean_line) ++ if match: ++ include = match.group(2) ++ include_dict.setdefault(include.strip('<>"'), linenum) ++ return True ++ except IOError: ++ return False ++ ++ ++print("THIS VERSION OF CPPLINT HAS BEEN MODIFIED BY HAND") ++ ++ + def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, + io=codecs): + """Reports for missing stl includes. +@@ -6221,10 +6249,36 @@ def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, error, if prefix.endswith('std::') or not prefix.endswith('::'): required[header] = (linenum, template) @@ -59,38 +68,9 @@ index 7a8b8ab..b52a4e5 100755 + for header in header_keys: + (same_module, common_path) = FilesBelongToSameModule(abs_filename, header) + fullpath = common_path + header -+ if same_module: ++ if same_module and UpdateIncludeState(fullpath, include_dict, io): + header_found = True -+ -+ # If we can't find the header file for a .cc, assume it's because we don't -+ # know where to look. In that case we'll give up as we're not sure they -+ # didn't include it in the .h file. -+ # TODO(unknown): Do a better job of finding .h files so we are confident that -+ # not having the .h file means there isn't one. -+ if filename.endswith('.cc') and not header_found: -+ return + # All the lines have been processed, report the errors found. -- for header in sorted(required, key=required.__getitem__): -- template = required[header][1] -- header_stripped = header.strip('<>"') -- if (header_stripped not in include_dict -- and not (header_stripped[0] == 'c' -- and (header_stripped[1:] + '.h') in include_dict)): -- error(filename, required[header][0], -+ for required_header_unstripped in required: -+ template = required[required_header_unstripped][1] -+ if required_header_unstripped.strip('<>"') not in include_dict: -+ error(filename, required[required_header_unstripped][0], - 'build/include_what_you_use', 4, -- 'Add #include ' + header + ' for ' + template) -+ 'Add #include ' + required_header_unstripped + ' for ' + template) - - - _RE_PATTERN_EXPLICIT_MAKEPAIR = re.compile(r'\bmake_pair\s*<') - - -+ - def CheckMakePairUsesDeduction(filename, clean_lines, linenum, error): - """Check that make_pair's template arguments are deduced. - \ No newline at end of file + for header in sorted(required, key=required.__getitem__): + template = required[header][1]