From 0ed8ccd5cdd1e24dc96a96e9d2e4745f3a8a0be3 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 16 May 2025 09:30:03 +0100 Subject: [PATCH 1/5] Documentation udpdate --- .pre-commit-config.yaml | 2 + docs/DATASETS.md | 81 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 docs/DATASETS.md diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8595305..5b08b0e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,10 +5,12 @@ repos: hooks: - id: ruff - id: ruff-format + - repo: https://github.com/jackdewinter/pymarkdown rev: v0.9.23 hooks: - id: pymarkdown + exclude: docs/DATASETS.md - repo: local hooks: - id: nbqa-ruff diff --git a/docs/DATASETS.md b/docs/DATASETS.md new file mode 100644 index 0000000..258424b --- /dev/null +++ b/docs/DATASETS.md @@ -0,0 +1,81 @@ +# Disaster Dataset Sources and Manual Update Instructions + +This project includes a collection of global disaster-related datasets stored in +Azure Blob Storage under the `disaster-impact/raw/` container. These datasets +were **manually extracted** due to the lack of stable APIs or consistent +machine-readable download endpoints. + +## Manual Update Process + +Most sources do not provide stable APIs or bulk data endpoints. Therefore, to +update any of the datasets: + +1. Visit the source link listed in the table below. +2. Locate and download any new records since the last extraction. +3. Either: + - Append new entries to the existing CSVs stored in the Azure blob, or + - Replace the file entirely with a newly exported version. +4. Upload updated files to the correct path inside the + `disaster-impact/raw/` container. + +**Important**: Always preserve the folder structure to avoid breaking downstream +processes. + +## Web-Scraped Legacy Datasets (Now Blocked or Fragile) + +Some datasets were initially extracted using automated **web scraping scripts**. +These techniques are no longer reliable or allowed due to changes in site +structure or access restrictions. The following datasets fall under this +category: + +- CERF Activations +- Disaster Charter Activations +- GLIDE Events +- GDACS Events +- WFP ADAM + +### How to Update These + +To update any of the above, **please contact the relevant data owners** or +collaborators and request: + +- API access (if available), **or** +- A recent **CSV export or database snapshot/screenshot** + +Web scraping methods used previously are now deprecated and must not be reused +without permission. + +## Dataset Summary + +| Dataset Name | Source Link | Status | Historical Coverage | Blob Path | Notes | +|-----------------------------|------------------------------------------------------------------------------|-------------|----------------------|-----------------------------------------|----------------------------------------------------------------| +| Disaster Charter Activation | [https://disasterscharter.org/en/web/guest/charter-activations](https://disasterscharter.org/en/web/guest/charter-activations) | Done | Since 2000 | `disaster-impact/raw/disaster-charter/` | Originally scraped; manual update required | +| CERF Activations | [https://cerf.un.org/fundingByEmergency/all](https://cerf.un.org/fundingByEmergency/all) | Done | Since 2006 | `disaster-impact/raw/cerf/` | Scraping deprecated; request manual export | +| GLIDE Events | [https://glidenumber.net/glide/public/search/search.jsp](https://glidenumber.net/glide/public/search/search.jsp) | Done | Since 1930 | `disaster-impact/raw/glide/glide_events.csv` | Manual web form scrape; unstable for automation | +| GDACS Events | [https://www.gdacs.org/gdacsapi/api/events/geteventlist/SEARCH](https://www.gdacs.org/gdacsapi/api/events/geteventlist/SEARCH) | Done | Since 2000 | `disaster-impact/raw/gdacs/` | API limited | +| ADAM (WFP) | [https://gis.wfp.org/adamlive/](https://gis.wfp.org/adamlive/) | Blocked | Since 2024 | `disaster-impact/raw/wfp_adam/` | Scraping blocked; ask WFP for data access | +| CEMS Copernicus | [https://emergency.copernicus.eu/mapping/list-of-activations-rapid](https://emergency.copernicus.eu/mapping/list-of-activations-rapid) | In Progress | Since 2012 | *(pending)* | Has API; integration underway | +| IBTrACS | [https://www.ncei.noaa.gov/products/international-best-track-archive](https://www.ncei.noaa.gov/products/international-best-track-archive) | Done | Since 1842 | `disaster-impact/raw/ibtracs/IBTrACS.ALL.v04r00.nc` | Stable NetCDF source | +| PDC | *(no public link)* | Blocked | *(unknown)* | *(pending)* | Requires account setup | +| IFRC DREF | [https://go.ifrc.org/emergencies/all](https://go.ifrc.org/emergencies/all) | Done | Since 2018 | `disaster-impact/raw/ifrc_dref/` | Public CSV download | +| IDMC IDUs | [https://helix-tools-api.idmcdb.org/external-api/idus/all/?client_id=UNOCHA01AUG22](https://helix-tools-api.idmcdb.org/external-api/idus/all/?client_id=UNOCHA01AUG22) | Done | Since 2016 | `disaster-impact/raw/idmc_idu/` | Stable tokenized API | +| EM-DAT | [https://public.emdat.be/data](https://public.emdat.be/data) | Done | Since 2000 | `disaster-impact/raw/emdat/` | Download from public access site | + +## Future Datasets (Planned or Deferred) + +These datasets are under consideration for future inclusion. No data has been +extracted yet. + +- Dartmouth Flood Observatory +- DesInventar +- Earthquake data (GEM / USGS) +- Google FloodHub +- GloFAS +- IATI (Aid Transparency) +- FTS (Financial Tracking Service) +- EW4A (Evaluation of Early Warning) + +--- + +Please follow the established folder structure and naming convention when +contributing additional datasets to maintain consistency across the project. From 7fa4725d0fd5c7bdaf0eb325dc43b39d1058a68f Mon Sep 17 00:00:00 2001 From: ediakatos Date: Mon, 19 May 2025 08:57:45 +0100 Subject: [PATCH 2/5] fix: patched tornado (CVE-2025-47287) by upgrading to >=6.5.0 --- poetry.lock | 3057 ++++++++++++++++++++++++------------------------ pyproject.toml | 1 + 2 files changed, 1548 insertions(+), 1510 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7e5ffff..e47cd47 100644 --- a/poetry.lock +++ b/poetry.lock @@ -55,20 +55,20 @@ test = ["astroid (>=2,<4)", "pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "attrs" -version = "24.2.0" +version = "25.3.0" description = "Classes Without Boilerplate" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, - {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, + {file = "attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3"}, + {file = "attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"}, ] [package.extras] benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"] tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] @@ -89,13 +89,13 @@ tomli = {version = "*", markers = "python_version < \"3.11\""} [[package]] name = "azure-core" -version = "1.32.0" +version = "1.34.0" description = "Microsoft Azure Core Library for Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "azure_core-1.32.0-py3-none-any.whl", hash = "sha256:eac191a0efb23bfa83fddf321b27b122b4ec847befa3091fa736a5c32c50d7b4"}, - {file = "azure_core-1.32.0.tar.gz", hash = "sha256:22b3c35d6b2dae14990f6c1be2912bf23ffe50b220e708a28ab1bb92b1c730e5"}, + {file = "azure_core-1.34.0-py3-none-any.whl", hash = "sha256:0615d3b756beccdb6624d1c0ae97284f38b78fb59a2a9839bf927c66fbbdddd6"}, + {file = "azure_core-1.34.0.tar.gz", hash = "sha256:bdb544989f246a0ad1c85d72eeb45f2f835afdcbc5b45e43f0dbde7461c81ece"}, ] [package.dependencies] @@ -105,16 +105,17 @@ typing-extensions = ">=4.6.0" [package.extras] aio = ["aiohttp (>=3.0)"] +tracing = ["opentelemetry-api (>=1.26,<2.0)"] [[package]] name = "azure-identity" -version = "1.19.0" +version = "1.23.0" description = "Microsoft Azure Identity Library for Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "azure_identity-1.19.0-py3-none-any.whl", hash = "sha256:e3f6558c181692d7509f09de10cca527c7dce426776454fb97df512a46527e81"}, - {file = "azure_identity-1.19.0.tar.gz", hash = "sha256:500144dc18197d7019b81501165d4fa92225f03778f17d7ca8a2a180129a9c83"}, + {file = "azure_identity-1.23.0-py3-none-any.whl", hash = "sha256:dbbeb64b8e5eaa81c44c565f264b519ff2de7ff0e02271c49f3cb492762a50b0"}, + {file = "azure_identity-1.23.0.tar.gz", hash = "sha256:d9cdcad39adb49d4bb2953a217f62aec1f65bbb3c63c9076da2be2a47e53dde4"}, ] [package.dependencies] @@ -126,13 +127,13 @@ typing-extensions = ">=4.0.0" [[package]] name = "azure-storage-blob" -version = "12.24.1" +version = "12.25.1" description = "Microsoft Azure Blob Storage Client Library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "azure_storage_blob-12.24.1-py3-none-any.whl", hash = "sha256:77fb823fdbac7f3c11f7d86a5892e2f85e161e8440a7489babe2195bf248f09e"}, - {file = "azure_storage_blob-12.24.1.tar.gz", hash = "sha256:052b2a1ea41725ba12e2f4f17be85a54df1129e13ea0321f5a2fcc851cbf47d4"}, + {file = "azure_storage_blob-12.25.1-py3-none-any.whl", hash = "sha256:1f337aab12e918ec3f1b638baada97550673911c4ceed892acc8e4e891b74167"}, + {file = "azure_storage_blob-12.25.1.tar.gz", hash = "sha256:4f294ddc9bc47909ac66b8934bd26b50d2000278b10ad82cc109764fdc6e0e3b"}, ] [package.dependencies] @@ -146,17 +147,18 @@ aio = ["azure-core[aio] (>=1.30.0)"] [[package]] name = "beautifulsoup4" -version = "4.12.3" +version = "4.13.4" description = "Screen-scraping library" optional = false -python-versions = ">=3.6.0" +python-versions = ">=3.7.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.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b"}, + {file = "beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195"}, ] [package.dependencies] soupsieve = ">1.2" +typing-extensions = ">=4.0.0" [package.extras] cchardet = ["cchardet"] @@ -225,24 +227,24 @@ beautifulsoup4 = "*" [[package]] name = "cachetools" -version = "5.5.0" +version = "5.5.2" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" files = [ - {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, - {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, + {file = "cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a"}, + {file = "cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4"}, ] [[package]] name = "certifi" -version = "2024.8.30" +version = "2025.4.26" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, + {file = "certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3"}, + {file = "certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6"}, ] [[package]] @@ -348,116 +350,103 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.4.0" +version = "3.4.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false -python-versions = ">=3.7.0" +python-versions = ">=3.7" files = [ - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, - {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, - {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-win32.whl", hash = "sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-win32.whl", hash = "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e"}, + {file = "charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0"}, + {file = "charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63"}, ] [[package]] @@ -512,13 +501,13 @@ testing = ["pyfakefs (==5.3.5)"] [[package]] name = "click" -version = "8.1.7" +version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, + {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, + {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, ] [package.dependencies] @@ -569,65 +558,68 @@ test = ["pytest"] [[package]] name = "contourpy" -version = "1.3.1" +version = "1.3.2" description = "Python library for calculating contours of 2D quadrilateral grids" optional = false python-versions = ">=3.10" files = [ - {file = "contourpy-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a045f341a77b77e1c5de31e74e966537bba9f3c4099b35bf4c2e3939dd54cdab"}, - {file = "contourpy-1.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:500360b77259914f7805af7462e41f9cb7ca92ad38e9f94d6c8641b089338124"}, - {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2f926efda994cdf3c8d3fdb40b9962f86edbc4457e739277b961eced3d0b4c1"}, - {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adce39d67c0edf383647a3a007de0a45fd1b08dedaa5318404f1a73059c2512b"}, - {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abbb49fb7dac584e5abc6636b7b2a7227111c4f771005853e7d25176daaf8453"}, - {file = "contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0cffcbede75c059f535725c1680dfb17b6ba8753f0c74b14e6a9c68c29d7ea3"}, - {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab29962927945d89d9b293eabd0d59aea28d887d4f3be6c22deaefbb938a7277"}, - {file = "contourpy-1.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:974d8145f8ca354498005b5b981165b74a195abfae9a8129df3e56771961d595"}, - {file = "contourpy-1.3.1-cp310-cp310-win32.whl", hash = "sha256:ac4578ac281983f63b400f7fe6c101bedc10651650eef012be1ccffcbacf3697"}, - {file = "contourpy-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:174e758c66bbc1c8576992cec9599ce8b6672b741b5d336b5c74e35ac382b18e"}, - {file = "contourpy-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8b974d8db2c5610fb4e76307e265de0edb655ae8169e8b21f41807ccbeec4b"}, - {file = "contourpy-1.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20914c8c973f41456337652a6eeca26d2148aa96dd7ac323b74516988bea89fc"}, - {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19d40d37c1c3a4961b4619dd9d77b12124a453cc3d02bb31a07d58ef684d3d86"}, - {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:113231fe3825ebf6f15eaa8bc1f5b0ddc19d42b733345eae0934cb291beb88b6"}, - {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dbbc03a40f916a8420e420d63e96a1258d3d1b58cbdfd8d1f07b49fcbd38e85"}, - {file = "contourpy-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a04ecd68acbd77fa2d39723ceca4c3197cb2969633836ced1bea14e219d077c"}, - {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c414fc1ed8ee1dbd5da626cf3710c6013d3d27456651d156711fa24f24bd1291"}, - {file = "contourpy-1.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:31c1b55c1f34f80557d3830d3dd93ba722ce7e33a0b472cba0ec3b6535684d8f"}, - {file = "contourpy-1.3.1-cp311-cp311-win32.whl", hash = "sha256:f611e628ef06670df83fce17805c344710ca5cde01edfdc72751311da8585375"}, - {file = "contourpy-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:b2bdca22a27e35f16794cf585832e542123296b4687f9fd96822db6bae17bfc9"}, - {file = "contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509"}, - {file = "contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc"}, - {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454"}, - {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80"}, - {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec"}, - {file = "contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9"}, - {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b"}, - {file = "contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d"}, - {file = "contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e"}, - {file = "contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d"}, - {file = "contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2"}, - {file = "contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5"}, - {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81"}, - {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2"}, - {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7"}, - {file = "contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c"}, - {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3"}, - {file = "contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1"}, - {file = "contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82"}, - {file = "contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd"}, - {file = "contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30"}, - {file = "contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751"}, - {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342"}, - {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c"}, - {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f"}, - {file = "contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda"}, - {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242"}, - {file = "contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1"}, - {file = "contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1"}, - {file = "contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546"}, - {file = "contourpy-1.3.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b457d6430833cee8e4b8e9b6f07aa1c161e5e0d52e118dc102c8f9bd7dd060d6"}, - {file = "contourpy-1.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb76c1a154b83991a3cbbf0dfeb26ec2833ad56f95540b442c73950af2013750"}, - {file = "contourpy-1.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:44a29502ca9c7b5ba389e620d44f2fbe792b1fb5734e8b931ad307071ec58c53"}, - {file = "contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699"}, + {file = "contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934"}, + {file = "contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989"}, + {file = "contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d"}, + {file = "contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9"}, + {file = "contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512"}, + {file = "contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631"}, + {file = "contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f"}, + {file = "contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2"}, + {file = "contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0"}, + {file = "contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a"}, + {file = "contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445"}, + {file = "contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773"}, + {file = "contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1"}, + {file = "contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43"}, + {file = "contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab"}, + {file = "contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7"}, + {file = "contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83"}, + {file = "contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd"}, + {file = "contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f"}, + {file = "contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878"}, + {file = "contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2"}, + {file = "contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15"}, + {file = "contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92"}, + {file = "contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87"}, + {file = "contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415"}, + {file = "contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe"}, + {file = "contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441"}, + {file = "contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e"}, + {file = "contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912"}, + {file = "contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73"}, + {file = "contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb"}, + {file = "contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08"}, + {file = "contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c"}, + {file = "contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f"}, + {file = "contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85"}, + {file = "contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841"}, + {file = "contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422"}, + {file = "contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef"}, + {file = "contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f"}, + {file = "contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9"}, + {file = "contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f"}, + {file = "contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739"}, + {file = "contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823"}, + {file = "contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5"}, + {file = "contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532"}, + {file = "contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b"}, + {file = "contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52"}, + {file = "contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd"}, + {file = "contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1"}, + {file = "contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69"}, + {file = "contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c"}, + {file = "contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16"}, + {file = "contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad"}, + {file = "contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0"}, + {file = "contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5"}, + {file = "contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5"}, + {file = "contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54"}, ] [package.dependencies] @@ -636,57 +628,67 @@ numpy = ">=1.23" [package.extras] bokeh = ["bokeh", "selenium"] docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pillow"] +mypy = ["bokeh", "contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.15.0)", "types-Pillow"] test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] [[package]] name = "cryptography" -version = "44.0.0" +version = "45.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = "!=3.9.0,!=3.9.1,>=3.7" files = [ - {file = "cryptography-44.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:84111ad4ff3f6253820e6d3e58be2cc2a00adb29335d4cacb5ab4d4d34f2a123"}, - {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092"}, - {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f"}, - {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb"}, - {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3c672a53c0fb4725a29c303be906d3c1fa99c32f58abe008a82705f9ee96f40b"}, - {file = "cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543"}, - {file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e"}, - {file = "cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e"}, - {file = "cryptography-44.0.0-cp37-abi3-win32.whl", hash = "sha256:eb33480f1bad5b78233b0ad3e1b0be21e8ef1da745d8d2aecbb20671658b9053"}, - {file = "cryptography-44.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:abc998e0c0eee3c8a1904221d3f67dcfa76422b23620173e28c11d3e626c21bd"}, - {file = "cryptography-44.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:660cb7312a08bc38be15b696462fa7cc7cd85c3ed9c576e81f4dc4d8b2b31591"}, - {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7"}, - {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc"}, - {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289"}, - {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f53c2c87e0fb4b0c00fa9571082a057e37690a8f12233306161c8f4b819960b7"}, - {file = "cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c"}, - {file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64"}, - {file = "cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285"}, - {file = "cryptography-44.0.0-cp39-abi3-win32.whl", hash = "sha256:eca27345e1214d1b9f9490d200f9db5a874479be914199194e746c893788d417"}, - {file = "cryptography-44.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:708ee5f1bafe76d041b53a4f95eb28cdeb8d18da17e597d46d7833ee59b97ede"}, - {file = "cryptography-44.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:37d76e6863da3774cd9db5b409a9ecfd2c71c981c38788d3fcfaf177f447b731"}, - {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f677e1268c4e23420c3acade68fac427fffcb8d19d7df95ed7ad17cdef8404f4"}, - {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5e7cb1e5e56ca0933b4873c0220a78b773b24d40d186b6738080b73d3d0a756"}, - {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:8b3e6eae66cf54701ee7d9c83c30ac0a1e3fa17be486033000f2a73a12ab507c"}, - {file = "cryptography-44.0.0-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:be4ce505894d15d5c5037167ffb7f0ae90b7be6f2a98f9a5c3442395501c32fa"}, - {file = "cryptography-44.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:62901fb618f74d7d81bf408c8719e9ec14d863086efe4185afd07c352aee1d2c"}, - {file = "cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02"}, + {file = "cryptography-45.0.2-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84"}, + {file = "cryptography-45.0.2-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839"}, + {file = "cryptography-45.0.2-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe"}, + {file = "cryptography-45.0.2-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3"}, + {file = "cryptography-45.0.2-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b"}, + {file = "cryptography-45.0.2-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9"}, + {file = "cryptography-45.0.2-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059"}, + {file = "cryptography-45.0.2-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949"}, + {file = "cryptography-45.0.2-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6"}, + {file = "cryptography-45.0.2-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627"}, + {file = "cryptography-45.0.2-cp311-abi3-win32.whl", hash = "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a"}, + {file = "cryptography-45.0.2-cp311-abi3-win_amd64.whl", hash = "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb"}, + {file = "cryptography-45.0.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a"}, + {file = "cryptography-45.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253"}, + {file = "cryptography-45.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2"}, + {file = "cryptography-45.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d"}, + {file = "cryptography-45.0.2-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344"}, + {file = "cryptography-45.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965"}, + {file = "cryptography-45.0.2-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942"}, + {file = "cryptography-45.0.2-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b"}, + {file = "cryptography-45.0.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a"}, + {file = "cryptography-45.0.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed"}, + {file = "cryptography-45.0.2-cp37-abi3-win32.whl", hash = "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b"}, + {file = "cryptography-45.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4"}, + {file = "cryptography-45.0.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a8ec324711596fbf21837d3a5db543937dd84597d364769b46e0102250023f77"}, + {file = "cryptography-45.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:965611880c3fa8e504b7458484c0697e00ae6e937279cd6734fdaa2bc954dc49"}, + {file = "cryptography-45.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d891942592789fa0ab71b502550bbadb12f540d7413d7d7c4cef4b02af0f5bc6"}, + {file = "cryptography-45.0.2-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:b19f4b28dd2ef2e6d600307fee656c00825a2980c4356a7080bd758d633c3a6f"}, + {file = "cryptography-45.0.2-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:7c73968fbb7698a4c5d6160859db560d3aac160edde89c751edd5a8bc6560c88"}, + {file = "cryptography-45.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:501de1296b2041dccf2115e3c7d4947430585601b251b140970ce255c5cfb985"}, + {file = "cryptography-45.0.2-pp311-pypy311_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1655d3a76e3dedb683c982a6c3a2cbfae2d08f47a48ec5a3d58db52b3d29ea6f"}, + {file = "cryptography-45.0.2-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc7693573f16535428183de8fd27f0ca1ca37a51baa0b41dc5ed7b3d68fe80e2"}, + {file = "cryptography-45.0.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:614bca7c6ed0d8ad1dce683a6289afae1f880675b4090878a0136c3da16bc693"}, + {file = "cryptography-45.0.2-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:4142e20c29224cec63e9e32eb1e6014fb285fe39b7be66b3564ca978a3a8afe9"}, + {file = "cryptography-45.0.2-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:9a900036b42f7324df7c7ad9569eb92ba0b613cf699160dd9c2154b24fd02f8e"}, + {file = "cryptography-45.0.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:057723b79752a142efbc609e90b0dff27b0361ccbee3bd48312d70f5cdf53b78"}, + {file = "cryptography-45.0.2.tar.gz", hash = "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf"}, ] [package.dependencies] -cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} +cffi = {version = ">=1.14", markers = "platform_python_implementation != \"PyPy\""} [package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=3.0.0)"] +docs = ["sphinx (>=5.3.0)", "sphinx-inline-tabs", "sphinx-rtd-theme (>=3.0.0)"] docstest = ["pyenchant (>=3)", "readme-renderer (>=30.0)", "sphinxcontrib-spelling (>=7.3.1)"] nox = ["nox (>=2024.4.15)", "nox[uv] (>=2024.3.2)"] pep8test = ["check-sdist", "click (>=8.0.1)", "mypy (>=1.4)", "ruff (>=0.3.6)"] sdist = ["build (>=1.0.0)"] ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi (>=2024)", "cryptography-vectors (==44.0.0)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"] +test = ["certifi (>=2024)", "cryptography-vectors (==45.0.2)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"] test-randomorder = ["pytest-randomly"] [[package]] @@ -706,48 +708,48 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] [[package]] name = "debugpy" -version = "1.8.9" +version = "1.8.14" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" files = [ - {file = "debugpy-1.8.9-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:cfe1e6c6ad7178265f74981edf1154ffce97b69005212fbc90ca22ddfe3d017e"}, - {file = "debugpy-1.8.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada7fb65102a4d2c9ab62e8908e9e9f12aed9d76ef44880367bc9308ebe49a0f"}, - {file = "debugpy-1.8.9-cp310-cp310-win32.whl", hash = "sha256:c36856343cbaa448171cba62a721531e10e7ffb0abff838004701454149bc037"}, - {file = "debugpy-1.8.9-cp310-cp310-win_amd64.whl", hash = "sha256:17c5e0297678442511cf00a745c9709e928ea4ca263d764e90d233208889a19e"}, - {file = "debugpy-1.8.9-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:b74a49753e21e33e7cf030883a92fa607bddc4ede1aa4145172debc637780040"}, - {file = "debugpy-1.8.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62d22dacdb0e296966d7d74a7141aaab4bec123fa43d1a35ddcb39bf9fd29d70"}, - {file = "debugpy-1.8.9-cp311-cp311-win32.whl", hash = "sha256:8138efff315cd09b8dcd14226a21afda4ca582284bf4215126d87342bba1cc66"}, - {file = "debugpy-1.8.9-cp311-cp311-win_amd64.whl", hash = "sha256:ff54ef77ad9f5c425398efb150239f6fe8e20c53ae2f68367eba7ece1e96226d"}, - {file = "debugpy-1.8.9-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:957363d9a7a6612a37458d9a15e72d03a635047f946e5fceee74b50d52a9c8e2"}, - {file = "debugpy-1.8.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e565fc54b680292b418bb809f1386f17081d1346dca9a871bf69a8ac4071afe"}, - {file = "debugpy-1.8.9-cp312-cp312-win32.whl", hash = "sha256:3e59842d6c4569c65ceb3751075ff8d7e6a6ada209ceca6308c9bde932bcef11"}, - {file = "debugpy-1.8.9-cp312-cp312-win_amd64.whl", hash = "sha256:66eeae42f3137eb428ea3a86d4a55f28da9bd5a4a3d369ba95ecc3a92c1bba53"}, - {file = "debugpy-1.8.9-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:957ecffff80d47cafa9b6545de9e016ae8c9547c98a538ee96ab5947115fb3dd"}, - {file = "debugpy-1.8.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1efbb3ff61487e2c16b3e033bc8595aea578222c08aaf3c4bf0f93fadbd662ee"}, - {file = "debugpy-1.8.9-cp313-cp313-win32.whl", hash = "sha256:7c4d65d03bee875bcb211c76c1d8f10f600c305dbd734beaed4077e902606fee"}, - {file = "debugpy-1.8.9-cp313-cp313-win_amd64.whl", hash = "sha256:e46b420dc1bea64e5bbedd678148be512442bc589b0111bd799367cde051e71a"}, - {file = "debugpy-1.8.9-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:472a3994999fe6c0756945ffa359e9e7e2d690fb55d251639d07208dbc37caea"}, - {file = "debugpy-1.8.9-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:365e556a4772d7d0d151d7eb0e77ec4db03bcd95f26b67b15742b88cacff88e9"}, - {file = "debugpy-1.8.9-cp38-cp38-win32.whl", hash = "sha256:54a7e6d3014c408eb37b0b06021366ee985f1539e12fe49ca2ee0d392d9ceca5"}, - {file = "debugpy-1.8.9-cp38-cp38-win_amd64.whl", hash = "sha256:8e99c0b1cc7bf86d83fb95d5ccdc4ad0586d4432d489d1f54e4055bcc795f693"}, - {file = "debugpy-1.8.9-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:7e8b079323a56f719977fde9d8115590cb5e7a1cba2fcee0986ef8817116e7c1"}, - {file = "debugpy-1.8.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6953b335b804a41f16a192fa2e7851bdcfd92173cbb2f9f777bb934f49baab65"}, - {file = "debugpy-1.8.9-cp39-cp39-win32.whl", hash = "sha256:7e646e62d4602bb8956db88b1e72fe63172148c1e25c041e03b103a25f36673c"}, - {file = "debugpy-1.8.9-cp39-cp39-win_amd64.whl", hash = "sha256:3d9755e77a2d680ce3d2c5394a444cf42be4a592caaf246dbfbdd100ffcf7ae5"}, - {file = "debugpy-1.8.9-py2.py3-none-any.whl", hash = "sha256:cc37a6c9987ad743d9c3a14fa1b1a14b7e4e6041f9dd0c8abf8895fe7a97b899"}, - {file = "debugpy-1.8.9.zip", hash = "sha256:1339e14c7d980407248f09824d1b25ff5c5616651689f1e0f0e51bdead3ea13e"}, + {file = "debugpy-1.8.14-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:93fee753097e85623cab1c0e6a68c76308cd9f13ffdf44127e6fab4fbf024339"}, + {file = "debugpy-1.8.14-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d937d93ae4fa51cdc94d3e865f535f185d5f9748efb41d0d49e33bf3365bd79"}, + {file = "debugpy-1.8.14-cp310-cp310-win32.whl", hash = "sha256:c442f20577b38cc7a9aafecffe1094f78f07fb8423c3dddb384e6b8f49fd2987"}, + {file = "debugpy-1.8.14-cp310-cp310-win_amd64.whl", hash = "sha256:f117dedda6d969c5c9483e23f573b38f4e39412845c7bc487b6f2648df30fe84"}, + {file = "debugpy-1.8.14-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:1b2ac8c13b2645e0b1eaf30e816404990fbdb168e193322be8f545e8c01644a9"}, + {file = "debugpy-1.8.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf431c343a99384ac7eab2f763980724834f933a271e90496944195318c619e2"}, + {file = "debugpy-1.8.14-cp311-cp311-win32.whl", hash = "sha256:c99295c76161ad8d507b413cd33422d7c542889fbb73035889420ac1fad354f2"}, + {file = "debugpy-1.8.14-cp311-cp311-win_amd64.whl", hash = "sha256:7816acea4a46d7e4e50ad8d09d963a680ecc814ae31cdef3622eb05ccacf7b01"}, + {file = "debugpy-1.8.14-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:8899c17920d089cfa23e6005ad9f22582fd86f144b23acb9feeda59e84405b84"}, + {file = "debugpy-1.8.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6bb5c0dcf80ad5dbc7b7d6eac484e2af34bdacdf81df09b6a3e62792b722826"}, + {file = "debugpy-1.8.14-cp312-cp312-win32.whl", hash = "sha256:281d44d248a0e1791ad0eafdbbd2912ff0de9eec48022a5bfbc332957487ed3f"}, + {file = "debugpy-1.8.14-cp312-cp312-win_amd64.whl", hash = "sha256:5aa56ef8538893e4502a7d79047fe39b1dae08d9ae257074c6464a7b290b806f"}, + {file = "debugpy-1.8.14-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:329a15d0660ee09fec6786acdb6e0443d595f64f5d096fc3e3ccf09a4259033f"}, + {file = "debugpy-1.8.14-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f920c7f9af409d90f5fd26e313e119d908b0dd2952c2393cd3247a462331f15"}, + {file = "debugpy-1.8.14-cp313-cp313-win32.whl", hash = "sha256:3784ec6e8600c66cbdd4ca2726c72d8ca781e94bce2f396cc606d458146f8f4e"}, + {file = "debugpy-1.8.14-cp313-cp313-win_amd64.whl", hash = "sha256:684eaf43c95a3ec39a96f1f5195a7ff3d4144e4a18d69bb66beeb1a6de605d6e"}, + {file = "debugpy-1.8.14-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:d5582bcbe42917bc6bbe5c12db1bffdf21f6bfc28d4554b738bf08d50dc0c8c3"}, + {file = "debugpy-1.8.14-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5349b7c3735b766a281873fbe32ca9cca343d4cc11ba4a743f84cb854339ff35"}, + {file = "debugpy-1.8.14-cp38-cp38-win32.whl", hash = "sha256:7118d462fe9724c887d355eef395fae68bc764fd862cdca94e70dcb9ade8a23d"}, + {file = "debugpy-1.8.14-cp38-cp38-win_amd64.whl", hash = "sha256:d235e4fa78af2de4e5609073972700523e372cf5601742449970110d565ca28c"}, + {file = "debugpy-1.8.14-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:413512d35ff52c2fb0fd2d65e69f373ffd24f0ecb1fac514c04a668599c5ce7f"}, + {file = "debugpy-1.8.14-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c9156f7524a0d70b7a7e22b2e311d8ba76a15496fb00730e46dcdeedb9e1eea"}, + {file = "debugpy-1.8.14-cp39-cp39-win32.whl", hash = "sha256:b44985f97cc3dd9d52c42eb59ee9d7ee0c4e7ecd62bca704891f997de4cef23d"}, + {file = "debugpy-1.8.14-cp39-cp39-win_amd64.whl", hash = "sha256:b1528cfee6c1b1c698eb10b6b096c598738a8238822d218173d21c3086de8123"}, + {file = "debugpy-1.8.14-py2.py3-none-any.whl", hash = "sha256:5cd9a579d553b6cb9759a7908a41988ee6280b961f24f63336835d9418216a20"}, + {file = "debugpy-1.8.14.tar.gz", hash = "sha256:7cd287184318416850aa8b60ac90105837bb1e59531898c07569d197d2ed5322"}, ] [[package]] name = "decorator" -version = "5.1.1" +version = "5.2.1" description = "Decorators for Humans" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" 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]] @@ -770,13 +772,13 @@ docs = ["sphinx (>=4.4)"] [[package]] name = "distlib" -version = "0.3.8" +version = "0.3.9" description = "Distribution utilities" optional = false python-versions = "*" files = [ - {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, - {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, + {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, + {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, ] [[package]] @@ -848,27 +850,30 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.2.2" +version = "1.3.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, + {file = "exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10"}, + {file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"}, ] +[package.dependencies] +typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} + [package.extras] test = ["pytest (>=6)"] [[package]] name = "executing" -version = "2.1.0" +version = "2.2.0" description = "Get the currently executing AST node of a frame, and other information" optional = false python-versions = ">=3.8" files = [ - {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, - {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, + {file = "executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa"}, + {file = "executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755"}, ] [package.extras] @@ -876,77 +881,69 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth [[package]] name = "filelock" -version = "3.16.1" +version = "3.18.0" description = "A platform independent file lock." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, - {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, + {file = "filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de"}, + {file = "filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.10)", "diff-cover (>=9.2.1)", "pytest (>=8.3.4)", "pytest-asyncio (>=0.25.2)", "pytest-cov (>=6)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.28.1)"] typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "fonttools" -version = "4.55.4" +version = "4.58.0" description = "Tools to manipulate font files" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "fonttools-4.55.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3b332ea7b7f5f3d99f9bc5a28a23c3824ae72711abf7c4e1d62fa21699fdebe7"}, - {file = "fonttools-4.55.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d8f925909256e62152e7c3e192655dbca3ab8c3cdef7d7b436732727e80feb6"}, - {file = "fonttools-4.55.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a58af9b98e39bcd773aa352b4512be79b472830b799cb1d3cafb2b4796b71cd"}, - {file = "fonttools-4.55.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:736d750d2ab4523067d8058e5294b40b01f2eee521e0fd401bec0d5e21e80b12"}, - {file = "fonttools-4.55.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1a9a2e7e8a9d3bfa9589db3e6c4e4c127fec252493924b2f87a67a25f9430057"}, - {file = "fonttools-4.55.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:87824368e994af34a95cb4279a8c711e51974b3c28d052d39d768531cc9e8e59"}, - {file = "fonttools-4.55.4-cp310-cp310-win32.whl", hash = "sha256:6c36dcbfe64bce38c4d4f1d436cdc6445e969eee96eb98d98be603b5abf8c3f2"}, - {file = "fonttools-4.55.4-cp310-cp310-win_amd64.whl", hash = "sha256:3c53a467e5cf629acdbefc98b0f554859539fb6447bbeae4117b9ab51464ccc5"}, - {file = "fonttools-4.55.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1605b28165c785bf26c2cbd205dc0822463e3f9f56f187049eb214dc5f4a59cb"}, - {file = "fonttools-4.55.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d851d8b2fdb676507365d1430c3285d62c4039d0d7760d8cf2f2e5ea3aa19d73"}, - {file = "fonttools-4.55.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fb3cf1cddf08cec0338f238f950cb76fabab23a324a579e3e1f9b2ef2578329"}, - {file = "fonttools-4.55.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddd3208b06186ca00fbd329c0d0fed5ba209c99017cc46e2c4ea42233c2fbd00"}, - {file = "fonttools-4.55.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9bd98819cb585a894dda9dcb337afeb2601abf17da17de7bfbfc1bc2e4a062c7"}, - {file = "fonttools-4.55.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4877376c10541e8dccf14876c8476d5082338fa5d21103894894382cc245144b"}, - {file = "fonttools-4.55.4-cp311-cp311-win32.whl", hash = "sha256:3a5e466894ec6d8a009b0eb8e02a6eb26959a318d5b7a906280c26bdadce6423"}, - {file = "fonttools-4.55.4-cp311-cp311-win_amd64.whl", hash = "sha256:f595129e6f9c6402965d6295fe8c18c1945d27af0f90bdb52ff426226e647afc"}, - {file = "fonttools-4.55.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b3db72ad2d26a0e9ec694cbfb4485a8da9c095d29f66561cf935dbd19f3efcea"}, - {file = "fonttools-4.55.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:87717808fd5953588c3ffaf512e8cab0e43c09c1da04e42ba87fa4c07d8170c7"}, - {file = "fonttools-4.55.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f49dac626ad5bc1a0147b88e6157e3211fd440d00007f0da6c9e5f91dd5cb88e"}, - {file = "fonttools-4.55.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2d0ac8656ada8b604ae5da15d9aa075232f2181b95b51a3a2a55195222df7e7"}, - {file = "fonttools-4.55.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:013c8b45873fa77a4ff6d25e43fecf1046cb7e8c6b32f1843117f98f3f8eac60"}, - {file = "fonttools-4.55.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:94caad375d254a0332926512f06791f5e66c24a913ebecd6178b14f61d27c62f"}, - {file = "fonttools-4.55.4-cp312-cp312-win32.whl", hash = "sha256:cb3eb4bf3a0c4e431e1ccab7a33ef4f1bb32657133fff4a61dc4fcbd54b94d29"}, - {file = "fonttools-4.55.4-cp312-cp312-win_amd64.whl", hash = "sha256:6914269f6ff6b20c6b5a9b19d0b752880bd8ee218d9a7d6afe9960bbf1922d98"}, - {file = "fonttools-4.55.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:699dd32da7258a89939567a3d71b3f8decf84da54488a2526693f0d981a76479"}, - {file = "fonttools-4.55.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0f374b18ac04fbf78f20940418aee7882be3cdcb328ded80e16c3356499f64cf"}, - {file = "fonttools-4.55.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b18792529ca3c24259090b6faa60bd0bdfcc4a06312e8f06d6fccab007f07193"}, - {file = "fonttools-4.55.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e91d25261ebc9ff2143b95e6272f46b9f28e260b8f40feda07c80b66ff7e61d"}, - {file = "fonttools-4.55.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2695781a897395d03504fd24b60c944726b5e7b7af9ea3d922f7319d70c6fc37"}, - {file = "fonttools-4.55.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21de3ef5b8e5361fd01d6aef2c09dda4ede139d6b3a1f5cf621d6bea48840dfd"}, - {file = "fonttools-4.55.4-cp313-cp313-win32.whl", hash = "sha256:0ef33fda14e39aabb892a18ed16805b0b5b4e8a801fd1815a694be9dc7f30024"}, - {file = "fonttools-4.55.4-cp313-cp313-win_amd64.whl", hash = "sha256:e953b1614e32b6da828ae7659c8f330a593b6c4b7a4a31f8f63c01b12f0d3680"}, - {file = "fonttools-4.55.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e2d1bbcaf8ca8c60fbb029982197fbaa487559d5380f1c3098882c5ceb4311c7"}, - {file = "fonttools-4.55.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a885593dbcbfc250ff17831f7dc9316e95c3d046e6cd7ff7ab52ebf673bbf978"}, - {file = "fonttools-4.55.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02cd4ad9b3ab9f9c5b233b3bb6a96a036c9c0ef17487805b5e73cedf6439d188"}, - {file = "fonttools-4.55.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:822d46676f794bb6cac055b43f5636792e2a360e18cf0f3a0333c21d79ec0f2d"}, - {file = "fonttools-4.55.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:7b195440fe14d8601053a51e06e13c94f725bf9f964611be99dc3cb65497ce8e"}, - {file = "fonttools-4.55.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a0e0a0ec8cc4b8f82f9cf4efa26774dbd93433ba51b8f9bd2b214bf36c5638f6"}, - {file = "fonttools-4.55.4-cp38-cp38-win32.whl", hash = "sha256:ca7e6047fbc995500e0b7459a04d5b92cafd7730b636d5f83334cd7eefdf95c7"}, - {file = "fonttools-4.55.4-cp38-cp38-win_amd64.whl", hash = "sha256:0185983fcf49ae7a826cedc6f64d68b0434a5b7905d89e75bc95fced7fe118c1"}, - {file = "fonttools-4.55.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:dcc08dcb2be554073a72f3a8cecbc4226602ccdd0187b8f37a03a731cb931864"}, - {file = "fonttools-4.55.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7b9b414ce50f09cb692e97ff82b041ea1a21076ed9c1923206560c15ce9ad03a"}, - {file = "fonttools-4.55.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8807a1357d434ef1f4aed9bdfee7077f52dbc040b18ac98f6e417f69a48afbb5"}, - {file = "fonttools-4.55.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93a3ec7cba2e71edbc999ce3d48d34ef87cc30a36af6ff90dfc0dbc131f705fc"}, - {file = "fonttools-4.55.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2964b9fe6b4a892a41a8a517bac232072a821cf2288fad1d19c6c1d19c34b0dd"}, - {file = "fonttools-4.55.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0b9f4f032295adeb39a8c0eefb08a7b1e90f4b7571506e5d84bb923a7afa8247"}, - {file = "fonttools-4.55.4-cp39-cp39-win32.whl", hash = "sha256:ee4e86280dc637a17e926cbdd32c2de148c013c3468777ae6e94c8b4449c8e93"}, - {file = "fonttools-4.55.4-cp39-cp39-win_amd64.whl", hash = "sha256:82a03920f0f524abab375dcfac8926d9596986503ee00ae435bdd71b1498f214"}, - {file = "fonttools-4.55.4-py3-none-any.whl", hash = "sha256:d07ad8f31038c6394a0945752458313367a0ef8125d284ee59f99e68393a3c2d"}, - {file = "fonttools-4.55.4.tar.gz", hash = "sha256:9598af0af85073659facbe9612fcc56b071ef2f26e3819ebf9bd8c5d35f958c5"}, + {file = "fonttools-4.58.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0bcaa65cddbc7d32c77bd0af0b41fdd6448bad0e84365ca79cf8923c27b21e46"}, + {file = "fonttools-4.58.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:25590272f89e94ab5a292d518c549f3a88e6a34fa1193797b7047dfea111b048"}, + {file = "fonttools-4.58.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:614435e9a87abe18bd7bc7ceeb8029e8f181c571317161e89fa3e6e0a4f20f5d"}, + {file = "fonttools-4.58.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0154bd86d9a9e880f6e937e4d99c2139a624428dd9852072e12d7a85c79d611e"}, + {file = "fonttools-4.58.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5b3660df0b02c9cebbf7baf66952c2fd055e43e658aceb92cc95ba19e0a5c8b6"}, + {file = "fonttools-4.58.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c43b7f1d0b818427bb1cd20903d1168271abdcde10eb6247b1995c4e1ed63907"}, + {file = "fonttools-4.58.0-cp310-cp310-win32.whl", hash = "sha256:5450f40c385cdfa21133245f57b9cf8ce45018a04630a98de61eed8da14b8325"}, + {file = "fonttools-4.58.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0553431696eacafee9aefe94dc3c2bf5d658fbdc7fdba5b341c588f935471c6"}, + {file = "fonttools-4.58.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9345b1bb994476d6034996b31891c0c728c1059c05daa59f9ab57d2a4dce0f84"}, + {file = "fonttools-4.58.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1d93119ace1e2d39ff1340deb71097932f72b21c054bd3da727a3859825e24e5"}, + {file = "fonttools-4.58.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79c9e4f01bb04f19df272ae35314eb6349fdb2e9497a163cd22a21be999694bd"}, + {file = "fonttools-4.58.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62ecda1465d38248aaf9bee1c17a21cf0b16aef7d121d7d303dbb320a6fd49c2"}, + {file = "fonttools-4.58.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:29d0499bff12a26733c05c1bfd07e68465158201624b2fba4a40b23d96c43f94"}, + {file = "fonttools-4.58.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1871abdb0af582e2d96cc12d88889e3bfa796928f491ec14d34a2e58ca298c7e"}, + {file = "fonttools-4.58.0-cp311-cp311-win32.whl", hash = "sha256:e292485d70402093eb94f6ab7669221743838b8bd4c1f45c84ca76b63338e7bf"}, + {file = "fonttools-4.58.0-cp311-cp311-win_amd64.whl", hash = "sha256:6df3755fcf9ad70a74ad3134bd5c9738f73c9bb701a304b1c809877b11fe701c"}, + {file = "fonttools-4.58.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:aa8316798f982c751d71f0025b372151ea36405733b62d0d94d5e7b8dd674fa6"}, + {file = "fonttools-4.58.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c6db489511e867633b859b11aefe1b7c0d90281c5bdb903413edbb2ba77b97f1"}, + {file = "fonttools-4.58.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:107bdb2dacb1f627db3c4b77fb16d065a10fe88978d02b4fc327b9ecf8a62060"}, + {file = "fonttools-4.58.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba7212068ab20f1128a0475f169068ba8e5b6e35a39ba1980b9f53f6ac9720ac"}, + {file = "fonttools-4.58.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f95ea3b6a3b9962da3c82db73f46d6a6845a6c3f3f968f5293b3ac1864e771c2"}, + {file = "fonttools-4.58.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:874f1225cc4ccfeac32009887f722d7f8b107ca5e867dcee067597eef9d4c80b"}, + {file = "fonttools-4.58.0-cp312-cp312-win32.whl", hash = "sha256:5f3cde64ec99c43260e2e6c4fa70dfb0a5e2c1c1d27a4f4fe4618c16f6c9ff71"}, + {file = "fonttools-4.58.0-cp312-cp312-win_amd64.whl", hash = "sha256:2aee08e2818de45067109a207cbd1b3072939f77751ef05904d506111df5d824"}, + {file = "fonttools-4.58.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:4809790f2371d8a08e59e1ce2b734c954cf09742e75642d7f4c46cfdac488fdd"}, + {file = "fonttools-4.58.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b00f240280f204ce4546b05ff3515bf8ff47a9cae914c718490025ea2bb9b324"}, + {file = "fonttools-4.58.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a62015ad463e1925544e9159dd6eefe33ebfb80938d5ab15d8b1c4b354ff47b"}, + {file = "fonttools-4.58.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ceef6f6ab58061a811967e3e32e630747fcb823dcc33a9a2c80e2d0d17cb292"}, + {file = "fonttools-4.58.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7be21ac52370b515cdbdd0f400803fd29432a4fa4ddb4244ac8b322e54f36c0"}, + {file = "fonttools-4.58.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:85836be4c3c4aacf6fcb7a6f263896d0e9ce431da9fa6fe9213d70f221f131c9"}, + {file = "fonttools-4.58.0-cp313-cp313-win32.whl", hash = "sha256:2b32b7130277bd742cb8c4379a6a303963597d22adea77a940343f3eadbcaa4c"}, + {file = "fonttools-4.58.0-cp313-cp313-win_amd64.whl", hash = "sha256:75e68ee2ec9aaa173cf5e33f243da1d51d653d5e25090f2722bc644a78db0f1a"}, + {file = "fonttools-4.58.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d3e6f49f24ce313fe674213314a5ff7d2839d7d143d9e2f8a6140bf93de59797"}, + {file = "fonttools-4.58.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d76bf18647d3aa2a4a539d947a9974e5fb3cd6300ed8d8166b63ab201830d9ed"}, + {file = "fonttools-4.58.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47ed13683b02be5c5db296dc80fd42cc65e1a694c32b2e482714d50c05f8a00"}, + {file = "fonttools-4.58.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d63b51485b2da4e74ca5ad8bec084400300a8e7a30799df14d915fd9441e2824"}, + {file = "fonttools-4.58.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:187db44b7e1d4e042c23265d7cf7599d280af2e8de091e46e89e7ec4c0729ccf"}, + {file = "fonttools-4.58.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fde9b32f5964e2a3a2a58e5269673705eb636f604e3cdde24afb1838bf0a501a"}, + {file = "fonttools-4.58.0-cp39-cp39-win32.whl", hash = "sha256:ac2037a74b55d6fb2917460d0d6e1d88d35e26a62c70584271d3388f9ea179e1"}, + {file = "fonttools-4.58.0-cp39-cp39-win_amd64.whl", hash = "sha256:72b42acf0e5d3d61423ee22a1483647acdaf18378bb13970bf583142a2f4dcb8"}, + {file = "fonttools-4.58.0-py3-none-any.whl", hash = "sha256:c96c36880be2268be409df7b08c5b5dacac1827083461a6bc2cb07b8cbcec1d7"}, + {file = "fonttools-4.58.0.tar.gz", hash = "sha256:27423d0606a2c7b336913254bf0b1193ebd471d5f725d665e875c5e88a011a43"}, ] [package.extras] @@ -965,13 +962,13 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] [[package]] name = "frictionless" -version = "5.18.0" +version = "5.18.1" description = "Data management framework for Python that provides functionality to describe, extract, validate, and transform tabular data" optional = false python-versions = ">=3.8" files = [ - {file = "frictionless-5.18.0-py3-none-any.whl", hash = "sha256:a82433b81cfcfae21328aad6b93854feb86d5d054b22ac147672eb9c254b6a3d"}, - {file = "frictionless-5.18.0.tar.gz", hash = "sha256:4b21a10d3ac67e46a4a58a1e8a8a27c6882af4d1608eadfb6ccbfde0b5eef6b9"}, + {file = "frictionless-5.18.1-py3-none-any.whl", hash = "sha256:3f4c87469a89bdb88e9cc318088553a26f3d14839098f95c183ea01fc89628dd"}, + {file = "frictionless-5.18.1.tar.gz", hash = "sha256:daeaf55f896eeb52b43e62600466af9528fe0aeeebd28b1b917e13322f370a8b"}, ] [package.dependencies] @@ -990,7 +987,6 @@ pyyaml = ">=5.3" requests = ">=2.10" rfc3986 = ">=1.4" simpleeval = ">=0.9.11" -stringcase = ">=1.2" tabulate = ">=0.8.10" typer = ">=0.12" typing-extensions = ">=4.3" @@ -1002,7 +998,7 @@ bigquery = ["google-api-python-client (>=1.12.1)"] ckan = ["frictionless-ckan-mapper (>=1.0)"] datasette = ["datasette (>=0.64.2)"] dev = ["hatch", "httpx", "ipython", "livemark", "moto", "neovim", "oauth2client", "pyright (==1.1.317)", "pytest", "pytest-cov", "pytest-dotenv", "pytest-lazy-fixtures", "pytest-mock", "pytest-timeout", "pytest-vcr", "requests-mock", "ruff", "yattag"] -duckdb = ["duckdb (>=0.8)", "duckdb-engine (>=0.7)", "sqlalchemy (>=1.4)"] +duckdb = ["duckdb (>=0.8)", "duckdb-engine (>=0.7)", "sqlalchemy (>=1.4,<=2.0.35)"] excel = ["openpyxl (>=3.0)", "tableschema-to-template (>=0.0)", "xlrd (>=1.2)", "xlwt (>=1.2)"] github = ["pygithub (>=1.50)"] gsheets = ["pygsheets (>=2.0)"] @@ -1095,32 +1091,32 @@ timezone = ["pytz"] [[package]] name = "h11" -version = "0.14.0" +version = "0.16.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, + {file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"}, + {file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"}, ] [[package]] name = "hdx-python-api" -version = "6.3.5" +version = "6.3.9" description = "HDX Python API for interacting with the Humanitarian Data Exchange" optional = false python-versions = ">=3.8" files = [ - {file = "hdx_python_api-6.3.5-py3-none-any.whl", hash = "sha256:79284b7609b5291ddfbd2504bcef694deec0a303400e13aa81bfc373721c00f7"}, - {file = "hdx_python_api-6.3.5.tar.gz", hash = "sha256:3a3bd9a61d67c5a958944dad1a928b0a094dff9ab60d17c435a7fbe4423dcffb"}, + {file = "hdx_python_api-6.3.9-py3-none-any.whl", hash = "sha256:3bf4eb5f29e63e474ab4302b4ce626e35444670b097f0eae31f029d80d090e87"}, + {file = "hdx_python_api-6.3.9.tar.gz", hash = "sha256:c08d9be23c71fa807fa3d44c29e88e1edf957699ee374c97bd958404404422a0"}, ] [package.dependencies] ckanapi = ">=4.8" defopt = ">=6.4.0" email-validator = "*" -hdx-python-country = ">=3.8.3" -hdx-python-utilities = ">=3.7.4" +hdx-python-country = ">=3.9.2" +hdx-python-utilities = ">=3.8.6" libhxl = ">=5.2.2" makefun = "*" quantulum3 = "*" @@ -1128,38 +1124,39 @@ requests = "*" [package.extras] dev = ["pre-commit"] -test = ["gspread", "pytest", "pytest-cov"] +docs = ["mkapi"] +test = ["gspread", "pytest", "pytest-check", "pytest-cov"] [[package]] name = "hdx-python-country" -version = "3.8.5" +version = "3.9.4" description = "HDX Python country code and exchange rate (fx) utilities" optional = false python-versions = ">=3.8" files = [ - {file = "hdx_python_country-3.8.5-py3-none-any.whl", hash = "sha256:39f713fc85990f621a82ad0adc65636f725bc8ec741f50ef4a1149f7ee387e4b"}, - {file = "hdx_python_country-3.8.5.tar.gz", hash = "sha256:b4256ab1fe8c5ecaa3fb5e999edf5c5420edfa5948e0bf98c6ac7c24c48e9421"}, + {file = "hdx_python_country-3.9.4-py3-none-any.whl", hash = "sha256:705a725d6ddbb9c883a83ca5b4e53c037531e682511cb333b8194cb349ad15d3"}, + {file = "hdx_python_country-3.9.4.tar.gz", hash = "sha256:d967268704972ca5689a76d7a83f1877d48a27662a30478c30681f47f7a36aa3"}, ] [package.dependencies] -hdx-python-utilities = ">=3.7.4" +hdx-python-utilities = ">=3.8.7" libhxl = ">=5.2.2" -pyphonetics = "*" tenacity = "*" [package.extras] dev = ["pre-commit"] +docs = ["mkapi"] test = ["pytest", "pytest-cov"] [[package]] name = "hdx-python-utilities" -version = "3.7.4" +version = "3.8.7" description = "HDX Python Utilities for streaming tabular data, date and time handling and other helpful functions" optional = false python-versions = ">=3.8" files = [ - {file = "hdx_python_utilities-3.7.4-py3-none-any.whl", hash = "sha256:33bc0cb561eb075bea8e0cf58c0856b3f0e454cbd1ead476304d81c04d2a04ac"}, - {file = "hdx_python_utilities-3.7.4.tar.gz", hash = "sha256:d4a16b1fdd97deafe81e4a2959cab6de4374ea0ccfe76a87c4a7716283398630"}, + {file = "hdx_python_utilities-3.8.7-py3-none-any.whl", hash = "sha256:47e67810e81a481504b8653c429b31b8c237da594dc27604075c8e79077c8640"}, + {file = "hdx_python_utilities-3.8.7.tar.gz", hash = "sha256:41212cd5b682777d393ee991b546f1b4326665d981714a829e5483101fd15a60"}, ] [package.dependencies] @@ -1168,6 +1165,7 @@ ijson = ">=3.2.3" jsonlines = ">=4.0.0" loguru = "*" openpyxl = ">=3.1.2" +pyphonetics = "*" python-dateutil = ">=2.9.0,<2.9.1" ratelimit = "*" requests-file = "*" @@ -1179,19 +1177,21 @@ xlwt = ">=1.3.0" [package.extras] dev = ["pre-commit"] +diff = ["cydifflib"] +docs = ["mkapi"] email = ["email-validator"] html = ["beautifulsoup4", "html5lib"] test = ["pytest", "pytest-cov", "pytest-loguru"] [[package]] name = "humanize" -version = "4.11.0" +version = "4.12.3" description = "Python humanize utilities" optional = false python-versions = ">=3.9" files = [ - {file = "humanize-4.11.0-py3-none-any.whl", hash = "sha256:b53caaec8532bcb2fff70c8826f904c35943f8cecaca29d272d9df38092736c0"}, - {file = "humanize-4.11.0.tar.gz", hash = "sha256:e66f36020a2d5a974c504bd2555cf770621dbdbb6d82f94a6857c0b1ea2608be"}, + {file = "humanize-4.12.3-py3-none-any.whl", hash = "sha256:2cbf6370af06568fa6d2da77c86edb7886f3160ecd19ee1ffef07979efc597f6"}, + {file = "humanize-4.12.3.tar.gz", hash = "sha256:8430be3a615106fdfceb0b2c1b41c4c98c6b0fc5cc59663a5539b111dd325fb0"}, ] [package.extras] @@ -1199,13 +1199,13 @@ tests = ["freezegun", "pytest", "pytest-cov"] [[package]] name = "identify" -version = "2.6.1" +version = "2.6.10" description = "File identification library for Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0"}, - {file = "identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98"}, + {file = "identify-2.6.10-py2.py3-none-any.whl", hash = "sha256:5f34248f54136beed1a7ba6a6b5c4b6cf21ff495aac7c359e1ef831ae3b8ab25"}, + {file = "identify-2.6.10.tar.gz", hash = "sha256:45e92fd704f3da71cc3880036633f48b4b7265fd4de2b57627cb157216eb7eb8"}, ] [package.extras] @@ -1227,120 +1227,111 @@ all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2 [[package]] name = "ijson" -version = "3.3.0" +version = "3.4.0" description = "Iterative JSON parser with standard Python iterator interfaces" optional = false -python-versions = "*" +python-versions = ">=3.9" files = [ - {file = "ijson-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7f7a5250599c366369fbf3bc4e176f5daa28eb6bc7d6130d02462ed335361675"}, - {file = "ijson-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f87a7e52f79059f9c58f6886c262061065eb6f7554a587be7ed3aa63e6b71b34"}, - {file = "ijson-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b73b493af9e947caed75d329676b1b801d673b17481962823a3e55fe529c8b8b"}, - {file = "ijson-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5576415f3d76290b160aa093ff968f8bf6de7d681e16e463a0134106b506f49"}, - {file = "ijson-3.3.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e9ffe358d5fdd6b878a8a364e96e15ca7ca57b92a48f588378cef315a8b019e"}, - {file = "ijson-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8643c255a25824ddd0895c59f2319c019e13e949dc37162f876c41a283361527"}, - {file = "ijson-3.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:df3ab5e078cab19f7eaeef1d5f063103e1ebf8c26d059767b26a6a0ad8b250a3"}, - {file = "ijson-3.3.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3dc1fb02c6ed0bae1b4bf96971258bf88aea72051b6e4cebae97cff7090c0607"}, - {file = "ijson-3.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e9afd97339fc5a20f0542c971f90f3ca97e73d3050cdc488d540b63fae45329a"}, - {file = "ijson-3.3.0-cp310-cp310-win32.whl", hash = "sha256:844c0d1c04c40fd1b60f148dc829d3f69b2de789d0ba239c35136efe9a386529"}, - {file = "ijson-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d654d045adafdcc6c100e8e911508a2eedbd2a1b5f93f930ba13ea67d7704ee9"}, - {file = "ijson-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:501dce8eaa537e728aa35810656aa00460a2547dcb60937c8139f36ec344d7fc"}, - {file = "ijson-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:658ba9cad0374d37b38c9893f4864f284cdcc7d32041f9808fba8c7bcaadf134"}, - {file = "ijson-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2636cb8c0f1023ef16173f4b9a233bcdb1df11c400c603d5f299fac143ca8d70"}, - {file = "ijson-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd174b90db68c3bcca273e9391934a25d76929d727dc75224bf244446b28b03b"}, - {file = "ijson-3.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97a9aea46e2a8371c4cf5386d881de833ed782901ac9f67ebcb63bb3b7d115af"}, - {file = "ijson-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c594c0abe69d9d6099f4ece17763d53072f65ba60b372d8ba6de8695ce6ee39e"}, - {file = "ijson-3.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8e0ff16c224d9bfe4e9e6bd0395826096cda4a3ef51e6c301e1b61007ee2bd24"}, - {file = "ijson-3.3.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0015354011303175eae7e2ef5136414e91de2298e5a2e9580ed100b728c07e51"}, - {file = "ijson-3.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:034642558afa57351a0ffe6de89e63907c4cf6849070cc10a3b2542dccda1afe"}, - {file = "ijson-3.3.0-cp311-cp311-win32.whl", hash = "sha256:192e4b65495978b0bce0c78e859d14772e841724d3269fc1667dc6d2f53cc0ea"}, - {file = "ijson-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:72e3488453754bdb45c878e31ce557ea87e1eb0f8b4fc610373da35e8074ce42"}, - {file = "ijson-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:988e959f2f3d59ebd9c2962ae71b97c0df58323910d0b368cc190ad07429d1bb"}, - {file = "ijson-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b2f73f0d0fce5300f23a1383d19b44d103bb113b57a69c36fd95b7c03099b181"}, - {file = "ijson-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0ee57a28c6bf523d7cb0513096e4eb4dac16cd935695049de7608ec110c2b751"}, - {file = "ijson-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0155a8f079c688c2ccaea05de1ad69877995c547ba3d3612c1c336edc12a3a5"}, - {file = "ijson-3.3.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ab00721304af1ae1afa4313ecfa1bf16b07f55ef91e4a5b93aeaa3e2bd7917c"}, - {file = "ijson-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40ee3821ee90be0f0e95dcf9862d786a7439bd1113e370736bfdf197e9765bfb"}, - {file = "ijson-3.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:da3b6987a0bc3e6d0f721b42c7a0198ef897ae50579547b0345f7f02486898f5"}, - {file = "ijson-3.3.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:63afea5f2d50d931feb20dcc50954e23cef4127606cc0ecf7a27128ed9f9a9e6"}, - {file = "ijson-3.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b5c3e285e0735fd8c5a26d177eca8b52512cdd8687ca86ec77a0c66e9c510182"}, - {file = "ijson-3.3.0-cp312-cp312-win32.whl", hash = "sha256:907f3a8674e489abdcb0206723e5560a5cb1fa42470dcc637942d7b10f28b695"}, - {file = "ijson-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8f890d04ad33262d0c77ead53c85f13abfb82f2c8f078dfbf24b78f59534dfdd"}, - {file = "ijson-3.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b9d85a02e77ee8ea6d9e3fd5d515bcc3d798d9c1ea54817e5feb97a9bc5d52fe"}, - {file = "ijson-3.3.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6576cdc36d5a09b0c1a3d81e13a45d41a6763188f9eaae2da2839e8a4240bce"}, - {file = "ijson-3.3.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5589225c2da4bb732c9c370c5961c39a6db72cf69fb2a28868a5413ed7f39e6"}, - {file = "ijson-3.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad04cf38164d983e85f9cba2804566c0160b47086dcca4cf059f7e26c5ace8ca"}, - {file = "ijson-3.3.0-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:a3b730ef664b2ef0e99dec01b6573b9b085c766400af363833e08ebc1e38eb2f"}, - {file = "ijson-3.3.0-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:4690e3af7b134298055993fcbea161598d23b6d3ede11b12dca6815d82d101d5"}, - {file = "ijson-3.3.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:aaa6bfc2180c31a45fac35d40e3312a3d09954638ce0b2e9424a88e24d262a13"}, - {file = "ijson-3.3.0-cp36-cp36m-win32.whl", hash = "sha256:44367090a5a876809eb24943f31e470ba372aaa0d7396b92b953dda953a95d14"}, - {file = "ijson-3.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7e2b3e9ca957153557d06c50a26abaf0d0d6c0ddf462271854c968277a6b5372"}, - {file = "ijson-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:47c144117e5c0e2babb559bc8f3f76153863b8dd90b2d550c51dab5f4b84a87f"}, - {file = "ijson-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29ce02af5fbf9ba6abb70765e66930aedf73311c7d840478f1ccecac53fefbf3"}, - {file = "ijson-3.3.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ac6c3eeed25e3e2cb9b379b48196413e40ac4e2239d910bb33e4e7f6c137745"}, - {file = "ijson-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d92e339c69b585e7b1d857308ad3ca1636b899e4557897ccd91bb9e4a56c965b"}, - {file = "ijson-3.3.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:8c85447569041939111b8c7dbf6f8fa7a0eb5b2c4aebb3c3bec0fb50d7025121"}, - {file = "ijson-3.3.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:542c1e8fddf082159a5d759ee1412c73e944a9a2412077ed00b303ff796907dc"}, - {file = "ijson-3.3.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:30cfea40936afb33b57d24ceaf60d0a2e3d5c1f2335ba2623f21d560737cc730"}, - {file = "ijson-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:6b661a959226ad0d255e49b77dba1d13782f028589a42dc3172398dd3814c797"}, - {file = "ijson-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:0b003501ee0301dbf07d1597482009295e16d647bb177ce52076c2d5e64113e0"}, - {file = "ijson-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3e8d8de44effe2dbd0d8f3eb9840344b2d5b4cc284a14eb8678aec31d1b6bea8"}, - {file = "ijson-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9cd5c03c63ae06d4f876b9844c5898d0044c7940ff7460db9f4cd984ac7862b5"}, - {file = "ijson-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04366e7e4a4078d410845e58a2987fd9c45e63df70773d7b6e87ceef771b51ee"}, - {file = "ijson-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de7c1ddb80fa7a3ab045266dca169004b93f284756ad198306533b792774f10a"}, - {file = "ijson-3.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8851584fb931cffc0caa395f6980525fd5116eab8f73ece9d95e6f9c2c326c4c"}, - {file = "ijson-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdcfc88347fd981e53c33d832ce4d3e981a0d696b712fbcb45dcc1a43fe65c65"}, - {file = "ijson-3.3.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3917b2b3d0dbbe3296505da52b3cb0befbaf76119b2edaff30bd448af20b5400"}, - {file = "ijson-3.3.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:e10c14535abc7ddf3fd024aa36563cd8ab5d2bb6234a5d22c77c30e30fa4fb2b"}, - {file = "ijson-3.3.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:3aba5c4f97f4e2ce854b5591a8b0711ca3b0c64d1b253b04ea7b004b0a197ef6"}, - {file = "ijson-3.3.0-cp38-cp38-win32.whl", hash = "sha256:b325f42e26659df1a0de66fdb5cde8dd48613da9c99c07d04e9fb9e254b7ee1c"}, - {file = "ijson-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:ff835906f84451e143f31c4ce8ad73d83ef4476b944c2a2da91aec8b649570e1"}, - {file = "ijson-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3c556f5553368dff690c11d0a1fb435d4ff1f84382d904ccc2dc53beb27ba62e"}, - {file = "ijson-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e4396b55a364a03ff7e71a34828c3ed0c506814dd1f50e16ebed3fc447d5188e"}, - {file = "ijson-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e6850ae33529d1e43791b30575070670070d5fe007c37f5d06aebc1dd152ab3f"}, - {file = "ijson-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36aa56d68ea8def26778eb21576ae13f27b4a47263a7a2581ab2ef58b8de4451"}, - {file = "ijson-3.3.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7ec759c4a0fc820ad5dc6a58e9c391e7b16edcb618056baedbedbb9ea3b1524"}, - {file = "ijson-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b51bab2c4e545dde93cb6d6bb34bf63300b7cd06716f195dd92d9255df728331"}, - {file = "ijson-3.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:92355f95a0e4da96d4c404aa3cff2ff033f9180a9515f813255e1526551298c1"}, - {file = "ijson-3.3.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:8795e88adff5aa3c248c1edce932db003d37a623b5787669ccf205c422b91e4a"}, - {file = "ijson-3.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8f83f553f4cde6d3d4eaf58ec11c939c94a0ec545c5b287461cafb184f4b3a14"}, - {file = "ijson-3.3.0-cp39-cp39-win32.whl", hash = "sha256:ead50635fb56577c07eff3e557dac39533e0fe603000684eea2af3ed1ad8f941"}, - {file = "ijson-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:c8a9befb0c0369f0cf5c1b94178d0d78f66d9cebb9265b36be6e4f66236076b8"}, - {file = "ijson-3.3.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2af323a8aec8a50fa9effa6d640691a30a9f8c4925bd5364a1ca97f1ac6b9b5c"}, - {file = "ijson-3.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f64f01795119880023ba3ce43072283a393f0b90f52b66cc0ea1a89aa64a9ccb"}, - {file = "ijson-3.3.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a716e05547a39b788deaf22725490855337fc36613288aa8ae1601dc8c525553"}, - {file = "ijson-3.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:473f5d921fadc135d1ad698e2697025045cd8ed7e5e842258295012d8a3bc702"}, - {file = "ijson-3.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dd26b396bc3a1e85f4acebeadbf627fa6117b97f4c10b177d5779577c6607744"}, - {file = "ijson-3.3.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:25fd49031cdf5fd5f1fd21cb45259a64dad30b67e64f745cc8926af1c8c243d3"}, - {file = "ijson-3.3.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b72178b1e565d06ab19319965022b36ef41bcea7ea153b32ec31194bec032a2"}, - {file = "ijson-3.3.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d0b6b637d05dbdb29d0bfac2ed8425bb369e7af5271b0cc7cf8b801cb7360c2"}, - {file = "ijson-3.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5378d0baa59ae422905c5f182ea0fd74fe7e52a23e3821067a7d58c8306b2191"}, - {file = "ijson-3.3.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:99f5c8ab048ee4233cc4f2b461b205cbe01194f6201018174ac269bf09995749"}, - {file = "ijson-3.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:45ff05de889f3dc3d37a59d02096948ce470699f2368b32113954818b21aa74a"}, - {file = "ijson-3.3.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1efb521090dd6cefa7aafd120581947b29af1713c902ff54336b7c7130f04c47"}, - {file = "ijson-3.3.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87c727691858fd3a1c085d9980d12395517fcbbf02c69fbb22dede8ee03422da"}, - {file = "ijson-3.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0420c24e50389bc251b43c8ed379ab3e3ba065ac8262d98beb6735ab14844460"}, - {file = "ijson-3.3.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8fdf3721a2aa7d96577970f5604bd81f426969c1822d467f07b3d844fa2fecc7"}, - {file = "ijson-3.3.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:891f95c036df1bc95309951940f8eea8537f102fa65715cdc5aae20b8523813b"}, - {file = "ijson-3.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed1336a2a6e5c427f419da0154e775834abcbc8ddd703004108121c6dd9eba9d"}, - {file = "ijson-3.3.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0c819f83e4f7b7f7463b2dc10d626a8be0c85fbc7b3db0edc098c2b16ac968e"}, - {file = "ijson-3.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33afc25057377a6a43c892de34d229a86f89ea6c4ca3dd3db0dcd17becae0dbb"}, - {file = "ijson-3.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7914d0cf083471856e9bc2001102a20f08e82311dfc8cf1a91aa422f9414a0d6"}, - {file = "ijson-3.3.0.tar.gz", hash = "sha256:7f172e6ba1bee0d4c8f8ebd639577bfe429dee0f3f96775a067b8bae4492d8a0"}, + {file = "ijson-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e27e50f6dcdee648f704abc5d31b976cd2f90b4642ed447cf03296d138433d09"}, + {file = "ijson-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2a753be681ac930740a4af9c93cfb4edc49a167faed48061ea650dc5b0f406f1"}, + {file = "ijson-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a07c47aed534e0ec198e6a2d4360b259d32ac654af59c015afc517ad7973b7fb"}, + {file = "ijson-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c55f48181e11c597cd7146fb31edc8058391201ead69f8f40d2ecbb0b3e4fc6"}, + {file = "ijson-3.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd5669f96f79d8a2dd5ae81cbd06770a4d42c435fd4a75c74ef28d9913b697d"}, + {file = "ijson-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e3ddd46d16b8542c63b1b8af7006c758d4e21cc1b86122c15f8530fae773461"}, + {file = "ijson-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1504cec7fe04be2bb0cc33b50c9dd3f83f98c0540ad4991d4017373b7853cfe6"}, + {file = "ijson-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:2f2ff456adeb216603e25d7915f10584c1b958b6eafa60038d76d08fc8a5fb06"}, + {file = "ijson-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0ab00d75d61613a125fbbb524551658b1ad6919a52271ca16563ca5bc2737bb1"}, + {file = "ijson-3.4.0-cp310-cp310-win32.whl", hash = "sha256:ada421fd59fe2bfa4cfa64ba39aeba3f0753696cdcd4d50396a85f38b1d12b01"}, + {file = "ijson-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:8c75e82cec05d00ed3a4af5f4edf08f59d536ed1a86ac7e84044870872d82a33"}, + {file = "ijson-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9e369bf5a173ca51846c243002ad8025d32032532523b06510881ecc8723ee54"}, + {file = "ijson-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:26e7da0a3cd2a56a1fde1b34231867693f21c528b683856f6691e95f9f39caec"}, + {file = "ijson-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c28c7f604729be22aa453e604e9617b665fa0c24cd25f9f47a970e8130c571a"}, + {file = "ijson-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed8bcb84d3468940f97869da323ba09ae3e6b950df11dea9b62e2b231ca1e3"}, + {file = "ijson-3.4.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:296bc824f4088f2af814aaf973b0435bc887ce3d9f517b1577cc4e7d1afb1cb7"}, + {file = "ijson-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8145f8f40617b6a8aa24e28559d0adc8b889e56a203725226a8a60fa3501073f"}, + {file = "ijson-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b674a97bd503ea21bc85103e06b6493b1b2a12da3372950f53e1c664566a33a4"}, + {file = "ijson-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8bc731cf1c3282b021d3407a601a5a327613da9ad3c4cecb1123232623ae1826"}, + {file = "ijson-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:42ace5e940e0cf58c9de72f688d6829ddd815096d07927ee7e77df2648006365"}, + {file = "ijson-3.4.0-cp311-cp311-win32.whl", hash = "sha256:5be39a0df4cd3f02b304382ea8885391900ac62e95888af47525a287c50005e9"}, + {file = "ijson-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:0b1be1781792291e70d2e177acf564ec672a7907ba74f313583bdf39fe81f9b7"}, + {file = "ijson-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:956b148f88259a80a9027ffbe2d91705fae0c004fbfba3e5a24028fbe72311a9"}, + {file = "ijson-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:06b89960f5c721106394c7fba5760b3f67c515b8eb7d80f612388f5eca2f4621"}, + {file = "ijson-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9a0bb591cf250dd7e9dfab69d634745a7f3272d31cfe879f9156e0a081fd97ee"}, + {file = "ijson-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e92de999977f4c6b660ffcf2b8d59604ccd531edcbfde05b642baf283e0de8"}, + {file = "ijson-3.4.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e9602157a5b869d44b6896e64f502c712a312fcde044c2e586fccb85d3e316e"}, + {file = "ijson-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e83660edb931a425b7ff662eb49db1f10d30ca6d4d350e5630edbed098bc01"}, + {file = "ijson-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:49bf8eac1c7b7913073865a859c215488461f7591b4fa6a33c14b51cb73659d0"}, + {file = "ijson-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:160b09273cb42019f1811469508b0a057d19f26434d44752bde6f281da6d3f32"}, + {file = "ijson-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2019ff4e6f354aa00c76c8591bd450899111c61f2354ad55cc127e2ce2492c44"}, + {file = "ijson-3.4.0-cp312-cp312-win32.whl", hash = "sha256:931c007bf6bb8330705429989b2deed6838c22b63358a330bf362b6e458ba0bf"}, + {file = "ijson-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:71523f2b64cb856a820223e94d23e88369f193017ecc789bb4de198cc9d349eb"}, + {file = "ijson-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e8d96f88d75196a61c9d9443de2b72c2d4a7ba9456ff117b57ae3bba23a54256"}, + {file = "ijson-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c45906ce2c1d3b62f15645476fc3a6ca279549127f01662a39ca5ed334a00cf9"}, + {file = "ijson-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4ab4bc2119b35c4363ea49f29563612237cae9413d2fbe54b223be098b97bc9e"}, + {file = "ijson-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97b0a9b5a15e61dfb1f14921ea4e0dba39f3a650df6d8f444ddbc2b19b479ff1"}, + {file = "ijson-3.4.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3047bb994dabedf11de11076ed1147a307924b6e5e2df6784fb2599c4ad8c60"}, + {file = "ijson-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68c83161b052e9f5dc8191acbc862bb1e63f8a35344cb5cd0db1afd3afd487a6"}, + {file = "ijson-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1eebd9b6c20eb1dffde0ae1f0fbb4aeacec2eb7b89adb5c7c0449fc9fd742760"}, + {file = "ijson-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:13fb6d5c35192c541421f3ee81239d91fc15a8d8f26c869250f941f4b346a86c"}, + {file = "ijson-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:28b7196ff7b37c4897c547a28fa4876919696739fc91c1f347651c9736877c69"}, + {file = "ijson-3.4.0-cp313-cp313-win32.whl", hash = "sha256:3c2691d2da42629522140f77b99587d6f5010440d58d36616f33bc7bdc830cc3"}, + {file = "ijson-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:c4554718c275a044c47eb3874f78f2c939f300215d9031e785a6711cc51b83fc"}, + {file = "ijson-3.4.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:915a65e3f3c0eee2ea937bc62aaedb6c14cc1e8f0bb9f3f4fb5a9e2bbfa4b480"}, + {file = "ijson-3.4.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:afbe9748707684b6c5adc295c4fdcf27765b300aec4d484e14a13dca4e5c0afa"}, + {file = "ijson-3.4.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d823f8f321b4d8d5fa020d0a84f089fec5d52b7c0762430476d9f8bf95bbc1a9"}, + {file = "ijson-3.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8a0a2c54f3becf76881188beefd98b484b1d3bd005769a740d5b433b089fa23"}, + {file = "ijson-3.4.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ced19a83ab09afa16257a0b15bc1aa888dbc555cb754be09d375c7f8d41051f2"}, + {file = "ijson-3.4.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8100f9885eff1f38d35cef80ef759a1bbf5fc946349afa681bd7d0e681b7f1a0"}, + {file = "ijson-3.4.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d7bcc3f7f21b0f703031ecd15209b1284ea51b2a329d66074b5261de3916c1eb"}, + {file = "ijson-3.4.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2dcb190227b09dd171bdcbfe4720fddd574933c66314818dfb3960c8a6246a77"}, + {file = "ijson-3.4.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:eda4cfb1d49c6073a901735aaa62e39cb7ab47f3ad7bb184862562f776f1fa8a"}, + {file = "ijson-3.4.0-cp313-cp313t-win32.whl", hash = "sha256:0772638efa1f3b72b51736833404f1cbd2f5beeb9c1a3d392e7d385b9160cba7"}, + {file = "ijson-3.4.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3d8a0d67f36e4fb97c61a724456ef0791504b16ce6f74917a31c2e92309bbeb9"}, + {file = "ijson-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8a990401dc7350c1739f42187823e68d2ef6964b55040c6e9f3a29461f9929e2"}, + {file = "ijson-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:80f50e0f5da4cd6b65e2d8ff38cb61b26559608a05dd3a3f9cfa6f19848e6f22"}, + {file = "ijson-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2d9ca52f5650d820a2e7aa672dea1c560f609e165337e5b3ed7cf56d696bf309"}, + {file = "ijson-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:940c8c5fd20fb89b56dde9194a4f1c7b779149f1ab26af6d8dc1da51a95d26dd"}, + {file = "ijson-3.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:41dbb525666017ad856ac9b4f0f4b87d3e56b7dfde680d5f6d123556b22e2172"}, + {file = "ijson-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9f84f5e2eea5c2d271c97221c382db005534294d1175ddd046a12369617c41c"}, + {file = "ijson-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c0cd126c11835839bba8ac0baaba568f67d701fc4f717791cf37b10b74a2ebd7"}, + {file = "ijson-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f9a9d3bbc6d91c24a2524a189d2aca703cb5f7e8eb34ad0aff3c91702404a983"}, + {file = "ijson-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:56679ee133470d0f1f598a8ad109d760fcfebeef4819531e29335aefb7e4cb1a"}, + {file = "ijson-3.4.0-cp39-cp39-win32.whl", hash = "sha256:583c15ded42ba80104fa1d0fa0dfdd89bb47922f3bb893a931bb843aeb55a3f3"}, + {file = "ijson-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:4563e603e56f4451572d96b47311dffef5b933d825f3417881d4d3630c6edac2"}, + {file = "ijson-3.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:54e989c35dba9cf163d532c14bcf0c260897d5f465643f0cd1fba9c908bed7ef"}, + {file = "ijson-3.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:494eeb8e87afef22fbb969a4cb81ac2c535f30406f334fb6136e9117b0bb5380"}, + {file = "ijson-3.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81603de95de1688958af65cd2294881a4790edae7de540b70c65c8253c5dc44a"}, + {file = "ijson-3.4.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8524be12c1773e1be466034cc49c1ecbe3d5b47bb86217bd2a57f73f970a6c19"}, + {file = "ijson-3.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17994696ec895d05e0cfa21b11c68c920c82634b4a3d8b8a1455d6fe9fdee8f7"}, + {file = "ijson-3.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0b67727aaee55d43b2e82b6a866c3cbcb2b66a5e9894212190cbd8773d0d9857"}, + {file = "ijson-3.4.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdc8c5ca0eec789ed99db29c68012dda05027af0860bb360afd28d825238d69d"}, + {file = "ijson-3.4.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8e6b44b6ec45d5b1a0ee9d97e0e65ab7f62258727004cbbe202bf5f198bc21f7"}, + {file = "ijson-3.4.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b51e239e4cb537929796e840d349fc731fdc0d58b1a0683ce5465ad725321e0f"}, + {file = "ijson-3.4.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed05d43ec02be8ddb1ab59579761f6656b25d241a77fd74f4f0f7ec09074318a"}, + {file = "ijson-3.4.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfeca1aaa59d93fd0a3718cbe5f7ef0effff85cf837e0bceb71831a47f39cc14"}, + {file = "ijson-3.4.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:7ca72ca12e9a1dd4252c97d952be34282907f263f7e28fcdff3a01b83981e837"}, + {file = "ijson-3.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0f79b2cd52bd220fff83b3ee4ef89b54fd897f57cc8564a6d8ab7ac669de3930"}, + {file = "ijson-3.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d16eed737610ad5ad8989b5864fbe09c64133129734e840c29085bb0d497fb03"}, + {file = "ijson-3.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b3aac1d7a27e1e3bdec5bd0689afe55c34aa499baa06a80852eda31f1ffa6dc"}, + {file = "ijson-3.4.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:784ae654aa9851851e87f323e9429b20b58a5399f83e6a7e348e080f2892081f"}, + {file = "ijson-3.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d05bd8fa6a8adefb32bbf7b993d2a2f4507db08453dd1a444c281413a6d9685"}, + {file = "ijson-3.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b5a05fd935cc28786b88c16976313086cd96414c6a3eb0a3822c47ab48b1793e"}, + {file = "ijson-3.4.0.tar.gz", hash = "sha256:5f74dcbad9d592c428d3ca3957f7115a42689ee7ee941458860900236ae9bb13"}, ] [[package]] name = "inflect" -version = "7.4.0" +version = "7.5.0" description = "Correctly generate plurals, singular nouns, ordinals, indefinite articles" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "inflect-7.4.0-py3-none-any.whl", hash = "sha256:85af0997ee2bda942b1c1eed8c8a827abda91aa3e22d1efaa0eea817f9350ce7"}, - {file = "inflect-7.4.0.tar.gz", hash = "sha256:904baa17cc2cb74827a6c27b95692e95670dadc72b208b3e8c1c05aeed47026b"}, + {file = "inflect-7.5.0-py3-none-any.whl", hash = "sha256:2aea70e5e70c35d8350b8097396ec155ffd68def678c7ff97f51aa69c1d92344"}, + {file = "inflect-7.5.0.tar.gz", hash = "sha256:faf19801c3742ed5a05a8ce388e0d8fe1a07f8d095c82201eb904f5d27ad571f"}, ] [package.dependencies] -more-itertools = ">=8.5.0" +more_itertools = ">=8.5.0" typeguard = ">=4.0.1" [package.extras] @@ -1353,13 +1344,13 @@ type = ["pytest-mypy"] [[package]] name = "iniconfig" -version = "2.0.0" +version = "2.1.0" description = "brain-dead simple config-ini parsing" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, + {file = "iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760"}, + {file = "iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7"}, ] [[package]] @@ -1397,13 +1388,13 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio [[package]] name = "ipython" -version = "8.30.0" +version = "8.36.0" description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.10" files = [ - {file = "ipython-8.30.0-py3-none-any.whl", hash = "sha256:85ec56a7e20f6c38fce7727dcca699ae4ffc85985aa7b23635a8008f918ae321"}, - {file = "ipython-8.30.0.tar.gz", hash = "sha256:cb0a405a306d2995a5cbb9901894d240784a9f341394c6ba3f4fe8c6eb89ff6e"}, + {file = "ipython-8.36.0-py3-none-any.whl", hash = "sha256:12b913914d010dcffa2711505ec8be4bf0180742d97f1e5175e51f22086428c1"}, + {file = "ipython-8.36.0.tar.gz", hash = "sha256:24658e9fe5c5c819455043235ba59cfffded4a35936eefceceab6b192f7092ff"}, ] [package.dependencies] @@ -1431,7 +1422,7 @@ notebook = ["ipywidgets", "notebook"] parallel = ["ipyparallel"] qtconsole = ["qtconsole"] test = ["packaging", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath"] -test-extra = ["curio", "ipython[test]", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] +test-extra = ["curio", "ipython[test]", "jupyter_ai", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] [[package]] name = "isodate" @@ -1465,13 +1456,13 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"] [[package]] name = "jinja2" -version = "3.1.4" +version = "3.1.6" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, + {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, + {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, ] [package.dependencies] @@ -1532,13 +1523,13 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jsonschema-specifications" -version = "2024.10.1" +version = "2025.4.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.9" files = [ - {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"}, - {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"}, + {file = "jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af"}, + {file = "jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608"}, ] [package.dependencies] @@ -1699,13 +1690,13 @@ xlrd3 = ">=1.1.0" [[package]] name = "loguru" -version = "0.7.2" +version = "0.7.3" description = "Python logging made (stupidly) simple" optional = false -python-versions = ">=3.5" +python-versions = "<4.0,>=3.5" files = [ - {file = "loguru-0.7.2-py3-none-any.whl", hash = "sha256:003d71e3d3ed35f0f8984898359d65b79e5b21943f78af86aa5491210429b8eb"}, - {file = "loguru-0.7.2.tar.gz", hash = "sha256:e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac"}, + {file = "loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c"}, + {file = "loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6"}, ] [package.dependencies] @@ -1713,17 +1704,17 @@ colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""} win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""} [package.extras] -dev = ["Sphinx (==7.2.5)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptiongroup (==1.1.3)", "freezegun (==1.1.0)", "freezegun (==1.2.2)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v1.4.1)", "mypy (==v1.5.1)", "pre-commit (==3.4.0)", "pytest (==6.1.2)", "pytest (==7.4.0)", "pytest-cov (==2.12.1)", "pytest-cov (==4.1.0)", "pytest-mypy-plugins (==1.9.3)", "pytest-mypy-plugins (==3.0.0)", "sphinx-autobuild (==2021.3.14)", "sphinx-rtd-theme (==1.3.0)", "tox (==3.27.1)", "tox (==4.11.0)"] +dev = ["Sphinx (==8.1.3)", "build (==1.2.2)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptiongroup (==1.1.3)", "freezegun (==1.1.0)", "freezegun (==1.5.0)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v1.13.0)", "mypy (==v1.4.1)", "myst-parser (==4.0.0)", "pre-commit (==4.0.1)", "pytest (==6.1.2)", "pytest (==8.3.2)", "pytest-cov (==2.12.1)", "pytest-cov (==5.0.0)", "pytest-cov (==6.0.0)", "pytest-mypy-plugins (==1.9.3)", "pytest-mypy-plugins (==3.1.0)", "sphinx-rtd-theme (==3.0.2)", "tox (==3.27.1)", "tox (==4.23.2)", "twine (==6.0.1)"] [[package]] name = "makefun" -version = "1.15.6" +version = "1.16.0" description = "Small library to dynamically create python functions." optional = false python-versions = "*" files = [ - {file = "makefun-1.15.6-py2.py3-none-any.whl", hash = "sha256:e69b870f0bb60304765b1e3db576aaecf2f9b3e5105afe8cfeff8f2afe6ad067"}, - {file = "makefun-1.15.6.tar.gz", hash = "sha256:26bc63442a6182fb75efed8b51741dd2d1db2f176bec8c64e20a586256b8f149"}, + {file = "makefun-1.16.0-py2.py3-none-any.whl", hash = "sha256:43baa4c3e7ae2b17de9ceac20b669e9a67ceeadff31581007cca20a07bbe42c4"}, + {file = "makefun-1.16.0.tar.gz", hash = "sha256:e14601831570bff1f6d7e68828bcd30d2f5856f24bad5de0ccb22921ceebc947"}, ] [[package]] @@ -1752,13 +1743,13 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "marko" -version = "2.1.2" +version = "2.1.3" description = "A markdown parser with high extensibility." optional = false python-versions = ">=3.8" files = [ - {file = "marko-2.1.2-py3-none-any.whl", hash = "sha256:c14aa7a77468aaaf53cf056dcd3d32398b9df4c3fb81f5e120dd37cbb9f8c859"}, - {file = "marko-2.1.2.tar.gz", hash = "sha256:a9170006b879376e6845c91b1ae3dce2992772954b99b70175ff888537186011"}, + {file = "marko-2.1.3-py3-none-any.whl", hash = "sha256:b4125d44b94606d6f13ddc77fef8cc4c87f70d54bc7d52d6547958b9f998a9d5"}, + {file = "marko-2.1.3.tar.gz", hash = "sha256:31aacb14867328f054cc39f884212907822a43d6a30cd75b0767e001a5e2f9fc"}, ] [package.extras] @@ -1838,45 +1829,45 @@ files = [ [[package]] name = "matplotlib" -version = "3.10.0" +version = "3.10.3" description = "Python plotting package" optional = false python-versions = ">=3.10" 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.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:213fadd6348d106ca7db99e113f1bea1e65e383c3ba76e8556ba4a3054b65ae7"}, + {file = "matplotlib-3.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3bec61cb8221f0ca6313889308326e7bb303d0d302c5cc9e523b2f2e6c73deb"}, + {file = "matplotlib-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c21ae75651c0231b3ba014b6d5e08fb969c40cdb5a011e33e99ed0c9ea86ecb"}, + {file = "matplotlib-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e39755580b08e30e3620efc659330eac5d6534ab7eae50fa5e31f53ee4e30"}, + {file = "matplotlib-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf4636203e1190871d3a73664dea03d26fb019b66692cbfd642faafdad6208e8"}, + {file = "matplotlib-3.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:fd5641a9bb9d55f4dd2afe897a53b537c834b9012684c8444cc105895c8c16fd"}, + {file = "matplotlib-3.10.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0ef061f74cd488586f552d0c336b2f078d43bc00dc473d2c3e7bfee2272f3fa8"}, + {file = "matplotlib-3.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d96985d14dc5f4a736bbea4b9de9afaa735f8a0fc2ca75be2fa9e96b2097369d"}, + {file = "matplotlib-3.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5f0283da91e9522bdba4d6583ed9d5521566f63729ffb68334f86d0bb98049"}, + {file = "matplotlib-3.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdfa07c0ec58035242bc8b2c8aae37037c9a886370eef6850703d7583e19964b"}, + {file = "matplotlib-3.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c0b9849a17bce080a16ebcb80a7b714b5677d0ec32161a2cc0a8e5a6030ae220"}, + {file = "matplotlib-3.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:eef6ed6c03717083bc6d69c2d7ee8624205c29a8e6ea5a31cd3492ecdbaee1e1"}, + {file = "matplotlib-3.10.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ab1affc11d1f495ab9e6362b8174a25afc19c081ba5b0775ef00533a4236eea"}, + {file = "matplotlib-3.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2a818d8bdcafa7ed2eed74487fdb071c09c1ae24152d403952adad11fa3c65b4"}, + {file = "matplotlib-3.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748ebc3470c253e770b17d8b0557f0aa85cf8c63fd52f1a61af5b27ec0b7ffee"}, + {file = "matplotlib-3.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed70453fd99733293ace1aec568255bc51c6361cb0da94fa5ebf0649fdb2150a"}, + {file = "matplotlib-3.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dbed9917b44070e55640bd13419de83b4c918e52d97561544814ba463811cbc7"}, + {file = "matplotlib-3.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:cf37d8c6ef1a48829443e8ba5227b44236d7fcaf7647caa3178a4ff9f7a5be05"}, + {file = "matplotlib-3.10.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9f2efccc8dcf2b86fc4ee849eea5dcaecedd0773b30f47980dc0cbeabf26ec84"}, + {file = "matplotlib-3.10.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3ddbba06a6c126e3301c3d272a99dcbe7f6c24c14024e80307ff03791a5f294e"}, + {file = "matplotlib-3.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:748302b33ae9326995b238f606e9ed840bf5886ebafcb233775d946aa8107a15"}, + {file = "matplotlib-3.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a80fcccbef63302c0efd78042ea3c2436104c5b1a4d3ae20f864593696364ac7"}, + {file = "matplotlib-3.10.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55e46cbfe1f8586adb34f7587c3e4f7dedc59d5226719faf6cb54fc24f2fd52d"}, + {file = "matplotlib-3.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:151d89cb8d33cb23345cd12490c76fd5d18a56581a16d950b48c6ff19bb2ab93"}, + {file = "matplotlib-3.10.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c26dd9834e74d164d06433dc7be5d75a1e9890b926b3e57e74fa446e1a62c3e2"}, + {file = "matplotlib-3.10.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:24853dad5b8c84c8c2390fc31ce4858b6df504156893292ce8092d190ef8151d"}, + {file = "matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68f7878214d369d7d4215e2a9075fef743be38fa401d32e6020bab2dfabaa566"}, + {file = "matplotlib-3.10.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6929fc618cb6db9cb75086f73b3219bbb25920cb24cee2ea7a12b04971a4158"}, + {file = "matplotlib-3.10.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c7818292a5cc372a2dc4c795e5c356942eb8350b98ef913f7fda51fe175ac5d"}, + {file = "matplotlib-3.10.3-cp313-cp313t-win_amd64.whl", hash = "sha256:4f23ffe95c5667ef8a2b56eea9b53db7f43910fa4a2d5472ae0f72b64deab4d5"}, + {file = "matplotlib-3.10.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:86ab63d66bbc83fdb6733471d3bff40897c1e9921cba112accd748eee4bce5e4"}, + {file = "matplotlib-3.10.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:a48f9c08bf7444b5d2391a83e75edb464ccda3c380384b36532a0962593a1751"}, + {file = "matplotlib-3.10.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb73d8aa75a237457988f9765e4dfe1c0d2453c5ca4eabc897d4309672c8e014"}, + {file = "matplotlib-3.10.3.tar.gz", hash = "sha256:2f82d2c5bb7ae93aaaa4cd42aca65d76ce6376f83304fa3a630b569aca274df0"}, ] [package.dependencies] @@ -1920,28 +1911,28 @@ files = [ [[package]] name = "more-itertools" -version = "10.5.0" +version = "10.7.0" description = "More routines for operating on iterables, beyond itertools" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"}, - {file = "more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef"}, + {file = "more_itertools-10.7.0-py3-none-any.whl", hash = "sha256:d43980384673cb07d2f7d2d918c616b30c659c089ee23953f601d6609c67510e"}, + {file = "more_itertools-10.7.0.tar.gz", hash = "sha256:9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3"}, ] [[package]] name = "msal" -version = "1.31.1" +version = "1.32.3" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." optional = false python-versions = ">=3.7" files = [ - {file = "msal-1.31.1-py3-none-any.whl", hash = "sha256:29d9882de247e96db01386496d59f29035e5e841bcac892e6d7bf4390bf6bd17"}, - {file = "msal-1.31.1.tar.gz", hash = "sha256:11b5e6a3f802ffd3a72107203e20c4eac6ef53401961b880af2835b723d80578"}, + {file = "msal-1.32.3-py3-none-any.whl", hash = "sha256:b2798db57760b1961b142f027ffb7c8169536bf77316e99a0df5c4aaebb11569"}, + {file = "msal-1.32.3.tar.gz", hash = "sha256:5eea038689c78a5a70ca8ecbe1245458b55a857bd096efb6989c69ba15985d35"}, ] [package.dependencies] -cryptography = ">=2.5,<46" +cryptography = ">=2.5,<47" PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} requests = ">=2.0.0,<3" @@ -1950,18 +1941,20 @@ broker = ["pymsalruntime (>=0.14,<0.18)", "pymsalruntime (>=0.17,<0.18)"] [[package]] name = "msal-extensions" -version = "1.2.0" +version = "1.3.1" description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "msal_extensions-1.2.0-py3-none-any.whl", hash = "sha256:cf5ba83a2113fa6dc011a254a72f1c223c88d7dfad74cc30617c4679a417704d"}, - {file = "msal_extensions-1.2.0.tar.gz", hash = "sha256:6f41b320bfd2933d631a215c91ca0dd3e67d84bd1a2f50ce917d5874ec646bef"}, + {file = "msal_extensions-1.3.1-py3-none-any.whl", hash = "sha256:96d3de4d034504e969ac5e85bae8106c8373b5c6568e4c8fa7af2eca9dbe6bca"}, + {file = "msal_extensions-1.3.1.tar.gz", hash = "sha256:c5b0fd10f65ef62b5f1d62f4251d51cbcaf003fcedae8c91b040a488614be1a4"}, ] [package.dependencies] msal = ">=1.29,<2" -portalocker = ">=1.4,<3" + +[package.extras] +portalocker = ["portalocker (>=1.4,<4)"] [[package]] name = "nbqa" @@ -2007,13 +2000,13 @@ files = [ [[package]] name = "num2words" -version = "0.5.13" +version = "0.5.14" description = "Modules to convert numbers to words. Easily extensible." optional = false python-versions = "*" files = [ - {file = "num2words-0.5.13-py3-none-any.whl", hash = "sha256:39e662c663f0a7e15415431ea68eb3dc711b49e3b776d93403e1da0a219ca4ee"}, - {file = "num2words-0.5.13.tar.gz", hash = "sha256:a3064716fbbf90d75c449450cebfbc73a6a13e63b2531d09bdecc3ab1a2209cf"}, + {file = "num2words-0.5.14-py3-none-any.whl", hash = "sha256:1c8e5b00142fc2966fd8d685001e36c4a9911e070d1b120e1beb721fa1edb33d"}, + {file = "num2words-0.5.14.tar.gz", hash = "sha256:b066ec18e56b6616a3b38086b5747daafbaa8868b226a36127e0451c0cf379c6"}, ] [package.dependencies] @@ -2021,66 +2014,66 @@ docopt = ">=0.6.2" [[package]] name = "numpy" -version = "2.1.3" +version = "2.2.6" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.10" files = [ - {file = "numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff"}, - {file = "numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5"}, - {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1"}, - {file = "numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd"}, - {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3"}, - {file = "numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098"}, - {file = "numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c"}, - {file = "numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4"}, - {file = "numpy-2.1.3-cp310-cp310-win32.whl", hash = "sha256:72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23"}, - {file = "numpy-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9"}, - {file = "numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09"}, - {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a"}, - {file = "numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b"}, - {file = "numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee"}, - {file = "numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0"}, - {file = "numpy-2.1.3-cp311-cp311-win32.whl", hash = "sha256:d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9"}, - {file = "numpy-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8"}, - {file = "numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564"}, - {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512"}, - {file = "numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b"}, - {file = "numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc"}, - {file = "numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0"}, - {file = "numpy-2.1.3-cp312-cp312-win32.whl", hash = "sha256:e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9"}, - {file = "numpy-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57"}, - {file = "numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe"}, - {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43"}, - {file = "numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56"}, - {file = "numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a"}, - {file = "numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef"}, - {file = "numpy-2.1.3-cp313-cp313-win32.whl", hash = "sha256:50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f"}, - {file = "numpy-2.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e"}, - {file = "numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0"}, - {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408"}, - {file = "numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6"}, - {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f"}, - {file = "numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17"}, - {file = "numpy-2.1.3-cp313-cp313t-win32.whl", hash = "sha256:08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48"}, - {file = "numpy-2.1.3-cp313-cp313t-win_amd64.whl", hash = "sha256:2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d"}, - {file = "numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb"}, - {file = "numpy-2.1.3.tar.gz", hash = "sha256:aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761"}, + {file = "numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb"}, + {file = "numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90"}, + {file = "numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163"}, + {file = "numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf"}, + {file = "numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83"}, + {file = "numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915"}, + {file = "numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680"}, + {file = "numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289"}, + {file = "numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d"}, + {file = "numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3"}, + {file = "numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae"}, + {file = "numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a"}, + {file = "numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42"}, + {file = "numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491"}, + {file = "numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a"}, + {file = "numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf"}, + {file = "numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1"}, + {file = "numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab"}, + {file = "numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47"}, + {file = "numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303"}, + {file = "numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff"}, + {file = "numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c"}, + {file = "numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3"}, + {file = "numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282"}, + {file = "numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87"}, + {file = "numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249"}, + {file = "numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49"}, + {file = "numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de"}, + {file = "numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4"}, + {file = "numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2"}, + {file = "numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84"}, + {file = "numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b"}, + {file = "numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d"}, + {file = "numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566"}, + {file = "numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f"}, + {file = "numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f"}, + {file = "numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868"}, + {file = "numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d"}, + {file = "numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd"}, + {file = "numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c"}, + {file = "numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6"}, + {file = "numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda"}, + {file = "numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40"}, + {file = "numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8"}, + {file = "numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f"}, + {file = "numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa"}, + {file = "numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571"}, + {file = "numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1"}, + {file = "numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff"}, + {file = "numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06"}, + {file = "numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d"}, + {file = "numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db"}, + {file = "numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543"}, + {file = "numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00"}, + {file = "numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd"}, ] [[package]] @@ -2113,13 +2106,13 @@ attrs = ">=19.2.0" [[package]] name = "packaging" -version = "24.1" +version = "25.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, + {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, + {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, ] [[package]] @@ -2225,12 +2218,12 @@ testing = ["docopt", "pytest"] [[package]] name = "petl" -version = "1.7.15" +version = "1.7.16" description = "A Python package for extracting, transforming and loading tables of data." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ - {file = "petl-1.7.15.tar.gz", hash = "sha256:8e31438380ad51552539865ad3b1ab655de1b531bd03980c871ec2cff4a8c414"}, + {file = "petl-1.7.16.tar.gz", hash = "sha256:9c2fea64d859da45e120fd86d471e5387396cc45d5d4986efa79679f18eb8752"}, ] [package.extras] @@ -2265,122 +2258,133 @@ ptyprocess = ">=0.5" [[package]] name = "pillow" -version = "11.1.0" +version = "11.2.1" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.9" files = [ - {file = "pillow-11.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:e1abe69aca89514737465752b4bcaf8016de61b3be1397a8fc260ba33321b3a8"}, - {file = "pillow-11.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c640e5a06869c75994624551f45e5506e4256562ead981cce820d5ab39ae2192"}, - {file = "pillow-11.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a07dba04c5e22824816b2615ad7a7484432d7f540e6fa86af60d2de57b0fcee2"}, - {file = "pillow-11.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e267b0ed063341f3e60acd25c05200df4193e15a4a5807075cd71225a2386e26"}, - {file = "pillow-11.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:bd165131fd51697e22421d0e467997ad31621b74bfc0b75956608cb2906dda07"}, - {file = "pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:abc56501c3fd148d60659aae0af6ddc149660469082859fa7b066a298bde9482"}, - {file = "pillow-11.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:54ce1c9a16a9561b6d6d8cb30089ab1e5eb66918cb47d457bd996ef34182922e"}, - {file = "pillow-11.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:73ddde795ee9b06257dac5ad42fcb07f3b9b813f8c1f7f870f402f4dc54b5269"}, - {file = "pillow-11.1.0-cp310-cp310-win32.whl", hash = "sha256:3a5fe20a7b66e8135d7fd617b13272626a28278d0e578c98720d9ba4b2439d49"}, - {file = "pillow-11.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:b6123aa4a59d75f06e9dd3dac5bf8bc9aa383121bb3dd9a7a612e05eabc9961a"}, - {file = "pillow-11.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:a76da0a31da6fcae4210aa94fd779c65c75786bc9af06289cd1c184451ef7a65"}, - {file = "pillow-11.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:e06695e0326d05b06833b40b7ef477e475d0b1ba3a6d27da1bb48c23209bf457"}, - {file = "pillow-11.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96f82000e12f23e4f29346e42702b6ed9a2f2fea34a740dd5ffffcc8c539eb35"}, - {file = "pillow-11.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3cd561ded2cf2bbae44d4605837221b987c216cff94f49dfeed63488bb228d2"}, - {file = "pillow-11.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f189805c8be5ca5add39e6f899e6ce2ed824e65fb45f3c28cb2841911da19070"}, - {file = "pillow-11.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:dd0052e9db3474df30433f83a71b9b23bd9e4ef1de13d92df21a52c0303b8ab6"}, - {file = "pillow-11.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:837060a8599b8f5d402e97197d4924f05a2e0d68756998345c829c33186217b1"}, - {file = "pillow-11.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:aa8dd43daa836b9a8128dbe7d923423e5ad86f50a7a14dc688194b7be5c0dea2"}, - {file = "pillow-11.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0a2f91f8a8b367e7a57c6e91cd25af510168091fb89ec5146003e424e1558a96"}, - {file = "pillow-11.1.0-cp311-cp311-win32.whl", hash = "sha256:c12fc111ef090845de2bb15009372175d76ac99969bdf31e2ce9b42e4b8cd88f"}, - {file = "pillow-11.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fbd43429d0d7ed6533b25fc993861b8fd512c42d04514a0dd6337fb3ccf22761"}, - {file = "pillow-11.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:f7955ecf5609dee9442cbface754f2c6e541d9e6eda87fad7f7a989b0bdb9d71"}, - {file = "pillow-11.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2062ffb1d36544d42fcaa277b069c88b01bb7298f4efa06731a7fd6cc290b81a"}, - {file = "pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a85b653980faad27e88b141348707ceeef8a1186f75ecc600c395dcac19f385b"}, - {file = "pillow-11.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9409c080586d1f683df3f184f20e36fb647f2e0bc3988094d4fd8c9f4eb1b3b3"}, - {file = "pillow-11.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fdadc077553621911f27ce206ffcbec7d3f8d7b50e0da39f10997e8e2bb7f6a"}, - {file = "pillow-11.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:93a18841d09bcdd774dcdc308e4537e1f867b3dec059c131fde0327899734aa1"}, - {file = "pillow-11.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9aa9aeddeed452b2f616ff5507459e7bab436916ccb10961c4a382cd3e03f47f"}, - {file = "pillow-11.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3cdcdb0b896e981678eee140d882b70092dac83ac1cdf6b3a60e2216a73f2b91"}, - {file = "pillow-11.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36ba10b9cb413e7c7dfa3e189aba252deee0602c86c309799da5a74009ac7a1c"}, - {file = "pillow-11.1.0-cp312-cp312-win32.whl", hash = "sha256:cfd5cd998c2e36a862d0e27b2df63237e67273f2fc78f47445b14e73a810e7e6"}, - {file = "pillow-11.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a697cd8ba0383bba3d2d3ada02b34ed268cb548b369943cd349007730c92bddf"}, - {file = "pillow-11.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:4dd43a78897793f60766563969442020e90eb7847463eca901e41ba186a7d4a5"}, - {file = "pillow-11.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ae98e14432d458fc3de11a77ccb3ae65ddce70f730e7c76140653048c71bfcbc"}, - {file = "pillow-11.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cc1331b6d5a6e144aeb5e626f4375f5b7ae9934ba620c0ac6b3e43d5e683a0f0"}, - {file = "pillow-11.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:758e9d4ef15d3560214cddbc97b8ef3ef86ce04d62ddac17ad39ba87e89bd3b1"}, - {file = "pillow-11.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b523466b1a31d0dcef7c5be1f20b942919b62fd6e9a9be199d035509cbefc0ec"}, - {file = "pillow-11.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:9044b5e4f7083f209c4e35aa5dd54b1dd5b112b108648f5c902ad586d4f945c5"}, - {file = "pillow-11.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:3764d53e09cdedd91bee65c2527815d315c6b90d7b8b79759cc48d7bf5d4f114"}, - {file = "pillow-11.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:31eba6bbdd27dde97b0174ddf0297d7a9c3a507a8a1480e1e60ef914fe23d352"}, - {file = "pillow-11.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b5d658fbd9f0d6eea113aea286b21d3cd4d3fd978157cbf2447a6035916506d3"}, - {file = "pillow-11.1.0-cp313-cp313-win32.whl", hash = "sha256:f86d3a7a9af5d826744fabf4afd15b9dfef44fe69a98541f666f66fbb8d3fef9"}, - {file = "pillow-11.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:593c5fd6be85da83656b93ffcccc2312d2d149d251e98588b14fbc288fd8909c"}, - {file = "pillow-11.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:11633d58b6ee5733bde153a8dafd25e505ea3d32e261accd388827ee987baf65"}, - {file = "pillow-11.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:70ca5ef3b3b1c4a0812b5c63c57c23b63e53bc38e758b37a951e5bc466449861"}, - {file = "pillow-11.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8000376f139d4d38d6851eb149b321a52bb8893a88dae8ee7d95840431977081"}, - {file = "pillow-11.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ee85f0696a17dd28fbcfceb59f9510aa71934b483d1f5601d1030c3c8304f3c"}, - {file = "pillow-11.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:dd0e081319328928531df7a0e63621caf67652c8464303fd102141b785ef9547"}, - {file = "pillow-11.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e63e4e5081de46517099dc30abe418122f54531a6ae2ebc8680bcd7096860eab"}, - {file = "pillow-11.1.0-cp313-cp313t-win32.whl", hash = "sha256:dda60aa465b861324e65a78c9f5cf0f4bc713e4309f83bc387be158b077963d9"}, - {file = "pillow-11.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ad5db5781c774ab9a9b2c4302bbf0c1014960a0a7be63278d13ae6fdf88126fe"}, - {file = "pillow-11.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:67cd427c68926108778a9005f2a04adbd5e67c442ed21d95389fe1d595458756"}, - {file = "pillow-11.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:bf902d7413c82a1bfa08b06a070876132a5ae6b2388e2712aab3a7cbc02205c6"}, - {file = "pillow-11.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c1eec9d950b6fe688edee07138993e54ee4ae634c51443cfb7c1e7613322718e"}, - {file = "pillow-11.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e275ee4cb11c262bd108ab2081f750db2a1c0b8c12c1897f27b160c8bd57bbc"}, - {file = "pillow-11.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4db853948ce4e718f2fc775b75c37ba2efb6aaea41a1a5fc57f0af59eee774b2"}, - {file = "pillow-11.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:ab8a209b8485d3db694fa97a896d96dd6533d63c22829043fd9de627060beade"}, - {file = "pillow-11.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:54251ef02a2309b5eec99d151ebf5c9904b77976c8abdcbce7891ed22df53884"}, - {file = "pillow-11.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5bb94705aea800051a743aa4874bb1397d4695fb0583ba5e425ee0328757f196"}, - {file = "pillow-11.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:89dbdb3e6e9594d512780a5a1c42801879628b38e3efc7038094430844e271d8"}, - {file = "pillow-11.1.0-cp39-cp39-win32.whl", hash = "sha256:e5449ca63da169a2e6068dd0e2fcc8d91f9558aba89ff6d02121ca8ab11e79e5"}, - {file = "pillow-11.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:3362c6ca227e65c54bf71a5f88b3d4565ff1bcbc63ae72c34b07bbb1cc59a43f"}, - {file = "pillow-11.1.0-cp39-cp39-win_arm64.whl", hash = "sha256:b20be51b37a75cc54c2c55def3fa2c65bb94ba859dde241cd0a4fd302de5ae0a"}, - {file = "pillow-11.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8c730dc3a83e5ac137fbc92dfcfe1511ce3b2b5d7578315b63dbbb76f7f51d90"}, - {file = "pillow-11.1.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d33d2fae0e8b170b6a6c57400e077412240f6f5bb2a342cf1ee512a787942bb"}, - {file = "pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8d65b38173085f24bc07f8b6c505cbb7418009fa1a1fcb111b1f4961814a442"}, - {file = "pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:015c6e863faa4779251436db398ae75051469f7c903b043a48f078e437656f83"}, - {file = "pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d44ff19eea13ae4acdaaab0179fa68c0c6f2f45d66a4d8ec1eda7d6cecbcc15f"}, - {file = "pillow-11.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d3d8da4a631471dfaf94c10c85f5277b1f8e42ac42bade1ac67da4b4a7359b73"}, - {file = "pillow-11.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4637b88343166249fe8aa94e7c4a62a180c4b3898283bb5d3d2fd5fe10d8e4e0"}, - {file = "pillow-11.1.0.tar.gz", hash = "sha256:368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20"}, + {file = "pillow-11.2.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:d57a75d53922fc20c165016a20d9c44f73305e67c351bbc60d1adaf662e74047"}, + {file = "pillow-11.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:127bf6ac4a5b58b3d32fc8289656f77f80567d65660bc46f72c0d77e6600cc95"}, + {file = "pillow-11.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4ba4be812c7a40280629e55ae0b14a0aafa150dd6451297562e1764808bbe61"}, + {file = "pillow-11.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8bd62331e5032bc396a93609982a9ab6b411c05078a52f5fe3cc59234a3abd1"}, + {file = "pillow-11.2.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:562d11134c97a62fe3af29581f083033179f7ff435f78392565a1ad2d1c2c45c"}, + {file = "pillow-11.2.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:c97209e85b5be259994eb5b69ff50c5d20cca0f458ef9abd835e262d9d88b39d"}, + {file = "pillow-11.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0c3e6d0f59171dfa2e25d7116217543310908dfa2770aa64b8f87605f8cacc97"}, + {file = "pillow-11.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc1c3bc53befb6096b84165956e886b1729634a799e9d6329a0c512ab651e579"}, + {file = "pillow-11.2.1-cp310-cp310-win32.whl", hash = "sha256:312c77b7f07ab2139924d2639860e084ec2a13e72af54d4f08ac843a5fc9c79d"}, + {file = "pillow-11.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9bc7ae48b8057a611e5fe9f853baa88093b9a76303937449397899385da06fad"}, + {file = "pillow-11.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:2728567e249cdd939f6cc3d1f049595c66e4187f3c34078cbc0a7d21c47482d2"}, + {file = "pillow-11.2.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35ca289f712ccfc699508c4658a1d14652e8033e9b69839edf83cbdd0ba39e70"}, + {file = "pillow-11.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0409af9f829f87a2dfb7e259f78f317a5351f2045158be321fd135973fff7bf"}, + {file = "pillow-11.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4e5c5edee874dce4f653dbe59db7c73a600119fbea8d31f53423586ee2aafd7"}, + {file = "pillow-11.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b93a07e76d13bff9444f1a029e0af2964e654bfc2e2c2d46bfd080df5ad5f3d8"}, + {file = "pillow-11.2.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:e6def7eed9e7fa90fde255afaf08060dc4b343bbe524a8f69bdd2a2f0018f600"}, + {file = "pillow-11.2.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8f4f3724c068be008c08257207210c138d5f3731af6c155a81c2b09a9eb3a788"}, + {file = "pillow-11.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a0a6709b47019dff32e678bc12c63008311b82b9327613f534e496dacaefb71e"}, + {file = "pillow-11.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f6b0c664ccb879109ee3ca702a9272d877f4fcd21e5eb63c26422fd6e415365e"}, + {file = "pillow-11.2.1-cp311-cp311-win32.whl", hash = "sha256:cc5d875d56e49f112b6def6813c4e3d3036d269c008bf8aef72cd08d20ca6df6"}, + {file = "pillow-11.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:0f5c7eda47bf8e3c8a283762cab94e496ba977a420868cb819159980b6709193"}, + {file = "pillow-11.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:4d375eb838755f2528ac8cbc926c3e31cc49ca4ad0cf79cff48b20e30634a4a7"}, + {file = "pillow-11.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:78afba22027b4accef10dbd5eed84425930ba41b3ea0a86fa8d20baaf19d807f"}, + {file = "pillow-11.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78092232a4ab376a35d68c4e6d5e00dfd73454bd12b230420025fbe178ee3b0b"}, + {file = "pillow-11.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a5f306095c6780c52e6bbb6109624b95c5b18e40aab1c3041da3e9e0cd3e2d"}, + {file = "pillow-11.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c7b29dbd4281923a2bfe562acb734cee96bbb129e96e6972d315ed9f232bef4"}, + {file = "pillow-11.2.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e645b020f3209a0181a418bffe7b4a93171eef6c4ef6cc20980b30bebf17b7d"}, + {file = "pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2dbea1012ccb784a65349f57bbc93730b96e85b42e9bf7b01ef40443db720b4"}, + {file = "pillow-11.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:da3104c57bbd72948d75f6a9389e6727d2ab6333c3617f0a89d72d4940aa0443"}, + {file = "pillow-11.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:598174aef4589af795f66f9caab87ba4ff860ce08cd5bb447c6fc553ffee603c"}, + {file = "pillow-11.2.1-cp312-cp312-win32.whl", hash = "sha256:1d535df14716e7f8776b9e7fee118576d65572b4aad3ed639be9e4fa88a1cad3"}, + {file = "pillow-11.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:14e33b28bf17c7a38eede290f77db7c664e4eb01f7869e37fa98a5aa95978941"}, + {file = "pillow-11.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:21e1470ac9e5739ff880c211fc3af01e3ae505859392bf65458c224d0bf283eb"}, + {file = "pillow-11.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fdec757fea0b793056419bca3e9932eb2b0ceec90ef4813ea4c1e072c389eb28"}, + {file = "pillow-11.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0e130705d568e2f43a17bcbe74d90958e8a16263868a12c3e0d9c8162690830"}, + {file = "pillow-11.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bdb5e09068332578214cadd9c05e3d64d99e0e87591be22a324bdbc18925be0"}, + {file = "pillow-11.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d189ba1bebfbc0c0e529159631ec72bb9e9bc041f01ec6d3233d6d82eb823bc1"}, + {file = "pillow-11.2.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:191955c55d8a712fab8934a42bfefbf99dd0b5875078240943f913bb66d46d9f"}, + {file = "pillow-11.2.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ad275964d52e2243430472fc5d2c2334b4fc3ff9c16cb0a19254e25efa03a155"}, + {file = "pillow-11.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:750f96efe0597382660d8b53e90dd1dd44568a8edb51cb7f9d5d918b80d4de14"}, + {file = "pillow-11.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fe15238d3798788d00716637b3d4e7bb6bde18b26e5d08335a96e88564a36b6b"}, + {file = "pillow-11.2.1-cp313-cp313-win32.whl", hash = "sha256:3fe735ced9a607fee4f481423a9c36701a39719252a9bb251679635f99d0f7d2"}, + {file = "pillow-11.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:74ee3d7ecb3f3c05459ba95eed5efa28d6092d751ce9bf20e3e253a4e497e691"}, + {file = "pillow-11.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:5119225c622403afb4b44bad4c1ca6c1f98eed79db8d3bc6e4e160fc6339d66c"}, + {file = "pillow-11.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8ce2e8411c7aaef53e6bb29fe98f28cd4fbd9a1d9be2eeea434331aac0536b22"}, + {file = "pillow-11.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ee66787e095127116d91dea2143db65c7bb1e232f617aa5957c0d9d2a3f23a7"}, + {file = "pillow-11.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9622e3b6c1d8b551b6e6f21873bdcc55762b4b2126633014cea1803368a9aa16"}, + {file = "pillow-11.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63b5dff3a68f371ea06025a1a6966c9a1e1ee452fc8020c2cd0ea41b83e9037b"}, + {file = "pillow-11.2.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:31df6e2d3d8fc99f993fd253e97fae451a8db2e7207acf97859732273e108406"}, + {file = "pillow-11.2.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:062b7a42d672c45a70fa1f8b43d1d38ff76b63421cbbe7f88146b39e8a558d91"}, + {file = "pillow-11.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4eb92eca2711ef8be42fd3f67533765d9fd043b8c80db204f16c8ea62ee1a751"}, + {file = "pillow-11.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f91ebf30830a48c825590aede79376cb40f110b387c17ee9bd59932c961044f9"}, + {file = "pillow-11.2.1-cp313-cp313t-win32.whl", hash = "sha256:e0b55f27f584ed623221cfe995c912c61606be8513bfa0e07d2c674b4516d9dd"}, + {file = "pillow-11.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:36d6b82164c39ce5482f649b437382c0fb2395eabc1e2b1702a6deb8ad647d6e"}, + {file = "pillow-11.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:225c832a13326e34f212d2072982bb1adb210e0cc0b153e688743018c94a2681"}, + {file = "pillow-11.2.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:7491cf8a79b8eb867d419648fff2f83cb0b3891c8b36da92cc7f1931d46108c8"}, + {file = "pillow-11.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b02d8f9cb83c52578a0b4beadba92e37d83a4ef11570a8688bbf43f4ca50909"}, + {file = "pillow-11.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:014ca0050c85003620526b0ac1ac53f56fc93af128f7546623cc8e31875ab928"}, + {file = "pillow-11.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3692b68c87096ac6308296d96354eddd25f98740c9d2ab54e1549d6c8aea9d79"}, + {file = "pillow-11.2.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:f781dcb0bc9929adc77bad571b8621ecb1e4cdef86e940fe2e5b5ee24fd33b35"}, + {file = "pillow-11.2.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:2b490402c96f907a166615e9a5afacf2519e28295f157ec3a2bb9bd57de638cb"}, + {file = "pillow-11.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dd6b20b93b3ccc9c1b597999209e4bc5cf2853f9ee66e3fc9a400a78733ffc9a"}, + {file = "pillow-11.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4b835d89c08a6c2ee7781b8dd0a30209a8012b5f09c0a665b65b0eb3560b6f36"}, + {file = "pillow-11.2.1-cp39-cp39-win32.whl", hash = "sha256:b10428b3416d4f9c61f94b494681280be7686bda15898a3a9e08eb66a6d92d67"}, + {file = "pillow-11.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:6ebce70c3f486acf7591a3d73431fa504a4e18a9b97ff27f5f47b7368e4b9dd1"}, + {file = "pillow-11.2.1-cp39-cp39-win_arm64.whl", hash = "sha256:c27476257b2fdcd7872d54cfd119b3a9ce4610fb85c8e32b70b42e3680a29a1e"}, + {file = "pillow-11.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9b7b0d4fd2635f54ad82785d56bc0d94f147096493a79985d0ab57aedd563156"}, + {file = "pillow-11.2.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:aa442755e31c64037aa7c1cb186e0b369f8416c567381852c63444dd666fb772"}, + {file = "pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0d3348c95b766f54b76116d53d4cb171b52992a1027e7ca50c81b43b9d9e363"}, + {file = "pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85d27ea4c889342f7e35f6d56e7e1cb345632ad592e8c51b693d7b7556043ce0"}, + {file = "pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:bf2c33d6791c598142f00c9c4c7d47f6476731c31081331664eb26d6ab583e01"}, + {file = "pillow-11.2.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e616e7154c37669fc1dfc14584f11e284e05d1c650e1c0f972f281c4ccc53193"}, + {file = "pillow-11.2.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:39ad2e0f424394e3aebc40168845fee52df1394a4673a6ee512d840d14ab3013"}, + {file = "pillow-11.2.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:80f1df8dbe9572b4b7abdfa17eb5d78dd620b1d55d9e25f834efdbee872d3aed"}, + {file = "pillow-11.2.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:ea926cfbc3957090becbcbbb65ad177161a2ff2ad578b5a6ec9bb1e1cd78753c"}, + {file = "pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:738db0e0941ca0376804d4de6a782c005245264edaa253ffce24e5a15cbdc7bd"}, + {file = "pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db98ab6565c69082ec9b0d4e40dd9f6181dab0dd236d26f7a50b8b9bfbd5076"}, + {file = "pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:036e53f4170e270ddb8797d4c590e6dd14d28e15c7da375c18978045f7e6c37b"}, + {file = "pillow-11.2.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:14f73f7c291279bd65fda51ee87affd7c1e097709f7fdd0188957a16c264601f"}, + {file = "pillow-11.2.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:208653868d5c9ecc2b327f9b9ef34e0e42a4cdd172c2988fd81d62d2bc9bc044"}, + {file = "pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6"}, ] [package.extras] -docs = ["furo", "olefile", "sphinx (>=8.1)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] +docs = ["furo", "olefile", "sphinx (>=8.2)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] fpx = ["olefile"] mic = ["olefile"] +test-arrow = ["pyarrow"] tests = ["check-manifest", "coverage (>=7.4.2)", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout", "trove-classifiers (>=2024.10.12)"] typing = ["typing-extensions"] xmp = ["defusedxml"] [[package]] name = "platformdirs" -version = "4.3.6" +version = "4.3.8" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, + {file = "platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"}, + {file = "platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.4)", "pytest-cov (>=6)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.14.1)"] [[package]] name = "pluggy" -version = "1.5.0" +version = "1.6.0" description = "plugin and hook calling mechanisms for python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, + {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, + {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, ] [package.extras] dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] +testing = ["coverage", "pytest", "pytest-benchmark"] [[package]] name = "ply" @@ -2407,25 +2411,6 @@ files = [ [package.dependencies] six = ">=1.5.2" -[[package]] -name = "portalocker" -version = "2.10.1" -description = "Wraps the portalocker recipe for easy usage" -optional = false -python-versions = ">=3.8" -files = [ - {file = "portalocker-2.10.1-py3-none-any.whl", hash = "sha256:53a5984ebc86a025552264b459b46a2086e269b21823cb572f8f28ee759e45bf"}, - {file = "portalocker-2.10.1.tar.gz", hash = "sha256:ef1bf844e878ab08aee7e40184156e1151f228f103aa5c6bd0724cc330960f8f"}, -] - -[package.dependencies] -pywin32 = {version = ">=226", markers = "platform_system == \"Windows\""} - -[package.extras] -docs = ["sphinx (>=1.7.1)"] -redis = ["redis"] -tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)", "types-redis"] - [[package]] name = "pre-commit" version = "3.8.0" @@ -2446,13 +2431,13 @@ virtualenv = ">=20.10.0" [[package]] name = "prompt-toolkit" -version = "3.0.48" +version = "3.0.51" description = "Library for building powerful interactive command lines in Python" optional = false -python-versions = ">=3.7.0" +python-versions = ">=3.8" files = [ - {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, - {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, + {file = "prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07"}, + {file = "prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed"}, ] [package.dependencies] @@ -2460,32 +2445,25 @@ wcwidth = "*" [[package]] name = "psutil" -version = "6.1.0" -description = "Cross-platform lib for process and system monitoring in Python." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "psutil-6.1.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ff34df86226c0227c52f38b919213157588a678d049688eded74c76c8ba4a5d0"}, - {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c0e0c00aa18ca2d3b2b991643b799a15fc8f0563d2ebb6040f64ce8dc027b942"}, - {file = "psutil-6.1.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:000d1d1ebd634b4efb383f4034437384e44a6d455260aaee2eca1e9c1b55f047"}, - {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5cd2bcdc75b452ba2e10f0e8ecc0b57b827dd5d7aaffbc6821b2a9a242823a76"}, - {file = "psutil-6.1.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:045f00a43c737f960d273a83973b2511430d61f283a44c96bf13a6e829ba8fdc"}, - {file = "psutil-6.1.0-cp27-none-win32.whl", hash = "sha256:9118f27452b70bb1d9ab3198c1f626c2499384935aaf55388211ad982611407e"}, - {file = "psutil-6.1.0-cp27-none-win_amd64.whl", hash = "sha256:a8506f6119cff7015678e2bce904a4da21025cc70ad283a53b099e7620061d85"}, - {file = "psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688"}, - {file = "psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e"}, - {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38"}, - {file = "psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b"}, - {file = "psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a"}, - {file = "psutil-6.1.0-cp36-cp36m-win32.whl", hash = "sha256:6d3fbbc8d23fcdcb500d2c9f94e07b1342df8ed71b948a2649b5cb060a7c94ca"}, - {file = "psutil-6.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1209036fbd0421afde505a4879dee3b2fd7b1e14fee81c0069807adcbbcca747"}, - {file = "psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e"}, - {file = "psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be"}, - {file = "psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a"}, +version = "7.0.0" +description = "Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7." +optional = false +python-versions = ">=3.6" +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-cp36-cp36m-win32.whl", hash = "sha256:84df4eb63e16849689f76b1ffcb36db7b8de703d1bc1fe41773db487621b6c17"}, + {file = "psutil-7.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:1e744154a6580bc968a0195fd25e80432d3afec619daf145b9e5ba16cc1d688e"}, + {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.extras] -dev = ["black", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest-cov", "requests", "rstcheck", "ruff", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "wheel"] +dev = ["abi3audit", "black (==24.10.0)", "check-manifest", "coverage", "packaging", "pylint", "pyperf", "pypinfo", "pytest", "pytest-cov", "pytest-xdist", "requests", "rstcheck", "ruff", "setuptools", "sphinx", "sphinx_rtd_theme", "toml-sort", "twine", "virtualenv", "vulture", "wheel"] test = ["pytest", "pytest-xdist", "setuptools"] [[package]] @@ -2569,13 +2547,13 @@ test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] [[package]] name = "pycirclize" -version = "1.8.0" +version = "1.9.1" description = "Circular visualization in Python" optional = false python-versions = ">=3.9" files = [ - {file = "pycirclize-1.8.0-py3-none-any.whl", hash = "sha256:8df9bf216fe37dd7016792d8670d60b999b75a0d7fa728217c2d8e498181aba6"}, - {file = "pycirclize-1.8.0.tar.gz", hash = "sha256:1feb1dee22d77149b125ed84690739fb3f603bc431b7bd5bc7628d57a002d7bb"}, + {file = "pycirclize-1.9.1-py3-none-any.whl", hash = "sha256:0d78f517cfaad7d958514dbb53cd999b9870a11ba2ea4eff6991616805307415"}, + {file = "pycirclize-1.9.1.tar.gz", hash = "sha256:6577760657886c06bcfab63f1c69def28de7a8c3e8af8d56042857f1ac14dc6d"}, ] [package.dependencies] @@ -2586,13 +2564,13 @@ pandas = ">=1.3.5" [[package]] name = "pycodestyle" -version = "2.12.1" +version = "2.13.0" description = "Python style guide checker" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"}, - {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"}, + {file = "pycodestyle-2.13.0-py2.py3-none-any.whl", hash = "sha256:35863c5974a271c7a726ed228a14a4f6daf49df369d8c50cd9a6f58a5e143ba9"}, + {file = "pycodestyle-2.13.0.tar.gz", hash = "sha256:c8415bf09abe81d9c7f872502a6eee881fbe85d8763dd5b9924bb0a01d67efae"}, ] [[package]] @@ -2619,19 +2597,20 @@ files = [ [[package]] name = "pydantic" -version = "2.10.2" +version = "2.11.4" description = "Data validation using Python type hints" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pydantic-2.10.2-py3-none-any.whl", hash = "sha256:cfb96e45951117c3024e6b67b25cdc33a3cb7b2fa62e239f7af1378358a1d99e"}, - {file = "pydantic-2.10.2.tar.gz", hash = "sha256:2bc2d7f17232e0841cbba4641e65ba1eb6fafb3a08de3a091ff3ce14a197c4fa"}, + {file = "pydantic-2.11.4-py3-none-any.whl", hash = "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb"}, + {file = "pydantic-2.11.4.tar.gz", hash = "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d"}, ] [package.dependencies] annotated-types = ">=0.6.0" -pydantic-core = "2.27.1" +pydantic-core = "2.33.2" typing-extensions = ">=4.12.2" +typing-inspection = ">=0.4.0" [package.extras] email = ["email-validator (>=2.0.0)"] @@ -2639,111 +2618,110 @@ timezone = ["tzdata"] [[package]] name = "pydantic-core" -version = "2.27.1" +version = "2.33.2" description = "Core functionality for Pydantic validation and serialization" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "pydantic_core-2.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:71a5e35c75c021aaf400ac048dacc855f000bdfed91614b4a726f7432f1f3d6a"}, - {file = "pydantic_core-2.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f82d068a2d6ecfc6e054726080af69a6764a10015467d7d7b9f66d6ed5afa23b"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:121ceb0e822f79163dd4699e4c54f5ad38b157084d97b34de8b232bcaad70278"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4603137322c18eaf2e06a4495f426aa8d8388940f3c457e7548145011bb68e05"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a33cd6ad9017bbeaa9ed78a2e0752c5e250eafb9534f308e7a5f7849b0b1bfb4"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15cc53a3179ba0fcefe1e3ae50beb2784dede4003ad2dfd24f81bba4b23a454f"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45d9c5eb9273aa50999ad6adc6be5e0ecea7e09dbd0d31bd0c65a55a2592ca08"}, - {file = "pydantic_core-2.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8bf7b66ce12a2ac52d16f776b31d16d91033150266eb796967a7e4621707e4f6"}, - {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:655d7dd86f26cb15ce8a431036f66ce0318648f8853d709b4167786ec2fa4807"}, - {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:5556470f1a2157031e676f776c2bc20acd34c1990ca5f7e56f1ebf938b9ab57c"}, - {file = "pydantic_core-2.27.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f69ed81ab24d5a3bd93861c8c4436f54afdf8e8cc421562b0c7504cf3be58206"}, - {file = "pydantic_core-2.27.1-cp310-none-win32.whl", hash = "sha256:f5a823165e6d04ccea61a9f0576f345f8ce40ed533013580e087bd4d7442b52c"}, - {file = "pydantic_core-2.27.1-cp310-none-win_amd64.whl", hash = "sha256:57866a76e0b3823e0b56692d1a0bf722bffb324839bb5b7226a7dbd6c9a40b17"}, - {file = "pydantic_core-2.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac3b20653bdbe160febbea8aa6c079d3df19310d50ac314911ed8cc4eb7f8cb8"}, - {file = "pydantic_core-2.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a5a8e19d7c707c4cadb8c18f5f60c843052ae83c20fa7d44f41594c644a1d330"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f7059ca8d64fea7f238994c97d91f75965216bcbe5f695bb44f354893f11d52"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bed0f8a0eeea9fb72937ba118f9db0cb7e90773462af7962d382445f3005e5a4"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3cb37038123447cf0f3ea4c74751f6a9d7afef0eb71aa07bf5f652b5e6a132c"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84286494f6c5d05243456e04223d5a9417d7f443c3b76065e75001beb26f88de"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acc07b2cfc5b835444b44a9956846b578d27beeacd4b52e45489e93276241025"}, - {file = "pydantic_core-2.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4fefee876e07a6e9aad7a8c8c9f85b0cdbe7df52b8a9552307b09050f7512c7e"}, - {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:258c57abf1188926c774a4c94dd29237e77eda19462e5bb901d88adcab6af919"}, - {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:35c14ac45fcfdf7167ca76cc80b2001205a8d5d16d80524e13508371fb8cdd9c"}, - {file = "pydantic_core-2.27.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d1b26e1dff225c31897696cab7d4f0a315d4c0d9e8666dbffdb28216f3b17fdc"}, - {file = "pydantic_core-2.27.1-cp311-none-win32.whl", hash = "sha256:2cdf7d86886bc6982354862204ae3b2f7f96f21a3eb0ba5ca0ac42c7b38598b9"}, - {file = "pydantic_core-2.27.1-cp311-none-win_amd64.whl", hash = "sha256:3af385b0cee8df3746c3f406f38bcbfdc9041b5c2d5ce3e5fc6637256e60bbc5"}, - {file = "pydantic_core-2.27.1-cp311-none-win_arm64.whl", hash = "sha256:81f2ec23ddc1b476ff96563f2e8d723830b06dceae348ce02914a37cb4e74b89"}, - {file = "pydantic_core-2.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9cbd94fc661d2bab2bc702cddd2d3370bbdcc4cd0f8f57488a81bcce90c7a54f"}, - {file = "pydantic_core-2.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f8c4718cd44ec1580e180cb739713ecda2bdee1341084c1467802a417fe0f02"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15aae984e46de8d376df515f00450d1522077254ef6b7ce189b38ecee7c9677c"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ba5e3963344ff25fc8c40da90f44b0afca8cfd89d12964feb79ac1411a260ac"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:992cea5f4f3b29d6b4f7f1726ed8ee46c8331c6b4eed6db5b40134c6fe1768bb"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0325336f348dbee6550d129b1627cb8f5351a9dc91aad141ffb96d4937bd9529"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7597c07fbd11515f654d6ece3d0e4e5093edc30a436c63142d9a4b8e22f19c35"}, - {file = "pydantic_core-2.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3bbd5d8cc692616d5ef6fbbbd50dbec142c7e6ad9beb66b78a96e9c16729b089"}, - {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:dc61505e73298a84a2f317255fcc72b710b72980f3a1f670447a21efc88f8381"}, - {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:e1f735dc43da318cad19b4173dd1ffce1d84aafd6c9b782b3abc04a0d5a6f5bb"}, - {file = "pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f4e5658dbffe8843a0f12366a4c2d1c316dbe09bb4dfbdc9d2d9cd6031de8aae"}, - {file = "pydantic_core-2.27.1-cp312-none-win32.whl", hash = "sha256:672ebbe820bb37988c4d136eca2652ee114992d5d41c7e4858cdd90ea94ffe5c"}, - {file = "pydantic_core-2.27.1-cp312-none-win_amd64.whl", hash = "sha256:66ff044fd0bb1768688aecbe28b6190f6e799349221fb0de0e6f4048eca14c16"}, - {file = "pydantic_core-2.27.1-cp312-none-win_arm64.whl", hash = "sha256:9a3b0793b1bbfd4146304e23d90045f2a9b5fd5823aa682665fbdaf2a6c28f3e"}, - {file = "pydantic_core-2.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f216dbce0e60e4d03e0c4353c7023b202d95cbaeff12e5fd2e82ea0a66905073"}, - {file = "pydantic_core-2.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a2e02889071850bbfd36b56fd6bc98945e23670773bc7a76657e90e6b6603c08"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42b0e23f119b2b456d07ca91b307ae167cc3f6c846a7b169fca5326e32fdc6cf"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:764be71193f87d460a03f1f7385a82e226639732214b402f9aa61f0d025f0737"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c00666a3bd2f84920a4e94434f5974d7bbc57e461318d6bb34ce9cdbbc1f6b2"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ccaa88b24eebc0f849ce0a4d09e8a408ec5a94afff395eb69baf868f5183107"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c65af9088ac534313e1963443d0ec360bb2b9cba6c2909478d22c2e363d98a51"}, - {file = "pydantic_core-2.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:206b5cf6f0c513baffaeae7bd817717140770c74528f3e4c3e1cec7871ddd61a"}, - {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:062f60e512fc7fff8b8a9d680ff0ddaaef0193dba9fa83e679c0c5f5fbd018bc"}, - {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:a0697803ed7d4af5e4c1adf1670af078f8fcab7a86350e969f454daf598c4960"}, - {file = "pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:58ca98a950171f3151c603aeea9303ef6c235f692fe555e883591103da709b23"}, - {file = "pydantic_core-2.27.1-cp313-none-win32.whl", hash = "sha256:8065914ff79f7eab1599bd80406681f0ad08f8e47c880f17b416c9f8f7a26d05"}, - {file = "pydantic_core-2.27.1-cp313-none-win_amd64.whl", hash = "sha256:ba630d5e3db74c79300d9a5bdaaf6200172b107f263c98a0539eeecb857b2337"}, - {file = "pydantic_core-2.27.1-cp313-none-win_arm64.whl", hash = "sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5"}, - {file = "pydantic_core-2.27.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:5897bec80a09b4084aee23f9b73a9477a46c3304ad1d2d07acca19723fb1de62"}, - {file = "pydantic_core-2.27.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d0165ab2914379bd56908c02294ed8405c252250668ebcb438a55494c69f44ab"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b9af86e1d8e4cfc82c2022bfaa6f459381a50b94a29e95dcdda8442d6d83864"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f6c8a66741c5f5447e047ab0ba7a1c61d1e95580d64bce852e3df1f895c4067"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a42d6a8156ff78981f8aa56eb6394114e0dedb217cf8b729f438f643608cbcd"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64c65f40b4cd8b0e049a8edde07e38b476da7e3aaebe63287c899d2cff253fa5"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdcf339322a3fae5cbd504edcefddd5a50d9ee00d968696846f089b4432cf78"}, - {file = "pydantic_core-2.27.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf99c8404f008750c846cb4ac4667b798a9f7de673ff719d705d9b2d6de49c5f"}, - {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8f1edcea27918d748c7e5e4d917297b2a0ab80cad10f86631e488b7cddf76a36"}, - {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:159cac0a3d096f79ab6a44d77a961917219707e2a130739c64d4dd46281f5c2a"}, - {file = "pydantic_core-2.27.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:029d9757eb621cc6e1848fa0b0310310de7301057f623985698ed7ebb014391b"}, - {file = "pydantic_core-2.27.1-cp38-none-win32.whl", hash = "sha256:a28af0695a45f7060e6f9b7092558a928a28553366519f64083c63a44f70e618"}, - {file = "pydantic_core-2.27.1-cp38-none-win_amd64.whl", hash = "sha256:2d4567c850905d5eaaed2f7a404e61012a51caf288292e016360aa2b96ff38d4"}, - {file = "pydantic_core-2.27.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:e9386266798d64eeb19dd3677051f5705bf873e98e15897ddb7d76f477131967"}, - {file = "pydantic_core-2.27.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4228b5b646caa73f119b1ae756216b59cc6e2267201c27d3912b592c5e323b60"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3dfe500de26c52abe0477dde16192ac39c98f05bf2d80e76102d394bd13854"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aee66be87825cdf72ac64cb03ad4c15ffef4143dbf5c113f64a5ff4f81477bf9"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b748c44bb9f53031c8cbc99a8a061bc181c1000c60a30f55393b6e9c45cc5bd"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ca038c7f6a0afd0b2448941b6ef9d5e1949e999f9e5517692eb6da58e9d44be"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e0bd57539da59a3e4671b90a502da9a28c72322a4f17866ba3ac63a82c4498e"}, - {file = "pydantic_core-2.27.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ac6c2c45c847bbf8f91930d88716a0fb924b51e0c6dad329b793d670ec5db792"}, - {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b94d4ba43739bbe8b0ce4262bcc3b7b9f31459ad120fb595627eaeb7f9b9ca01"}, - {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:00e6424f4b26fe82d44577b4c842d7df97c20be6439e8e685d0d715feceb9fb9"}, - {file = "pydantic_core-2.27.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:38de0a70160dd97540335b7ad3a74571b24f1dc3ed33f815f0880682e6880131"}, - {file = "pydantic_core-2.27.1-cp39-none-win32.whl", hash = "sha256:7ccebf51efc61634f6c2344da73e366c75e735960b5654b63d7e6f69a5885fa3"}, - {file = "pydantic_core-2.27.1-cp39-none-win_amd64.whl", hash = "sha256:a57847b090d7892f123726202b7daa20df6694cbd583b67a592e856bff603d6c"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3fa80ac2bd5856580e242dbc202db873c60a01b20309c8319b5c5986fbe53ce6"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d950caa237bb1954f1b8c9227b5065ba6875ac9771bb8ec790d956a699b78676"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e4216e64d203e39c62df627aa882f02a2438d18a5f21d7f721621f7a5d3611d"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02a3d637bd387c41d46b002f0e49c52642281edacd2740e5a42f7017feea3f2c"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:161c27ccce13b6b0c8689418da3885d3220ed2eae2ea5e9b2f7f3d48f1d52c27"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:19910754e4cc9c63bc1c7f6d73aa1cfee82f42007e407c0f413695c2f7ed777f"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:e173486019cc283dc9778315fa29a363579372fe67045e971e89b6365cc035ed"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:af52d26579b308921b73b956153066481f064875140ccd1dfd4e77db89dbb12f"}, - {file = "pydantic_core-2.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:981fb88516bd1ae8b0cbbd2034678a39dedc98752f264ac9bc5839d3923fa04c"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5fde892e6c697ce3e30c61b239330fc5d569a71fefd4eb6512fc6caec9dd9e2f"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:816f5aa087094099fff7edabb5e01cc370eb21aa1a1d44fe2d2aefdfb5599b31"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c10c309e18e443ddb108f0ef64e8729363adbfd92d6d57beec680f6261556f3"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98476c98b02c8e9b2eec76ac4156fd006628b1b2d0ef27e548ffa978393fd154"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c3027001c28434e7ca5a6e1e527487051136aa81803ac812be51802150d880dd"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:7699b1df36a48169cdebda7ab5a2bac265204003f153b4bd17276153d997670a"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1c39b07d90be6b48968ddc8c19e7585052088fd7ec8d568bb31ff64c70ae3c97"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:46ccfe3032b3915586e469d4972973f893c0a2bb65669194a5bdea9bacc088c2"}, - {file = "pydantic_core-2.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:62ba45e21cf6571d7f716d903b5b7b6d2617e2d5d67c0923dc47b9d41369f840"}, - {file = "pydantic_core-2.27.1.tar.gz", hash = "sha256:62a763352879b84aa31058fc931884055fd75089cccbd9d58bb6afd01141b235"}, + {file = "pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8"}, + {file = "pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d"}, + {file = "pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d"}, + {file = "pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572"}, + {file = "pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02"}, + {file = "pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b"}, + {file = "pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2"}, + {file = "pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a"}, + {file = "pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac"}, + {file = "pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a"}, + {file = "pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b"}, + {file = "pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22"}, + {file = "pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640"}, + {file = "pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7"}, + {file = "pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246"}, + {file = "pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f"}, + {file = "pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc"}, + {file = "pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de"}, + {file = "pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a"}, + {file = "pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef"}, + {file = "pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e"}, + {file = "pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d"}, + {file = "pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30"}, + {file = "pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf"}, + {file = "pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51"}, + {file = "pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab"}, + {file = "pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65"}, + {file = "pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc"}, + {file = "pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7"}, + {file = "pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025"}, + {file = "pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011"}, + {file = "pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f"}, + {file = "pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88"}, + {file = "pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1"}, + {file = "pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b"}, + {file = "pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1"}, + {file = "pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6"}, + {file = "pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea"}, + {file = "pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290"}, + {file = "pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2"}, + {file = "pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab"}, + {file = "pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f"}, + {file = "pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6"}, + {file = "pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef"}, + {file = "pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a"}, + {file = "pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916"}, + {file = "pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a"}, + {file = "pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d"}, + {file = "pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56"}, + {file = "pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5"}, + {file = "pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e"}, + {file = "pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162"}, + {file = "pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849"}, + {file = "pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9"}, + {file = "pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9"}, + {file = "pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac"}, + {file = "pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5"}, + {file = "pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9"}, + {file = "pydantic_core-2.33.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a2b911a5b90e0374d03813674bf0a5fbbb7741570dcd4b4e85a2e48d17def29d"}, + {file = "pydantic_core-2.33.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6fa6dfc3e4d1f734a34710f391ae822e0a8eb8559a85c6979e14e65ee6ba2954"}, + {file = "pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c54c939ee22dc8e2d545da79fc5381f1c020d6d3141d3bd747eab59164dc89fb"}, + {file = "pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53a57d2ed685940a504248187d5685e49eb5eef0f696853647bf37c418c538f7"}, + {file = "pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09fb9dd6571aacd023fe6aaca316bd01cf60ab27240d7eb39ebd66a3a15293b4"}, + {file = "pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0e6116757f7959a712db11f3e9c0a99ade00a5bbedae83cb801985aa154f071b"}, + {file = "pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d55ab81c57b8ff8548c3e4947f119551253f4e3787a7bbc0b6b3ca47498a9d3"}, + {file = "pydantic_core-2.33.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c20c462aa4434b33a2661701b861604913f912254e441ab8d78d30485736115a"}, + {file = "pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:44857c3227d3fb5e753d5fe4a3420d6376fa594b07b621e220cd93703fe21782"}, + {file = "pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:eb9b459ca4df0e5c87deb59d37377461a538852765293f9e6ee834f0435a93b9"}, + {file = "pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9fcd347d2cc5c23b06de6d3b7b8275be558a0c90549495c699e379a80bf8379e"}, + {file = "pydantic_core-2.33.2-cp39-cp39-win32.whl", hash = "sha256:83aa99b1285bc8f038941ddf598501a86f1536789740991d7d8756e34f1e74d9"}, + {file = "pydantic_core-2.33.2-cp39-cp39-win_amd64.whl", hash = "sha256:f481959862f57f29601ccced557cc2e817bce7533ab8e01a797a48b49c9692b3"}, + {file = "pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa"}, + {file = "pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29"}, + {file = "pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d"}, + {file = "pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e"}, + {file = "pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c"}, + {file = "pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec"}, + {file = "pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052"}, + {file = "pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c"}, + {file = "pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808"}, + {file = "pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8"}, + {file = "pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593"}, + {file = "pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612"}, + {file = "pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7"}, + {file = "pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e"}, + {file = "pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8"}, + {file = "pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf"}, + {file = "pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb"}, + {file = "pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1"}, + {file = "pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:87acbfcf8e90ca885206e98359d7dca4bcbb35abdc0ff66672a293e1d7a19101"}, + {file = "pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7f92c15cd1e97d4b12acd1cc9004fa092578acfa57b67ad5e43a197175d01a64"}, + {file = "pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3f26877a748dc4251cfcfda9dfb5f13fcb034f5308388066bcfe9031b63ae7d"}, + {file = "pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac89aea9af8cd672fa7b510e7b8c33b0bba9a43186680550ccf23020f32d535"}, + {file = "pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:970919794d126ba8645f3837ab6046fb4e72bbc057b3709144066204c19a455d"}, + {file = "pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3eb3fe62804e8f859c49ed20a8451342de53ed764150cb14ca71357c765dc2a6"}, + {file = "pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:3abcd9392a36025e3bd55f9bd38d908bd17962cc49bc6da8e7e96285336e2bca"}, + {file = "pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:3a1c81334778f9e3af2f8aeb7a960736e5cab1dfebfb26aabca09afd2906c039"}, + {file = "pydantic_core-2.33.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27"}, + {file = "pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc"}, ] [package.dependencies] @@ -2751,13 +2729,13 @@ typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" [[package]] name = "pygments" -version = "2.18.0" +version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" files = [ - {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, - {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, + {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, + {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, ] [package.extras] @@ -2785,13 +2763,13 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pymarkdownlnt" -version = "0.9.23" +version = "0.9.29" description = "A GitHub Flavored Markdown compliant Markdown linter." optional = false -python-versions = ">=3.8.0" +python-versions = ">=3.9.0" files = [ - {file = "pymarkdownlnt-0.9.23-py3-none-any.whl", hash = "sha256:86738a1792ba4504474d075f462cf6fca017077efa4848eda0846b1c75a4648e"}, - {file = "pymarkdownlnt-0.9.23.tar.gz", hash = "sha256:c1a6c86332d25390f614160b39bcd92dd3d20b119ed0750aa3f8f9f8be94f74c"}, + {file = "pymarkdownlnt-0.9.29-py3-none-any.whl", hash = "sha256:8492992c75c94d1d6dd64a8c49c8ce63a171bffb45a2a054235440fe30ebdb34"}, + {file = "pymarkdownlnt-0.9.29.tar.gz", hash = "sha256:cfa37fe778fbaa11714bcc617e90f7293c628cfadce9c2ec3ea89d9b24aca086"}, ] [package.dependencies] @@ -2801,42 +2779,42 @@ typing-extensions = ">=4.7.0" [[package]] name = "pyogrio" -version = "0.10.0" +version = "0.11.0" description = "Vectorized spatial vector file format I/O using GDAL/OGR" optional = false python-versions = ">=3.9" files = [ - {file = "pyogrio-0.10.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:046eeeae12a03a3ebc3dc5ff5a87664e4f5fc0a4fb1ea5d5c45d547fa941072b"}, - {file = "pyogrio-0.10.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:44380f4d9245c776f432526e29ce4d29238aea26adad991803c4f453474f51d3"}, - {file = "pyogrio-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14fd3b72b4e2dc59e264607b265c742b0c5ec2ea9e748b115f742381b28dd373"}, - {file = "pyogrio-0.10.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:1fea7892f4633cab04d13563e47ec2e87dc2b5cd71b9546018d123184528c151"}, - {file = "pyogrio-0.10.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:3539596a76eb8a9d166d6f9d3f36731a8c5bd5c43901209d89dc66b9dc00f079"}, - {file = "pyogrio-0.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:eac90b2501656892c63bc500c12e71f3dbf7d66ddc5a7fb05cd480d25d1b7022"}, - {file = "pyogrio-0.10.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5b1a51431a27a1cb3e4e19558939c1423106e06e7b67d6285f4fba9c2d0a91b9"}, - {file = "pyogrio-0.10.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:216d69cd77b2b4a0c9d7d449bc239f8b77f3d73f4a05d9c738a0745b236902d8"}, - {file = "pyogrio-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2f0b75f0077ce33256aec6278c2a9c3b79bf0637ddf4f93d3ab2609f0501d96"}, - {file = "pyogrio-0.10.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:0a47f702d29808c557d2ebea8542c23903f021eae44e16838adef2ab4281c71b"}, - {file = "pyogrio-0.10.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:11e6c71d12da6b445e77d0fc0198db1bd35a77e03a0685e45338cbab9ce02add"}, - {file = "pyogrio-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:d0d74e91a9c0ff2f9abe01b556ff663977193b2d6922208406172d0fc833beff"}, - {file = "pyogrio-0.10.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2d6558b180e020f71ab7aa7f82d592ed3305c9f698d98f6d0a4637ec7a84c4ce"}, - {file = "pyogrio-0.10.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:a99102037eead8ba491bc57825c1e395ee31c9956d7bff7b4a9e4fdbff3a13c2"}, - {file = "pyogrio-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a4c373281d7cbf560c5b61f8f3c7442103ad7f1c7ac4ef3a84572ed7a5dd2f6"}, - {file = "pyogrio-0.10.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:19f18411bdf836d24cdc08b9337eb3ec415e4ac4086ba64516b36b73a2e88622"}, - {file = "pyogrio-0.10.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:1abbcdd9876f30bebf1df8a0273f6cdeb29d03259290008275c7fddebe139f20"}, - {file = "pyogrio-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a3e09839590d71ff832aa95c4f23fa00a2c63c3de82c1fbd4fb8d265792acfc"}, - {file = "pyogrio-0.10.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:c90478209537a31dcc65664a87a04c094bb0e08efe502908a6682b8cec0259bf"}, - {file = "pyogrio-0.10.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:fec45e1963b7058e5a1aa98598aed07c0858512c833d6aad2c672c3ec98bbf04"}, - {file = "pyogrio-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28cb139f8a5d0365ede602230104b407ae52bb6b55173c8d5a35424d28c4a2c5"}, - {file = "pyogrio-0.10.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:cea0187fcc2d574e52af8cfab041fa0a7ad71d5ef6b94b49a3f3d2a04534a27e"}, - {file = "pyogrio-0.10.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:7c02b207ea8cf09c501ea3e95d29152781a00d3c32267286bc36fa457c332205"}, - {file = "pyogrio-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:02e54bcfb305af75f829044b0045f74de31b77c2d6546f7aaf96822066147848"}, - {file = "pyogrio-0.10.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:ea96a1338ed7991735b955d3f84ad5f71b3bc070b6a7a42449941aedecc71768"}, - {file = "pyogrio-0.10.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:32d349600561459791a43f528a92f3e9343a59bdc9bc30b1be9376f0b80cbf16"}, - {file = "pyogrio-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82f7bd6a87bd2e9484bcb4c87ab94eee4c2f573ad148707431c8b341d7f13d99"}, - {file = "pyogrio-0.10.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:6166ae81462c257ed8e151c404e316642703813cf771c95ef8e11dcdf2581e47"}, - {file = "pyogrio-0.10.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:22d57495e835fe51b88da43dfbda606c07e1f6c3b849af0c3cfc18e17467641c"}, - {file = "pyogrio-0.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:eea82171bfc07fc778b8dc87b0cdc9ac06c389bc56b0c0b6f34bf9e45fb78c0e"}, - {file = "pyogrio-0.10.0.tar.gz", hash = "sha256:ec051cb568324de878828fae96379b71858933413e185148acb6c162851ab23c"}, + {file = "pyogrio-0.11.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:47e7aa1e2f345a08009a38c14db16ccdadb31313919efe0903228265df3e1962"}, + {file = "pyogrio-0.11.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:ad9734da7c95cb272f311c1a8ea61181f3ae0f539d5da5af5c88acee0fd6b707"}, + {file = "pyogrio-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1784372868fb20ba32422ce803ad464b39ec26b41587576122b3884ba7533f2c"}, + {file = "pyogrio-0.11.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:c307b54b939a1ade5caf737c9297d4c0f8af314c455bc79228fe9bee2fe2e183"}, + {file = "pyogrio-0.11.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:6013501408a0f676ffb9758e83b4e06ef869885d6315417e098c4d3737ba1e39"}, + {file = "pyogrio-0.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:2b6f2c56f01ea552480e6f7d3deb1228e3babd35a0f314aa076505e2c4f55711"}, + {file = "pyogrio-0.11.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:862b79d36d39c1f755739bde00cfd82fd1034fd287084d9202b14e3a85576f5c"}, + {file = "pyogrio-0.11.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:21b1924c02513185e3df1301dfc9d313f1450d7c366f8629e26757f51ba31003"}, + {file = "pyogrio-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:103313202414ffa7378016791d287442541af60ac57b78536f0c67f3a82904a4"}, + {file = "pyogrio-0.11.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2e48956e68c41a17cbf3df32d979553de2839a082a7a9b0beef14948aa4ca5df"}, + {file = "pyogrio-0.11.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:ec5666cc8bf97aef9993c998198f85fe209b8a9ad4737696d3d2ab573b3e9a5b"}, + {file = "pyogrio-0.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:8ad3744e679de2a31b1a885dc5ea260e3482f0d5e71461a88f431cda8d536b17"}, + {file = "pyogrio-0.11.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:a6f114d32c5c8a157c6fbf74e3ecfe69be7efb29363102f2aad14c9813de637a"}, + {file = "pyogrio-0.11.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:596e3f26e792882e35f25715634c12c1d6658a3d8d178c0089a9462c56b48be5"}, + {file = "pyogrio-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11d693ca24e80bd7ede7b27ea3598593be5b41fb7cec315a57f5bb24d15faef8"}, + {file = "pyogrio-0.11.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:961100786ae44e2f27b4049b5262e378a3cba07872fc22051905fed8b4ce42db"}, + {file = "pyogrio-0.11.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:334563d24defc5d706bd2a1fa7d7433e33140e64b0fb9cb4afc715e4f6035c2b"}, + {file = "pyogrio-0.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:bf1f9128136abcbd1605d6fc6bf8c529c2092558246d8046ee6fbc383c550074"}, + {file = "pyogrio-0.11.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:0b39e34199460dcd6a606db184094e69bcba89d1babb9a76cee74a134b53b232"}, + {file = "pyogrio-0.11.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:5a952ef7a68fdfaf796a91b88c706108cb50ddd0a74096418e84aab7ac8a38be"}, + {file = "pyogrio-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4527abcac23bdac5781f9be9a7dd55fccd9967c7241a8e53de8ea1a06ea0cc2b"}, + {file = "pyogrio-0.11.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:373a29d56a9016978aff57b88a640b5a8c3024dba7be1c059ad5af4ba932b59e"}, + {file = "pyogrio-0.11.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:ea2a131369ae8e62e30fa4f7e1442074d4828417d05ded660acea04a6a1d199b"}, + {file = "pyogrio-0.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:bf041d65bd1e89a4bb61845579c2963f2cca1bb33cde79f4ec2c0e0dc6f93afb"}, + {file = "pyogrio-0.11.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:d981a47fc7ade7eb488c0f8b9e1488973bc60b4a6692f2c7ca3812dc38c474c6"}, + {file = "pyogrio-0.11.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:d583cab4225fa55bfd9bf730436dcc664a90eb77e22367259a49cedb0f6729ce"}, + {file = "pyogrio-0.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b23ad2b89d4943d3f8eda011d2e50c1cab02cce9cd34cae263a597410886cd43"}, + {file = "pyogrio-0.11.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:dd872ee4cc5314b3881015c0dddf55f2f1f25f078bd08fcfe240f2264e6073ac"}, + {file = "pyogrio-0.11.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:81cd98c44005c455ae2bbe3490623506bf340bb674ec3c161f9260de01f6bd1b"}, + {file = "pyogrio-0.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:5fb0da79e2c73856c2b2178d5ec11b9f2ab36213b356f1221c4514cd94e3e91b"}, + {file = "pyogrio-0.11.0.tar.gz", hash = "sha256:a7e0a97bc10c0d7204f6bf52e1b928cba0554c35a907c32b23065aed1ed97b3f"}, ] [package.dependencies] @@ -2852,13 +2830,13 @@ test = ["pytest", "pytest-cov"] [[package]] name = "pyparsing" -version = "3.2.1" +version = "3.2.3" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.9" files = [ - {file = "pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1"}, - {file = "pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a"}, + {file = "pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf"}, + {file = "pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be"}, ] [package.extras] @@ -2880,36 +2858,44 @@ unidecode = ">=1,<2" [[package]] name = "pyproj" -version = "3.7.0" +version = "3.7.1" description = "Python interface to PROJ (cartographic projections and coordinate transformations library)" optional = false python-versions = ">=3.10" files = [ - {file = "pyproj-3.7.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:d5c7e7d24b967e328a5efd013f466804a1f226d1106ac7efc47dcc99360dbc8f"}, - {file = "pyproj-3.7.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:448958c46bd3fe2da91c89ba551ac5835e63073ca861422c6eb1af89979dfab1"}, - {file = "pyproj-3.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f673ca345bb92afc93d4235938ca0c9a76237aa7addf42a95965c8dc8cad9b49"}, - {file = "pyproj-3.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee60895f60cbd1a9c903ab2bc22adea63004296a1c28b8775a11cf50905cf085"}, - {file = "pyproj-3.7.0-cp310-cp310-win32.whl", hash = "sha256:0dd31b0740ee010934234f848d2d092c66146cb8d0ba009a64e41d192caa7686"}, - {file = "pyproj-3.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:7943d85ba39e89c51b920339ff63162d63bf89da161f0acb6206b0d39b11661e"}, - {file = "pyproj-3.7.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:e66d8d42dbdf232e121546c5a1dec097caf0454e4885c09a8e03cdcee0753c03"}, - {file = "pyproj-3.7.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:7764b64a0aefe40134a2828b3a40be88f6c8b7832c45d8a9f2bd592ace4b2a3b"}, - {file = "pyproj-3.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53c442c5081dc95346996f5c4323fde2caafc69c6e60b4707aa46e88244f1e04"}, - {file = "pyproj-3.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc5b305d4d5d7697885681d9b660623e328227612823d5c660e0a9566cb48838"}, - {file = "pyproj-3.7.0-cp311-cp311-win32.whl", hash = "sha256:de2b47d748dc41cccb6b3b713d4d7dc9aa1046a82141c8665026908726426abc"}, - {file = "pyproj-3.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:38cba7c4c5679e40242dd959133e95b908d3b912dd66291094fd13510e8517ff"}, - {file = "pyproj-3.7.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:8cbec92bdd6e9933ca08795c12717d1384e9b51cf4b1acf0d753db255a75c51e"}, - {file = "pyproj-3.7.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8c4a8e4d3ba76c3adac3c087544cf92f7f9a19ea34946904a13fca48cc1c0106"}, - {file = "pyproj-3.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82624fb42aa31f6b1a860fbc0316babd07fd712642bc31022df4e9b4056bf463"}, - {file = "pyproj-3.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34e1bbb3f89c68d4a6835c40b2da8b27680eec60e8cc7cdb08c09bcc725b2b62"}, - {file = "pyproj-3.7.0-cp312-cp312-win32.whl", hash = "sha256:952515d5592167ad4436b355485f82acebed2a49b46722159e4584b75a763dd3"}, - {file = "pyproj-3.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:0692f806224e8ed82fe4acfa57268ff444fdaf9f330689f24c0d96e59480cce1"}, - {file = "pyproj-3.7.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:94e8b903a9e83448fd2379c49dec3e8cd83c9ed36f54354e68b601cef56d5426"}, - {file = "pyproj-3.7.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:64cb5c17d6f6305a8b978a40f95560c87c5b363fcac40632337955664437875a"}, - {file = "pyproj-3.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c54e9bdda7ab9c4a5af50f9d6e6ee7704e05fafd504896b96ed1208c7aea098"}, - {file = "pyproj-3.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24fa4e9e0abba875f9524808410cc520067eaf38fd5549ed0ef7c43ac39923c9"}, - {file = "pyproj-3.7.0-cp313-cp313-win32.whl", hash = "sha256:b9e8353fc3c79dc14d1f5ac758a1a6e4eee04102c3c0b138670f121f5ac52eb4"}, - {file = "pyproj-3.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:10a8dc6ec61af97c89ff032647d743f8dc023645773da42ef43f7ae1125b3509"}, - {file = "pyproj-3.7.0.tar.gz", hash = "sha256:bf658f4aaf815d9d03c8121650b6f0b8067265c36e31bc6660b98ef144d81813"}, + {file = "pyproj-3.7.1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:bf09dbeb333c34e9c546364e7df1ff40474f9fddf9e70657ecb0e4f670ff0b0e"}, + {file = "pyproj-3.7.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:6575b2e53cc9e3e461ad6f0692a5564b96e7782c28631c7771c668770915e169"}, + {file = "pyproj-3.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cb516ee35ed57789b46b96080edf4e503fdb62dbb2e3c6581e0d6c83fca014b"}, + {file = "pyproj-3.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e47c4e93b88d99dd118875ee3ca0171932444cdc0b52d493371b5d98d0f30ee"}, + {file = "pyproj-3.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3e8d276caeae34fcbe4813855d0d97b9b825bab8d7a8b86d859c24a6213a5a0d"}, + {file = "pyproj-3.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f173f851ee75e54acdaa053382b6825b400cb2085663a9bb073728a59c60aebb"}, + {file = "pyproj-3.7.1-cp310-cp310-win32.whl", hash = "sha256:f550281ed6e5ea88fcf04a7c6154e246d5714be495c50c9e8e6b12d3fb63e158"}, + {file = "pyproj-3.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:3537668992a709a2e7f068069192138618c00d0ba113572fdd5ee5ffde8222f3"}, + {file = "pyproj-3.7.1-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:a94e26c1a4950cea40116775588a2ca7cf56f1f434ff54ee35a84718f3841a3d"}, + {file = "pyproj-3.7.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:263b54ba5004b6b957d55757d846fc5081bc02980caa0279c4fc95fa0fff6067"}, + {file = "pyproj-3.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6d6a2ccd5607cd15ef990c51e6f2dd27ec0a741e72069c387088bba3aab60fa"}, + {file = "pyproj-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c5dcf24ede53d8abab7d8a77f69ff1936c6a8843ef4fcc574646e4be66e5739"}, + {file = "pyproj-3.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3c2e7449840a44ce860d8bea2c6c1c4bc63fa07cba801dcce581d14dcb031a02"}, + {file = "pyproj-3.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0829865c1d3a3543f918b3919dc601eea572d6091c0dd175e1a054db9c109274"}, + {file = "pyproj-3.7.1-cp311-cp311-win32.whl", hash = "sha256:6181960b4b812e82e588407fe5c9c68ada267c3b084db078f248db5d7f45d18a"}, + {file = "pyproj-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ad0ff443a785d84e2b380869fdd82e6bfc11eba6057d25b4409a9bbfa867970"}, + {file = "pyproj-3.7.1-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:2781029d90df7f8d431e29562a3f2d8eafdf233c4010d6fc0381858dc7373217"}, + {file = "pyproj-3.7.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:d61bf8ab04c73c1da08eedaf21a103b72fa5b0a9b854762905f65ff8b375d394"}, + {file = "pyproj-3.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04abc517a8555d1b05fcee768db3280143fe42ec39fdd926a2feef31631a1f2f"}, + {file = "pyproj-3.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084c0a475688f934d386c2ab3b6ce03398a473cd48adfda70d9ab8f87f2394a0"}, + {file = "pyproj-3.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a20727a23b1e49c7dc7fe3c3df8e56a8a7acdade80ac2f5cca29d7ca5564c145"}, + {file = "pyproj-3.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bf84d766646f1ebd706d883755df4370aaf02b48187cedaa7e4239f16bc8213d"}, + {file = "pyproj-3.7.1-cp312-cp312-win32.whl", hash = "sha256:5f0da2711364d7cb9f115b52289d4a9b61e8bca0da57f44a3a9d6fc9bdeb7274"}, + {file = "pyproj-3.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:aee664a9d806612af30a19dba49e55a7a78ebfec3e9d198f6a6176e1d140ec98"}, + {file = "pyproj-3.7.1-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:5f8d02ef4431dee414d1753d13fa82a21a2f61494737b5f642ea668d76164d6d"}, + {file = "pyproj-3.7.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:0b853ae99bda66cbe24b4ccfe26d70601d84375940a47f553413d9df570065e0"}, + {file = "pyproj-3.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83db380c52087f9e9bdd8a527943b2e7324f275881125e39475c4f9277bdeec4"}, + {file = "pyproj-3.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b35ed213892e211a3ce2bea002aa1183e1a2a9b79e51bb3c6b15549a831ae528"}, + {file = "pyproj-3.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a8b15b0463d1303bab113d1a6af2860a0d79013c3a66fcc5475ce26ef717fd4f"}, + {file = "pyproj-3.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:87229e42b75e89f4dad6459200f92988c5998dfb093c7c631fb48524c86cd5dc"}, + {file = "pyproj-3.7.1-cp313-cp313-win32.whl", hash = "sha256:d666c3a3faaf3b1d7fc4a544059c4eab9d06f84a604b070b7aa2f318e227798e"}, + {file = "pyproj-3.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:d3caac7473be22b6d6e102dde6c46de73b96bc98334e577dfaee9886f102ea2e"}, + {file = "pyproj-3.7.1.tar.gz", hash = "sha256:60d72facd7b6b79853f19744779abcd3f804c4e0d4fa8815469db20c9f640a47"}, ] [package.dependencies] @@ -2929,13 +2915,13 @@ files = [ [[package]] name = "pytest" -version = "8.3.3" +version = "8.3.5" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, - {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, + {file = "pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820"}, + {file = "pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845"}, ] [package.dependencies] @@ -2965,13 +2951,13 @@ six = ">=1.5" [[package]] name = "python-dotenv" -version = "1.0.1" +version = "1.1.0" description = "Read key-value pairs from a .env file and set them as environment variables" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, + {file = "python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d"}, + {file = "python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5"}, ] [package.extras] @@ -3006,40 +2992,38 @@ unidecode = ["Unidecode (>=1.1.1)"] [[package]] name = "pytz" -version = "2024.2" +version = "2025.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, - {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, + {file = "pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00"}, + {file = "pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3"}, ] [[package]] name = "pywin32" -version = "308" +version = "310" description = "Python for Window Extensions" optional = false python-versions = "*" files = [ - {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, - {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, - {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"}, - {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"}, - {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"}, - {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"}, - {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"}, - {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"}, - {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"}, - {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"}, - {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"}, - {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"}, - {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"}, - {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"}, - {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"}, - {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"}, - {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"}, - {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"}, + {file = "pywin32-310-cp310-cp310-win32.whl", hash = "sha256:6dd97011efc8bf51d6793a82292419eba2c71cf8e7250cfac03bba284454abc1"}, + {file = "pywin32-310-cp310-cp310-win_amd64.whl", hash = "sha256:c3e78706e4229b915a0821941a84e7ef420bf2b77e08c9dae3c76fd03fd2ae3d"}, + {file = "pywin32-310-cp310-cp310-win_arm64.whl", hash = "sha256:33babed0cf0c92a6f94cc6cc13546ab24ee13e3e800e61ed87609ab91e4c8213"}, + {file = "pywin32-310-cp311-cp311-win32.whl", hash = "sha256:1e765f9564e83011a63321bb9d27ec456a0ed90d3732c4b2e312b855365ed8bd"}, + {file = "pywin32-310-cp311-cp311-win_amd64.whl", hash = "sha256:126298077a9d7c95c53823934f000599f66ec9296b09167810eb24875f32689c"}, + {file = "pywin32-310-cp311-cp311-win_arm64.whl", hash = "sha256:19ec5fc9b1d51c4350be7bb00760ffce46e6c95eaf2f0b2f1150657b1a43c582"}, + {file = "pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d"}, + {file = "pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060"}, + {file = "pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966"}, + {file = "pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab"}, + {file = "pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e"}, + {file = "pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33"}, + {file = "pywin32-310-cp38-cp38-win32.whl", hash = "sha256:0867beb8addefa2e3979d4084352e4ac6e991ca45373390775f7084cc0209b9c"}, + {file = "pywin32-310-cp38-cp38-win_amd64.whl", hash = "sha256:30f0a9b3138fb5e07eb4973b7077e1883f558e40c578c6925acc7a94c34eaa36"}, + {file = "pywin32-310-cp39-cp39-win32.whl", hash = "sha256:851c8d927af0d879221e616ae1f66145253537bbdd321a77e8ef701b443a9a1a"}, + {file = "pywin32-310-cp39-cp39-win_amd64.whl", hash = "sha256:96867217335559ac619f00ad70e513c0fcf84b8a3af9fc2bba3b59b97da70475"}, ] [[package]] @@ -3106,120 +3090,104 @@ files = [ [[package]] name = "pyzmq" -version = "26.2.0" +version = "26.4.0" description = "Python bindings for 0MQ" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, - {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, - {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, - {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, - {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, - {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, - {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, - {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, - {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, - {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, - {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, - {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, - {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, - {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, - {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, - {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, - {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, - {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, - {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, - {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, - {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, - {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, - {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, - {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, - {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, - {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, - {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, - {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, - {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, - {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, - {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, - {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, - {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, - {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, - {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, + {file = "pyzmq-26.4.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:0329bdf83e170ac133f44a233fc651f6ed66ef8e66693b5af7d54f45d1ef5918"}, + {file = "pyzmq-26.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:398a825d2dea96227cf6460ce0a174cf7657d6f6827807d4d1ae9d0f9ae64315"}, + {file = "pyzmq-26.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d52d62edc96787f5c1dfa6c6ccff9b581cfae5a70d94ec4c8da157656c73b5b"}, + {file = "pyzmq-26.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1410c3a3705db68d11eb2424d75894d41cff2f64d948ffe245dd97a9debfebf4"}, + {file = "pyzmq-26.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:7dacb06a9c83b007cc01e8e5277f94c95c453c5851aac5e83efe93e72226353f"}, + {file = "pyzmq-26.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6bab961c8c9b3a4dc94d26e9b2cdf84de9918931d01d6ff38c721a83ab3c0ef5"}, + {file = "pyzmq-26.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a5c09413b924d96af2aa8b57e76b9b0058284d60e2fc3730ce0f979031d162a"}, + {file = "pyzmq-26.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7d489ac234d38e57f458fdbd12a996bfe990ac028feaf6f3c1e81ff766513d3b"}, + {file = "pyzmq-26.4.0-cp310-cp310-win32.whl", hash = "sha256:dea1c8db78fb1b4b7dc9f8e213d0af3fc8ecd2c51a1d5a3ca1cde1bda034a980"}, + {file = "pyzmq-26.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:fa59e1f5a224b5e04dc6c101d7186058efa68288c2d714aa12d27603ae93318b"}, + {file = "pyzmq-26.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:a651fe2f447672f4a815e22e74630b6b1ec3a1ab670c95e5e5e28dcd4e69bbb5"}, + {file = "pyzmq-26.4.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:bfcf82644c9b45ddd7cd2a041f3ff8dce4a0904429b74d73a439e8cab1bd9e54"}, + {file = "pyzmq-26.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9bcae3979b2654d5289d3490742378b2f3ce804b0b5fd42036074e2bf35b030"}, + {file = "pyzmq-26.4.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccdff8ac4246b6fb60dcf3982dfaeeff5dd04f36051fe0632748fc0aa0679c01"}, + {file = "pyzmq-26.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4550af385b442dc2d55ab7717837812799d3674cb12f9a3aa897611839c18e9e"}, + {file = "pyzmq-26.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f9f7ffe9db1187a253fca95191854b3fda24696f086e8789d1d449308a34b88"}, + {file = "pyzmq-26.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3709c9ff7ba61589b7372923fd82b99a81932b592a5c7f1a24147c91da9a68d6"}, + {file = "pyzmq-26.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:f8f3c30fb2d26ae5ce36b59768ba60fb72507ea9efc72f8f69fa088450cff1df"}, + {file = "pyzmq-26.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:382a4a48c8080e273427fc692037e3f7d2851959ffe40864f2db32646eeb3cef"}, + {file = "pyzmq-26.4.0-cp311-cp311-win32.whl", hash = "sha256:d56aad0517d4c09e3b4f15adebba8f6372c5102c27742a5bdbfc74a7dceb8fca"}, + {file = "pyzmq-26.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:963977ac8baed7058c1e126014f3fe58b3773f45c78cce7af5c26c09b6823896"}, + {file = "pyzmq-26.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0c8e8cadc81e44cc5088fcd53b9b3b4ce9344815f6c4a03aec653509296fae3"}, + {file = "pyzmq-26.4.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:5227cb8da4b6f68acfd48d20c588197fd67745c278827d5238c707daf579227b"}, + {file = "pyzmq-26.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1c07a7fa7f7ba86554a2b1bef198c9fed570c08ee062fd2fd6a4dcacd45f905"}, + {file = "pyzmq-26.4.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae775fa83f52f52de73183f7ef5395186f7105d5ed65b1ae65ba27cb1260de2b"}, + {file = "pyzmq-26.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66c760d0226ebd52f1e6b644a9e839b5db1e107a23f2fcd46ec0569a4fdd4e63"}, + {file = "pyzmq-26.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:ef8c6ecc1d520debc147173eaa3765d53f06cd8dbe7bd377064cdbc53ab456f5"}, + {file = "pyzmq-26.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3150ef4084e163dec29ae667b10d96aad309b668fac6810c9e8c27cf543d6e0b"}, + {file = "pyzmq-26.4.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4448c9e55bf8329fa1dcedd32f661bf611214fa70c8e02fee4347bc589d39a84"}, + {file = "pyzmq-26.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e07dde3647afb084d985310d067a3efa6efad0621ee10826f2cb2f9a31b89d2f"}, + {file = "pyzmq-26.4.0-cp312-cp312-win32.whl", hash = "sha256:ba034a32ecf9af72adfa5ee383ad0fd4f4e38cdb62b13624278ef768fe5b5b44"}, + {file = "pyzmq-26.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:056a97aab4064f526ecb32f4343917a4022a5d9efb6b9df990ff72e1879e40be"}, + {file = "pyzmq-26.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:2f23c750e485ce1eb639dbd576d27d168595908aa2d60b149e2d9e34c9df40e0"}, + {file = "pyzmq-26.4.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:c43fac689880f5174d6fc864857d1247fe5cfa22b09ed058a344ca92bf5301e3"}, + {file = "pyzmq-26.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:902aca7eba477657c5fb81c808318460328758e8367ecdd1964b6330c73cae43"}, + {file = "pyzmq-26.4.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5e48a830bfd152fe17fbdeaf99ac5271aa4122521bf0d275b6b24e52ef35eb6"}, + {file = "pyzmq-26.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31be2b6de98c824c06f5574331f805707c667dc8f60cb18580b7de078479891e"}, + {file = "pyzmq-26.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6332452034be001bbf3206ac59c0d2a7713de5f25bb38b06519fc6967b7cf771"}, + {file = "pyzmq-26.4.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:da8c0f5dd352136853e6a09b1b986ee5278dfddfebd30515e16eae425c872b30"}, + {file = "pyzmq-26.4.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:f4ccc1a0a2c9806dda2a2dd118a3b7b681e448f3bb354056cad44a65169f6d86"}, + {file = "pyzmq-26.4.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:1c0b5fceadbab461578daf8d1dcc918ebe7ddd2952f748cf30c7cf2de5d51101"}, + {file = "pyzmq-26.4.0-cp313-cp313-win32.whl", hash = "sha256:28e2b0ff5ba4b3dd11062d905682bad33385cfa3cc03e81abd7f0822263e6637"}, + {file = "pyzmq-26.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:23ecc9d241004c10e8b4f49d12ac064cd7000e1643343944a10df98e57bc544b"}, + {file = "pyzmq-26.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:1edb0385c7f025045d6e0f759d4d3afe43c17a3d898914ec6582e6f464203c08"}, + {file = "pyzmq-26.4.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:93a29e882b2ba1db86ba5dd5e88e18e0ac6b627026c5cfbec9983422011b82d4"}, + {file = "pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb45684f276f57110bb89e4300c00f1233ca631f08f5f42528a5c408a79efc4a"}, + {file = "pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f72073e75260cb301aad4258ad6150fa7f57c719b3f498cb91e31df16784d89b"}, + {file = "pyzmq-26.4.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be37e24b13026cfedd233bcbbccd8c0bcd2fdd186216094d095f60076201538d"}, + {file = "pyzmq-26.4.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:237b283044934d26f1eeff4075f751b05d2f3ed42a257fc44386d00df6a270cf"}, + {file = "pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:b30f862f6768b17040929a68432c8a8be77780317f45a353cb17e423127d250c"}, + {file = "pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:c80fcd3504232f13617c6ab501124d373e4895424e65de8b72042333316f64a8"}, + {file = "pyzmq-26.4.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:26a2a7451606b87f67cdeca2c2789d86f605da08b4bd616b1a9981605ca3a364"}, + {file = "pyzmq-26.4.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:831cc53bf6068d46d942af52fa8b0b9d128fb39bcf1f80d468dc9a3ae1da5bfb"}, + {file = "pyzmq-26.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:51d18be6193c25bd229524cfac21e39887c8d5e0217b1857998dfbef57c070a4"}, + {file = "pyzmq-26.4.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:445c97854204119ae2232503585ebb4fa7517142f71092cb129e5ee547957a1f"}, + {file = "pyzmq-26.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:807b8f4ad3e6084412c0f3df0613269f552110fa6fb91743e3e306223dbf11a6"}, + {file = "pyzmq-26.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c01d109dd675ac47fa15c0a79d256878d898f90bc10589f808b62d021d2e653c"}, + {file = "pyzmq-26.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0a294026e28679a8dd64c922e59411cb586dad307661b4d8a5c49e7bbca37621"}, + {file = "pyzmq-26.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:22c8dd677274af8dfb1efd05006d6f68fb2f054b17066e308ae20cb3f61028cf"}, + {file = "pyzmq-26.4.0-cp38-cp38-win32.whl", hash = "sha256:14fc678b696bc42c14e2d7f86ac4e97889d5e6b94d366ebcb637a768d2ad01af"}, + {file = "pyzmq-26.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:d1ef0a536662bbbdc8525f7e2ef19e74123ec9c4578e0582ecd41aedc414a169"}, + {file = "pyzmq-26.4.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:a88643de8abd000ce99ca72056a1a2ae15881ee365ecb24dd1d9111e43d57842"}, + {file = "pyzmq-26.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0a744ce209ecb557406fb928f3c8c55ce79b16c3eeb682da38ef5059a9af0848"}, + {file = "pyzmq-26.4.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9434540f333332224ecb02ee6278b6c6f11ea1266b48526e73c903119b2f420f"}, + {file = "pyzmq-26.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6c6f0a23e55cd38d27d4c89add963294ea091ebcb104d7fdab0f093bc5abb1c"}, + {file = "pyzmq-26.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6145df55dc2309f6ef72d70576dcd5aabb0fd373311613fe85a5e547c722b780"}, + {file = "pyzmq-26.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2ea81823840ef8c56e5d2f9918e4d571236294fea4d1842b302aebffb9e40997"}, + {file = "pyzmq-26.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cc2abc385dc37835445abe206524fbc0c9e3fce87631dfaa90918a1ba8f425eb"}, + {file = "pyzmq-26.4.0-cp39-cp39-win32.whl", hash = "sha256:41a2508fe7bed4c76b4cf55aacfb8733926f59d440d9ae2b81ee8220633b4d12"}, + {file = "pyzmq-26.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:d4000e8255d6cbce38982e5622ebb90823f3409b7ffe8aeae4337ef7d6d2612a"}, + {file = "pyzmq-26.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f6919d9c120488246bdc2a2f96662fa80d67b35bd6d66218f457e722b3ff64"}, + {file = "pyzmq-26.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:98d948288ce893a2edc5ec3c438fe8de2daa5bbbd6e2e865ec5f966e237084ba"}, + {file = "pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9f34f5c9e0203ece706a1003f1492a56c06c0632d86cb77bcfe77b56aacf27b"}, + {file = "pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80c9b48aef586ff8b698359ce22f9508937c799cc1d2c9c2f7c95996f2300c94"}, + {file = "pyzmq-26.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3f2a5b74009fd50b53b26f65daff23e9853e79aa86e0aa08a53a7628d92d44a"}, + {file = "pyzmq-26.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:61c5f93d7622d84cb3092d7f6398ffc77654c346545313a3737e266fc11a3beb"}, + {file = "pyzmq-26.4.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4478b14cb54a805088299c25a79f27eaf530564a7a4f72bf432a040042b554eb"}, + {file = "pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a28ac29c60e4ba84b5f58605ace8ad495414a724fe7aceb7cf06cd0598d04e1"}, + {file = "pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43b03c1ceea27c6520124f4fb2ba9c647409b9abdf9a62388117148a90419494"}, + {file = "pyzmq-26.4.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7731abd23a782851426d4e37deb2057bf9410848a4459b5ede4fe89342e687a9"}, + {file = "pyzmq-26.4.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a222ad02fbe80166b0526c038776e8042cd4e5f0dec1489a006a1df47e9040e0"}, + {file = "pyzmq-26.4.0-pp38-pypy38_pp73-macosx_10_15_x86_64.whl", hash = "sha256:91c3ffaea475ec8bb1a32d77ebc441dcdd13cd3c4c284a6672b92a0f5ade1917"}, + {file = "pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d9a78a52668bf5c9e7b0da36aa5760a9fc3680144e1445d68e98df78a25082ed"}, + {file = "pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b70cab356ff8c860118b89dc86cd910c73ce2127eb986dada4fbac399ef644cf"}, + {file = "pyzmq-26.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acae207d4387780838192326b32d373bb286da0b299e733860e96f80728eb0af"}, + {file = "pyzmq-26.4.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f928eafd15794aa4be75463d537348b35503c1e014c5b663f206504ec1a90fe4"}, + {file = "pyzmq-26.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:552b0d2e39987733e1e9e948a0ced6ff75e0ea39ab1a1db2fc36eb60fd8760db"}, + {file = "pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd670a8aa843f2ee637039bbd412e0d7294a5e588e1ecc9ad98b0cdc050259a4"}, + {file = "pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d367b7b775a0e1e54a59a2ba3ed4d5e0a31566af97cc9154e34262777dab95ed"}, + {file = "pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8112af16c406e4a93df2caef49f884f4c2bb2b558b0b5577ef0b2465d15c1abc"}, + {file = "pyzmq-26.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c76c298683f82669cab0b6da59071f55238c039738297c69f187a542c6d40099"}, + {file = "pyzmq-26.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:49b6ca2e625b46f499fb081aaf7819a177f41eeb555acb05758aa97f4f95d147"}, + {file = "pyzmq-26.4.0.tar.gz", hash = "sha256:4bd13f85f80962f91a651a7356fe0472791a5f7a92f227822b5acf44795c626d"}, ] [package.dependencies] @@ -3245,99 +3213,105 @@ classifier = ["joblib", "numpy", "scikit-learn", "scipy", "stemming", "wikipedia [[package]] name = "rapidfuzz" -version = "3.10.1" +version = "3.13.0" description = "rapid fuzzy string matching" optional = false python-versions = ">=3.9" files = [ - {file = "rapidfuzz-3.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f17d9f21bf2f2f785d74f7b0d407805468b4c173fa3e52c86ec94436b338e74a"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b31f358a70efc143909fb3d75ac6cd3c139cd41339aa8f2a3a0ead8315731f2b"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f4f43f2204b56a61448ec2dd061e26fd344c404da99fb19f3458200c5874ba2"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d81bf186a453a2757472133b24915768abc7c3964194406ed93e170e16c21cb"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3611c8f45379a12063d70075c75134f2a8bd2e4e9b8a7995112ddae95ca1c982"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c3b537b97ac30da4b73930fa8a4fe2f79c6d1c10ad535c5c09726612cd6bed9"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:231ef1ec9cf7b59809ce3301006500b9d564ddb324635f4ea8f16b3e2a1780da"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed4f3adc1294834955b7e74edd3c6bd1aad5831c007f2d91ea839e76461a5879"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7b6015da2e707bf632a71772a2dbf0703cff6525732c005ad24987fe86e8ec32"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1b35a118d61d6f008e8e3fb3a77674d10806a8972c7b8be433d6598df4d60b01"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bc308d79a7e877226f36bdf4e149e3ed398d8277c140be5c1fd892ec41739e6d"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f017dbfecc172e2d0c37cf9e3d519179d71a7f16094b57430dffc496a098aa17"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-win32.whl", hash = "sha256:36c0e1483e21f918d0f2f26799fe5ac91c7b0c34220b73007301c4f831a9c4c7"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:10746c1d4c8cd8881c28a87fd7ba0c9c102346dfe7ff1b0d021cdf093e9adbff"}, - {file = "rapidfuzz-3.10.1-cp310-cp310-win_arm64.whl", hash = "sha256:dfa64b89dcb906835e275187569e51aa9d546a444489e97aaf2cc84011565fbe"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:92958ae075c87fef393f835ed02d4fe8d5ee2059a0934c6c447ea3417dfbf0e8"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba7521e072c53e33c384e78615d0718e645cab3c366ecd3cc8cb732befd94967"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00d02cbd75d283c287471b5b3738b3e05c9096150f93f2d2dfa10b3d700f2db9"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:efa1582a397da038e2f2576c9cd49b842f56fde37d84a6b0200ffebc08d82350"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f12912acee1f506f974f58de9fdc2e62eea5667377a7e9156de53241c05fdba8"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666d5d8b17becc3f53447bcb2b6b33ce6c2df78792495d1fa82b2924cd48701a"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26f71582c0d62445067ee338ddad99b655a8f4e4ed517a90dcbfbb7d19310474"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8a2ef08b27167bcff230ffbfeedd4c4fa6353563d6aaa015d725dd3632fc3de7"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:365e4fc1a2b95082c890f5e98489b894e6bf8c338c6ac89bb6523c2ca6e9f086"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1996feb7a61609fa842e6b5e0c549983222ffdedaf29644cc67e479902846dfe"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:cf654702f144beaa093103841a2ea6910d617d0bb3fccb1d1fd63c54dde2cd49"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec108bf25de674781d0a9a935030ba090c78d49def3d60f8724f3fc1e8e75024"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-win32.whl", hash = "sha256:031f8b367e5d92f7a1e27f7322012f3c321c3110137b43cc3bf678505583ef48"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:f98f36c6a1bb9a6c8bbec99ad87c8c0e364f34761739b5ea9adf7b48129ae8cf"}, - {file = "rapidfuzz-3.10.1-cp311-cp311-win_arm64.whl", hash = "sha256:f1da2028cb4e41be55ee797a82d6c1cf589442504244249dfeb32efc608edee7"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1340b56340896bede246f612b6ecf685f661a56aabef3d2512481bfe23ac5835"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2316515169b7b5a453f0ce3adbc46c42aa332cae9f2edb668e24d1fc92b2f2bb"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e06fe6a12241ec1b72c0566c6b28cda714d61965d86569595ad24793d1ab259"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d99c1cd9443b19164ec185a7d752f4b4db19c066c136f028991a480720472e23"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1d9aa156ed52d3446388ba4c2f335e312191d1ca9d1f5762ee983cf23e4ecf6"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:54bcf4efaaee8e015822be0c2c28214815f4f6b4f70d8362cfecbd58a71188ac"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0c955e32afdbfdf6e9ee663d24afb25210152d98c26d22d399712d29a9b976b"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:191633722203f5b7717efcb73a14f76f3b124877d0608c070b827c5226d0b972"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:195baad28057ec9609e40385991004e470af9ef87401e24ebe72c064431524ab"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0fff4a6b87c07366662b62ae994ffbeadc472e72f725923f94b72a3db49f4671"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4ffed25f9fdc0b287f30a98467493d1e1ce5b583f6317f70ec0263b3c97dbba6"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d02cf8e5af89a9ac8f53c438ddff6d773f62c25c6619b29db96f4aae248177c0"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-win32.whl", hash = "sha256:f3bb81d4fe6a5d20650f8c0afcc8f6e1941f6fecdb434f11b874c42467baded0"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:aaf83e9170cb1338922ae42d320699dccbbdca8ffed07faeb0b9257822c26e24"}, - {file = "rapidfuzz-3.10.1-cp312-cp312-win_arm64.whl", hash = "sha256:c5da802a0d085ad81b0f62828fb55557996c497b2d0b551bbdfeafd6d447892f"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fc22d69a1c9cccd560a5c434c0371b2df0f47c309c635a01a913e03bbf183710"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38b0dac2c8e057562b8f0d8ae5b663d2d6a28c5ab624de5b73cef9abb6129a24"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fde3bbb14e92ce8fcb5c2edfff72e474d0080cadda1c97785bf4822f037a309"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9141fb0592e55f98fe9ac0f3ce883199b9c13e262e0bf40c5b18cdf926109d16"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:237bec5dd1bfc9b40bbd786cd27949ef0c0eb5fab5eb491904c6b5df59d39d3c"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18123168cba156ab5794ea6de66db50f21bb3c66ae748d03316e71b27d907b95"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b75fe506c8e02769cc47f5ab21ce3e09b6211d3edaa8f8f27331cb6988779be"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9da82aa4b46973aaf9e03bb4c3d6977004648c8638febfc0f9d237e865761270"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c34c022d5ad564f1a5a57a4a89793bd70d7bad428150fb8ff2760b223407cdcf"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1e96c84d6c2a0ca94e15acb5399118fff669f4306beb98a6d8ec6f5dccab4412"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e8e154b84a311263e1aca86818c962e1fa9eefdd643d1d5d197fcd2738f88cb9"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:335fee93188f8cd585552bb8057228ce0111bd227fa81bfd40b7df6b75def8ab"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-win32.whl", hash = "sha256:6729b856166a9e95c278410f73683957ea6100c8a9d0a8dbe434c49663689255"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-win_amd64.whl", hash = "sha256:0e06d99ad1ad97cb2ef7f51ec6b1fedd74a3a700e4949353871cf331d07b382a"}, - {file = "rapidfuzz-3.10.1-cp313-cp313-win_arm64.whl", hash = "sha256:8d1b7082104d596a3eb012e0549b2634ed15015b569f48879701e9d8db959dbb"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:779027d3307e1a2b1dc0c03c34df87a470a368a1a0840a9d2908baf2d4067956"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:440b5608ab12650d0390128d6858bc839ae77ffe5edf0b33a1551f2fa9860651"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82cac41a411e07a6f3dc80dfbd33f6be70ea0abd72e99c59310819d09f07d945"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:958473c9f0bca250590200fd520b75be0dbdbc4a7327dc87a55b6d7dc8d68552"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ef60dfa73749ef91cb6073be1a3e135f4846ec809cc115f3cbfc6fe283a5584"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7fbac18f2c19fc983838a60611e67e3262e36859994c26f2ee85bb268de2355"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a0d519ff39db887cd73f4e297922786d548f5c05d6b51f4e6754f452a7f4296"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bebb7bc6aeb91cc57e4881b222484c26759ca865794187217c9dcea6c33adae6"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fe07f8b9c3bb5c5ad1d2c66884253e03800f4189a60eb6acd6119ebaf3eb9894"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:bfa48a4a2d45a41457f0840c48e579db157a927f4e97acf6e20df8fc521c79de"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2cf44d01bfe8ee605b7eaeecbc2b9ca64fc55765f17b304b40ed8995f69d7716"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e6bbca9246d9eedaa1c84e04a7f555493ba324d52ae4d9f3d9ddd1b740dcd87"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-win32.whl", hash = "sha256:567f88180f2c1423b4fe3f3ad6e6310fc97b85bdba574801548597287fc07028"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:6b2cd7c29d6ecdf0b780deb587198f13213ac01c430ada6913452fd0c40190fc"}, - {file = "rapidfuzz-3.10.1-cp39-cp39-win_arm64.whl", hash = "sha256:9f912d459e46607ce276128f52bea21ebc3e9a5ccf4cccfef30dd5bddcf47be8"}, - {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ac4452f182243cfab30ba4668ef2de101effaedc30f9faabb06a095a8c90fd16"}, - {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:565c2bd4f7d23c32834652b27b51dd711814ab614b4e12add8476be4e20d1cf5"}, - {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d9747149321607be4ccd6f9f366730078bed806178ec3eeb31d05545e9e8f"}, - {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:616290fb9a8fa87e48cb0326d26f98d4e29f17c3b762c2d586f2b35c1fd2034b"}, - {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:073a5b107e17ebd264198b78614c0206fa438cce749692af5bc5f8f484883f50"}, - {file = "rapidfuzz-3.10.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:39c4983e2e2ccb9732f3ac7d81617088822f4a12291d416b09b8a1eadebb3e29"}, - {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ac7adee6bcf0c6fee495d877edad1540a7e0f5fc208da03ccb64734b43522d7a"}, - {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:425f4ac80b22153d391ee3f94bc854668a0c6c129f05cf2eaf5ee74474ddb69e"}, - {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65a2fa13e8a219f9b5dcb9e74abe3ced5838a7327e629f426d333dfc8c5a6e66"}, - {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:75561f3df9a906aaa23787e9992b228b1ab69007932dc42070f747103e177ba8"}, - {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:edd062490537e97ca125bc6c7f2b7331c2b73d21dc304615afe61ad1691e15d5"}, - {file = "rapidfuzz-3.10.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfcc8feccf63245a22dfdd16e222f1a39771a44b870beb748117a0e09cbb4a62"}, - {file = "rapidfuzz-3.10.1.tar.gz", hash = "sha256:5a15546d847a915b3f42dc79ef9b0c78b998b4e2c53b252e7166284066585979"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:aafc42a1dc5e1beeba52cd83baa41372228d6d8266f6d803c16dbabbcc156255"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:85c9a131a44a95f9cac2eb6e65531db014e09d89c4f18c7b1fa54979cb9ff1f3"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d7cec4242d30dd521ef91c0df872e14449d1dffc2a6990ede33943b0dae56c3"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e297c09972698c95649e89121e3550cee761ca3640cd005e24aaa2619175464e"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ef0f5f03f61b0e5a57b1df7beafd83df993fd5811a09871bad6038d08e526d0d"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d8cf5f7cd6e4d5eb272baf6a54e182b2c237548d048e2882258336533f3f02b7"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9256218ac8f1a957806ec2fb9a6ddfc6c32ea937c0429e88cf16362a20ed8602"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e1bdd2e6d0c5f9706ef7595773a81ca2b40f3b33fd7f9840b726fb00c6c4eb2e"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5280be8fd7e2bee5822e254fe0a5763aa0ad57054b85a32a3d9970e9b09bbcbf"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd742c03885db1fce798a1cd87a20f47f144ccf26d75d52feb6f2bae3d57af05"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:5435fcac94c9ecf0504bf88a8a60c55482c32e18e108d6079a0089c47f3f8cf6"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:93a755266856599be4ab6346273f192acde3102d7aa0735e2f48b456397a041f"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-win32.whl", hash = "sha256:3abe6a4e8eb4cfc4cda04dd650a2dc6d2934cbdeda5def7e6fd1c20f6e7d2a0b"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:e8ddb58961401da7d6f55f185512c0d6bd24f529a637078d41dd8ffa5a49c107"}, + {file = "rapidfuzz-3.13.0-cp310-cp310-win_arm64.whl", hash = "sha256:c523620d14ebd03a8d473c89e05fa1ae152821920c3ff78b839218ff69e19ca3"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d395a5cad0c09c7f096433e5fd4224d83b53298d53499945a9b0e5a971a84f3a"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7b3eda607a019169f7187328a8d1648fb9a90265087f6903d7ee3a8eee01805"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98e0bfa602e1942d542de077baf15d658bd9d5dcfe9b762aff791724c1c38b70"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bef86df6d59667d9655905b02770a0c776d2853971c0773767d5ef8077acd624"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fedd316c165beed6307bf754dee54d3faca2c47e1f3bcbd67595001dfa11e969"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5158da7f2ec02a930be13bac53bb5903527c073c90ee37804090614cab83c29e"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b6f913ee4618ddb6d6f3e387b76e8ec2fc5efee313a128809fbd44e65c2bbb2"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d25fdbce6459ccbbbf23b4b044f56fbd1158b97ac50994eaae2a1c0baae78301"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:25343ccc589a4579fbde832e6a1e27258bfdd7f2eb0f28cb836d6694ab8591fc"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a9ad1f37894e3ffb76bbab76256e8a8b789657183870be11aa64e306bb5228fd"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5dc71ef23845bb6b62d194c39a97bb30ff171389c9812d83030c1199f319098c"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b7f4c65facdb94f44be759bbd9b6dda1fa54d0d6169cdf1a209a5ab97d311a75"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-win32.whl", hash = "sha256:b5104b62711565e0ff6deab2a8f5dbf1fbe333c5155abe26d2cfd6f1849b6c87"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-win_amd64.whl", hash = "sha256:9093cdeb926deb32a4887ebe6910f57fbcdbc9fbfa52252c10b56ef2efb0289f"}, + {file = "rapidfuzz-3.13.0-cp311-cp311-win_arm64.whl", hash = "sha256:f70f646751b6aa9d05be1fb40372f006cc89d6aad54e9d79ae97bd1f5fce5203"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a1a6a906ba62f2556372282b1ef37b26bca67e3d2ea957277cfcefc6275cca7"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2fd0975e015b05c79a97f38883a11236f5a24cca83aa992bd2558ceaa5652b26"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d4e13593d298c50c4f94ce453f757b4b398af3fa0fd2fde693c3e51195b7f69"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed6f416bda1c9133000009d84d9409823eb2358df0950231cc936e4bf784eb97"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1dc82b6ed01acb536b94a43996a94471a218f4d89f3fdd9185ab496de4b2a981"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9d824de871daa6e443b39ff495a884931970d567eb0dfa213d234337343835f"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d18228a2390375cf45726ce1af9d36ff3dc1f11dce9775eae1f1b13ac6ec50f"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9f5fe634c9482ec5d4a6692afb8c45d370ae86755e5f57aa6c50bfe4ca2bdd87"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:694eb531889f71022b2be86f625a4209c4049e74be9ca836919b9e395d5e33b3"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:11b47b40650e06147dee5e51a9c9ad73bb7b86968b6f7d30e503b9f8dd1292db"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:98b8107ff14f5af0243f27d236bcc6e1ef8e7e3b3c25df114e91e3a99572da73"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b836f486dba0aceb2551e838ff3f514a38ee72b015364f739e526d720fdb823a"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-win32.whl", hash = "sha256:4671ee300d1818d7bdfd8fa0608580d7778ba701817216f0c17fb29e6b972514"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:6e2065f68fb1d0bf65adc289c1bdc45ba7e464e406b319d67bb54441a1b9da9e"}, + {file = "rapidfuzz-3.13.0-cp312-cp312-win_arm64.whl", hash = "sha256:65cc97c2fc2c2fe23586599686f3b1ceeedeca8e598cfcc1b7e56dc8ca7e2aa7"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:09e908064d3684c541d312bd4c7b05acb99a2c764f6231bd507d4b4b65226c23"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:57c390336cb50d5d3bfb0cfe1467478a15733703af61f6dffb14b1cd312a6fae"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0da54aa8547b3c2c188db3d1c7eb4d1bb6dd80baa8cdaeaec3d1da3346ec9caa"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df8e8c21e67afb9d7fbe18f42c6111fe155e801ab103c81109a61312927cc611"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:461fd13250a2adf8e90ca9a0e1e166515cbcaa5e9c3b1f37545cbbeff9e77f6b"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2b3dd5d206a12deca16870acc0d6e5036abeb70e3cad6549c294eff15591527"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1343d745fbf4688e412d8f398c6e6d6f269db99a54456873f232ba2e7aeb4939"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b1b065f370d54551dcc785c6f9eeb5bd517ae14c983d2784c064b3aa525896df"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:11b125d8edd67e767b2295eac6eb9afe0b1cdc82ea3d4b9257da4b8e06077798"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c33f9c841630b2bb7e69a3fb5c84a854075bb812c47620978bddc591f764da3d"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ae4574cb66cf1e85d32bb7e9ec45af5409c5b3970b7ceb8dea90168024127566"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e05752418b24bbd411841b256344c26f57da1148c5509e34ea39c7eb5099ab72"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-win32.whl", hash = "sha256:0e1d08cb884805a543f2de1f6744069495ef527e279e05370dd7c83416af83f8"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:9a7c6232be5f809cd39da30ee5d24e6cadd919831e6020ec6c2391f4c3bc9264"}, + {file = "rapidfuzz-3.13.0-cp313-cp313-win_arm64.whl", hash = "sha256:3f32f15bacd1838c929b35c84b43618481e1b3d7a61b5ed2db0291b70ae88b53"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cc64da907114d7a18b5e589057e3acaf2fec723d31c49e13fedf043592a3f6a7"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4d9d7f84c8e992a8dbe5a3fdbea73d733da39bf464e62c912ac3ceba9c0cff93"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a79a2f07786a2070669b4b8e45bd96a01c788e7a3c218f531f3947878e0f956"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f338e71c45b69a482de8b11bf4a029993230760120c8c6e7c9b71760b6825a1"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adb40ca8ddfcd4edd07b0713a860be32bdf632687f656963bcbce84cea04b8d8"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48719f7dcf62dfb181063b60ee2d0a39d327fa8ad81b05e3e510680c44e1c078"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9327a4577f65fc3fb712e79f78233815b8a1c94433d0c2c9f6bc5953018b3565"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:200030dfc0a1d5d6ac18e993c5097c870c97c41574e67f227300a1fb74457b1d"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cc269e74cad6043cb8a46d0ce580031ab642b5930562c2bb79aa7fbf9c858d26"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:e62779c6371bd2b21dbd1fdce89eaec2d93fd98179d36f61130b489f62294a92"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f4797f821dc5d7c2b6fc818b89f8a3f37bcc900dd9e4369e6ebf1e525efce5db"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d21f188f6fe4fbf422e647ae9d5a68671d00218e187f91859c963d0738ccd88c"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-win32.whl", hash = "sha256:45dd4628dd9c21acc5c97627dad0bb791764feea81436fb6e0a06eef4c6dceaa"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:624a108122039af89ddda1a2b7ab2a11abe60c1521956f142f5d11bcd42ef138"}, + {file = "rapidfuzz-3.13.0-cp39-cp39-win_arm64.whl", hash = "sha256:435071fd07a085ecbf4d28702a66fd2e676a03369ee497cc38bcb69a46bc77e2"}, + {file = "rapidfuzz-3.13.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe5790a36d33a5d0a6a1f802aa42ecae282bf29ac6f7506d8e12510847b82a45"}, + {file = "rapidfuzz-3.13.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:cdb33ee9f8a8e4742c6b268fa6bd739024f34651a06b26913381b1413ebe7590"}, + {file = "rapidfuzz-3.13.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c99b76b93f7b495eee7dcb0d6a38fb3ce91e72e99d9f78faa5664a881cb2b7d"}, + {file = "rapidfuzz-3.13.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6af42f2ede8b596a6aaf6d49fdee3066ca578f4856b85ab5c1e2145de367a12d"}, + {file = "rapidfuzz-3.13.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c0efa73afbc5b265aca0d8a467ae2a3f40d6854cbe1481cb442a62b7bf23c99"}, + {file = "rapidfuzz-3.13.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7ac21489de962a4e2fc1e8f0b0da4aa1adc6ab9512fd845563fecb4b4c52093a"}, + {file = "rapidfuzz-3.13.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1ba007f4d35a45ee68656b2eb83b8715e11d0f90e5b9f02d615a8a321ff00c27"}, + {file = "rapidfuzz-3.13.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d7a217310429b43be95b3b8ad7f8fc41aba341109dc91e978cd7c703f928c58f"}, + {file = "rapidfuzz-3.13.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:558bf526bcd777de32b7885790a95a9548ffdcce68f704a81207be4a286c1095"}, + {file = "rapidfuzz-3.13.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:202a87760f5145140d56153b193a797ae9338f7939eb16652dd7ff96f8faf64c"}, + {file = "rapidfuzz-3.13.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcccc08f671646ccb1e413c773bb92e7bba789e3a1796fd49d23c12539fe2e4"}, + {file = "rapidfuzz-3.13.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:1f219f1e3c3194d7a7de222f54450ce12bc907862ff9a8962d83061c1f923c86"}, + {file = "rapidfuzz-3.13.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ccbd0e7ea1a216315f63ffdc7cd09c55f57851afc8fe59a74184cb7316c0598b"}, + {file = "rapidfuzz-3.13.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a50856f49a4016ef56edd10caabdaf3608993f9faf1e05c3c7f4beeac46bd12a"}, + {file = "rapidfuzz-3.13.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fd05336db4d0b8348d7eaaf6fa3c517b11a56abaa5e89470ce1714e73e4aca7"}, + {file = "rapidfuzz-3.13.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:573ad267eb9b3f6e9b04febce5de55d8538a87c56c64bf8fd2599a48dc9d8b77"}, + {file = "rapidfuzz-3.13.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30fd1451f87ccb6c2f9d18f6caa483116bbb57b5a55d04d3ddbd7b86f5b14998"}, + {file = "rapidfuzz-3.13.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6dd36d4916cf57ddb05286ed40b09d034ca5d4bca85c17be0cb6a21290597d9"}, + {file = "rapidfuzz-3.13.0.tar.gz", hash = "sha256:d2eaf3839e52cbcc0accbe9817a67b4b0fcf70aaeb229cfddc1c28061f9ce5d8"}, ] [package.extras] @@ -3355,18 +3329,19 @@ files = [ [[package]] name = "referencing" -version = "0.35.1" +version = "0.36.2" description = "JSON Referencing + Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, + {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, + {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, ] [package.dependencies] attrs = ">=22.2.0" rpds-py = ">=0.7.0" +typing-extensions = {version = ">=4.4.0", markers = "python_version < \"3.13\""} [[package]] name = "requests" @@ -3419,13 +3394,13 @@ idna2008 = ["idna"] [[package]] name = "rich" -version = "13.9.4" +version = "14.0.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.8.0" files = [ - {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, - {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, + {file = "rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0"}, + {file = "rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725"}, ] [package.dependencies] @@ -3438,112 +3413,136 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rpds-py" -version = "0.21.0" +version = "0.25.0" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" files = [ - {file = "rpds_py-0.21.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a017f813f24b9df929674d0332a374d40d7f0162b326562daae8066b502d0590"}, - {file = "rpds_py-0.21.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:20cc1ed0bcc86d8e1a7e968cce15be45178fd16e2ff656a243145e0b439bd250"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad116dda078d0bc4886cb7840e19811562acdc7a8e296ea6ec37e70326c1b41c"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:808f1ac7cf3b44f81c9475475ceb221f982ef548e44e024ad5f9e7060649540e"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de552f4a1916e520f2703ec474d2b4d3f86d41f353e7680b597512ffe7eac5d0"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:efec946f331349dfc4ae9d0e034c263ddde19414fe5128580f512619abed05f1"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b80b4690bbff51a034bfde9c9f6bf9357f0a8c61f548942b80f7b66356508bf5"}, - {file = "rpds_py-0.21.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:085ed25baac88953d4283e5b5bd094b155075bb40d07c29c4f073e10623f9f2e"}, - {file = "rpds_py-0.21.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:daa8efac2a1273eed2354397a51216ae1e198ecbce9036fba4e7610b308b6153"}, - {file = "rpds_py-0.21.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:95a5bad1ac8a5c77b4e658671642e4af3707f095d2b78a1fdd08af0dfb647624"}, - {file = "rpds_py-0.21.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3e53861b29a13d5b70116ea4230b5f0f3547b2c222c5daa090eb7c9c82d7f664"}, - {file = "rpds_py-0.21.0-cp310-none-win32.whl", hash = "sha256:ea3a6ac4d74820c98fcc9da4a57847ad2cc36475a8bd9683f32ab6d47a2bd682"}, - {file = "rpds_py-0.21.0-cp310-none-win_amd64.whl", hash = "sha256:b8f107395f2f1d151181880b69a2869c69e87ec079c49c0016ab96860b6acbe5"}, - {file = "rpds_py-0.21.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5555db3e618a77034954b9dc547eae94166391a98eb867905ec8fcbce1308d95"}, - {file = "rpds_py-0.21.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:97ef67d9bbc3e15584c2f3c74bcf064af36336c10d2e21a2131e123ce0f924c9"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ab2c2a26d2f69cdf833174f4d9d86118edc781ad9a8fa13970b527bf8236027"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4e8921a259f54bfbc755c5bbd60c82bb2339ae0324163f32868f63f0ebb873d9"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a7ff941004d74d55a47f916afc38494bd1cfd4b53c482b77c03147c91ac0ac3"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5145282a7cd2ac16ea0dc46b82167754d5e103a05614b724457cffe614f25bd8"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de609a6f1b682f70bb7163da745ee815d8f230d97276db049ab447767466a09d"}, - {file = "rpds_py-0.21.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40c91c6e34cf016fa8e6b59d75e3dbe354830777fcfd74c58b279dceb7975b75"}, - {file = "rpds_py-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d2132377f9deef0c4db89e65e8bb28644ff75a18df5293e132a8d67748397b9f"}, - {file = "rpds_py-0.21.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0a9e0759e7be10109645a9fddaaad0619d58c9bf30a3f248a2ea57a7c417173a"}, - {file = "rpds_py-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9e20da3957bdf7824afdd4b6eeb29510e83e026473e04952dca565170cd1ecc8"}, - {file = "rpds_py-0.21.0-cp311-none-win32.whl", hash = "sha256:f71009b0d5e94c0e86533c0b27ed7cacc1239cb51c178fd239c3cfefefb0400a"}, - {file = "rpds_py-0.21.0-cp311-none-win_amd64.whl", hash = "sha256:e168afe6bf6ab7ab46c8c375606298784ecbe3ba31c0980b7dcbb9631dcba97e"}, - {file = "rpds_py-0.21.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:30b912c965b2aa76ba5168fd610087bad7fcde47f0a8367ee8f1876086ee6d1d"}, - {file = "rpds_py-0.21.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ca9989d5d9b1b300bc18e1801c67b9f6d2c66b8fd9621b36072ed1df2c977f72"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f54e7106f0001244a5f4cf810ba8d3f9c542e2730821b16e969d6887b664266"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fed5dfefdf384d6fe975cc026886aece4f292feaf69d0eeb716cfd3c5a4dd8be"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:590ef88db231c9c1eece44dcfefd7515d8bf0d986d64d0caf06a81998a9e8cab"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f983e4c2f603c95dde63df633eec42955508eefd8d0f0e6d236d31a044c882d7"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b229ce052ddf1a01c67d68166c19cb004fb3612424921b81c46e7ea7ccf7c3bf"}, - {file = "rpds_py-0.21.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ebf64e281a06c904a7636781d2e973d1f0926a5b8b480ac658dc0f556e7779f4"}, - {file = "rpds_py-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:998a8080c4495e4f72132f3d66ff91f5997d799e86cec6ee05342f8f3cda7dca"}, - {file = "rpds_py-0.21.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:98486337f7b4f3c324ab402e83453e25bb844f44418c066623db88e4c56b7c7b"}, - {file = "rpds_py-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a78d8b634c9df7f8d175451cfeac3810a702ccb85f98ec95797fa98b942cea11"}, - {file = "rpds_py-0.21.0-cp312-none-win32.whl", hash = "sha256:a58ce66847711c4aa2ecfcfaff04cb0327f907fead8945ffc47d9407f41ff952"}, - {file = "rpds_py-0.21.0-cp312-none-win_amd64.whl", hash = "sha256:e860f065cc4ea6f256d6f411aba4b1251255366e48e972f8a347cf88077b24fd"}, - {file = "rpds_py-0.21.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ee4eafd77cc98d355a0d02f263efc0d3ae3ce4a7c24740010a8b4012bbb24937"}, - {file = "rpds_py-0.21.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:688c93b77e468d72579351a84b95f976bd7b3e84aa6686be6497045ba84be560"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c38dbf31c57032667dd5a2f0568ccde66e868e8f78d5a0d27dcc56d70f3fcd3b"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2d6129137f43f7fa02d41542ffff4871d4aefa724a5fe38e2c31a4e0fd343fb0"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:520ed8b99b0bf86a176271f6fe23024323862ac674b1ce5b02a72bfeff3fff44"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaeb25ccfb9b9014a10eaf70904ebf3f79faaa8e60e99e19eef9f478651b9b74"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af04ac89c738e0f0f1b913918024c3eab6e3ace989518ea838807177d38a2e94"}, - {file = "rpds_py-0.21.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b9b76e2afd585803c53c5b29e992ecd183f68285b62fe2668383a18e74abe7a3"}, - {file = "rpds_py-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5afb5efde74c54724e1a01118c6e5c15e54e642c42a1ba588ab1f03544ac8c7a"}, - {file = "rpds_py-0.21.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:52c041802a6efa625ea18027a0723676a778869481d16803481ef6cc02ea8cb3"}, - {file = "rpds_py-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ee1e4fc267b437bb89990b2f2abf6c25765b89b72dd4a11e21934df449e0c976"}, - {file = "rpds_py-0.21.0-cp313-none-win32.whl", hash = "sha256:0c025820b78817db6a76413fff6866790786c38f95ea3f3d3c93dbb73b632202"}, - {file = "rpds_py-0.21.0-cp313-none-win_amd64.whl", hash = "sha256:320c808df533695326610a1b6a0a6e98f033e49de55d7dc36a13c8a30cfa756e"}, - {file = "rpds_py-0.21.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:2c51d99c30091f72a3c5d126fad26236c3f75716b8b5e5cf8effb18889ced928"}, - {file = "rpds_py-0.21.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cbd7504a10b0955ea287114f003b7ad62330c9e65ba012c6223dba646f6ffd05"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6dcc4949be728ede49e6244eabd04064336012b37f5c2200e8ec8eb2988b209c"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f414da5c51bf350e4b7960644617c130140423882305f7574b6cf65a3081cecb"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9afe42102b40007f588666bc7de82451e10c6788f6f70984629db193849dced1"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b929c2bb6e29ab31f12a1117c39f7e6d6450419ab7464a4ea9b0b417174f044"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8404b3717da03cbf773a1d275d01fec84ea007754ed380f63dfc24fb76ce4592"}, - {file = "rpds_py-0.21.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e12bb09678f38b7597b8346983d2323a6482dcd59e423d9448108c1be37cac9d"}, - {file = "rpds_py-0.21.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:58a0e345be4b18e6b8501d3b0aa540dad90caeed814c515e5206bb2ec26736fd"}, - {file = "rpds_py-0.21.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c3761f62fcfccf0864cc4665b6e7c3f0c626f0380b41b8bd1ce322103fa3ef87"}, - {file = "rpds_py-0.21.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c2b2f71c6ad6c2e4fc9ed9401080badd1469fa9889657ec3abea42a3d6b2e1ed"}, - {file = "rpds_py-0.21.0-cp39-none-win32.whl", hash = "sha256:b21747f79f360e790525e6f6438c7569ddbfb1b3197b9e65043f25c3c9b489d8"}, - {file = "rpds_py-0.21.0-cp39-none-win_amd64.whl", hash = "sha256:0626238a43152918f9e72ede9a3b6ccc9e299adc8ade0d67c5e142d564c9a83d"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6b4ef7725386dc0762857097f6b7266a6cdd62bfd209664da6712cb26acef035"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6bc0e697d4d79ab1aacbf20ee5f0df80359ecf55db33ff41481cf3e24f206919"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da52d62a96e61c1c444f3998c434e8b263c384f6d68aca8274d2e08d1906325c"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:98e4fe5db40db87ce1c65031463a760ec7906ab230ad2249b4572c2fc3ef1f9f"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30bdc973f10d28e0337f71d202ff29345320f8bc49a31c90e6c257e1ccef4333"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:faa5e8496c530f9c71f2b4e1c49758b06e5f4055e17144906245c99fa6d45356"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32eb88c30b6a4f0605508023b7141d043a79b14acb3b969aa0b4f99b25bc7d4a"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a89a8ce9e4e75aeb7fa5d8ad0f3fecdee813802592f4f46a15754dcb2fd6b061"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:241e6c125568493f553c3d0fdbb38c74babf54b45cef86439d4cd97ff8feb34d"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:3b766a9f57663396e4f34f5140b3595b233a7b146e94777b97a8413a1da1be18"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:af4a644bf890f56e41e74be7d34e9511e4954894d544ec6b8efe1e21a1a8da6c"}, - {file = "rpds_py-0.21.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3e30a69a706e8ea20444b98a49f386c17b26f860aa9245329bab0851ed100677"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:031819f906bb146561af051c7cef4ba2003d28cff07efacef59da973ff7969ba"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b876f2bc27ab5954e2fd88890c071bd0ed18b9c50f6ec3de3c50a5ece612f7a6"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc5695c321e518d9f03b7ea6abb5ea3af4567766f9852ad1560f501b17588c7b"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b4de1da871b5c0fd5537b26a6fc6814c3cc05cabe0c941db6e9044ffbb12f04a"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:878f6fea96621fda5303a2867887686d7a198d9e0f8a40be100a63f5d60c88c9"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8eeec67590e94189f434c6d11c426892e396ae59e4801d17a93ac96b8c02a6c"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ff2eba7f6c0cb523d7e9cff0903f2fe1feff8f0b2ceb6bd71c0e20a4dcee271"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a429b99337062877d7875e4ff1a51fe788424d522bd64a8c0a20ef3021fdb6ed"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:d167e4dbbdac48bd58893c7e446684ad5d425b407f9336e04ab52e8b9194e2ed"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:4eb2de8a147ffe0626bfdc275fc6563aa7bf4b6db59cf0d44f0ccd6ca625a24e"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e78868e98f34f34a88e23ee9ccaeeec460e4eaf6db16d51d7a9b883e5e785a5e"}, - {file = "rpds_py-0.21.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4991ca61656e3160cdaca4851151fd3f4a92e9eba5c7a530ab030d6aee96ec89"}, - {file = "rpds_py-0.21.0.tar.gz", hash = "sha256:ed6378c9d66d0de903763e7706383d60c33829581f0adff47b6535f1802fa6db"}, + {file = "rpds_py-0.25.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c146a24a8f0dc4a7846fb4640b88b3a68986585b8ce8397af15e66b7c5817439"}, + {file = "rpds_py-0.25.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:77814c7a4e1dc43fba73aeb4c1ef0fe37d901f3aa869a4823de5ea843a283fd0"}, + {file = "rpds_py-0.25.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5afbff2822016db3c696cb0c1432e6b1f0e34aa9280bc5184dc216812a24e70d"}, + {file = "rpds_py-0.25.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ffae52cd76837a5c16409359d236b1fced79e42e0792e8adf375095a5e855368"}, + {file = "rpds_py-0.25.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddf9426b740a7047b2b0dddcba775211542e8053ce1e509a1759b665fe573508"}, + {file = "rpds_py-0.25.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9cad834f1a8f51eb037c3c4dc72c884c9e1e0644d900e2d45aa76450e4aa6282"}, + {file = "rpds_py-0.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c46bd76986e05689376d28fdc2b97d899576ce3e3aaa5a5f80f67a8300b26eb3"}, + {file = "rpds_py-0.25.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f3353a2d7eb7d5e0af8a7ca9fc85a34ba12619119bcdee6b8a28a6373cda65ce"}, + {file = "rpds_py-0.25.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fdc648d4e81eef5ac4bb35d731562dffc28358948410f3274d123320e125d613"}, + {file = "rpds_py-0.25.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:098d446d76d26e394b440d73921b49c1c90274d46ccbaadf346b1b78f9fdd4b1"}, + {file = "rpds_py-0.25.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c624c82e645f6b5465d08cdc802fb0cd53aa1478782fb2992b9e09f2c9426865"}, + {file = "rpds_py-0.25.0-cp310-cp310-win32.whl", hash = "sha256:9d0041bd9e2d2ef803b32d84a0c8115d178132da5691346465953a2a966ba8ca"}, + {file = "rpds_py-0.25.0-cp310-cp310-win_amd64.whl", hash = "sha256:d8b41195a6b03280ab00749a438fbce761e7acfd5381051a570239d752376f27"}, + {file = "rpds_py-0.25.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6587ece9f205097c62d0e3d3cb7c06991eb0083ab6a9cf48951ec49c2ab7183c"}, + {file = "rpds_py-0.25.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b0a5651e350997cebcdc23016dca26c4d1993d29015a535284da3159796e30b6"}, + {file = "rpds_py-0.25.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3752a015db89ea3e9c04d5e185549be4aa29c1882150e094c614c0de8e788feb"}, + {file = "rpds_py-0.25.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a05b199c11d2f39c72de8c30668734b5d20974ad44b65324ea3e647a211f135d"}, + {file = "rpds_py-0.25.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2f91902fc0c95dd1fa6b30ebd2af83ace91e592f7fd6340a375588a9d4b9341b"}, + {file = "rpds_py-0.25.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98c729193e7abe498565266933c125780fb646e977e94289cadbb36e4eeeb370"}, + {file = "rpds_py-0.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36a7564deaac3f372e8b8b701eb982ea3113516e8e08cd87e3dc6ccf29bad14b"}, + {file = "rpds_py-0.25.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6b0c0f671a53c129ea48f9481e95532579cc489ab5a0ffe750c9020787181c48"}, + {file = "rpds_py-0.25.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d21408eaa157063f56e58ca50da27cad67c4395a85fb44cc7a31253ea4e58918"}, + {file = "rpds_py-0.25.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a413674eb2bd2ecb2b93fcc928871b19f7220ee04bca4af3375c50a2b32b5a50"}, + {file = "rpds_py-0.25.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:94f89161a3e358db33310a8a064852a6eb119ed1aa1a3dba927b4e5140e65d00"}, + {file = "rpds_py-0.25.0-cp311-cp311-win32.whl", hash = "sha256:540cd89d256119845b7f8f56c4bb80cad280cab92d9ca473be49ea13e678fd44"}, + {file = "rpds_py-0.25.0-cp311-cp311-win_amd64.whl", hash = "sha256:2649ff19291928243f90c86e4dc9cd86c8c4c6a73c3693ba2e23bc2fbcd8338c"}, + {file = "rpds_py-0.25.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:89260601d497fa5957c3e46f10b16cfa2a4808ad4dd46cddc0b997461923a7d9"}, + {file = "rpds_py-0.25.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:637ec39f97e342a3f76af739eda96800549d92f3aa27a2170b6dcbdffd49f480"}, + {file = "rpds_py-0.25.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bd08c82336412a39a598e5baccab2ee2d7bd54e9115c8b64f2febb45da5c368"}, + {file = "rpds_py-0.25.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:837fd066f974e5b98c69ac83ec594b79a2724a39a92a157b8651615e5032e530"}, + {file = "rpds_py-0.25.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:653a066d2a4a332d4f8a11813e8124b643fa7b835b78468087a9898140469eee"}, + {file = "rpds_py-0.25.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91a51499be506022b9f09facfc42f0c3a1c45969c0fc8f0bbebc8ff23ab9e531"}, + {file = "rpds_py-0.25.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb91471640390a82744b164f8a0be4d7c89d173b1170713f9639c6bad61e9e64"}, + {file = "rpds_py-0.25.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28bd2969445acc2d6801a22f97a43134ae3cb18e7495d668bfaa8d82b8526cdc"}, + {file = "rpds_py-0.25.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f933b35fa563f047896a70b69414dfb3952831817e4c4b3a6faa96737627f363"}, + {file = "rpds_py-0.25.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:80b37b37525492250adc7cbca20ae7084f86eb3eb62414b624d2a400370853b1"}, + {file = "rpds_py-0.25.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:864573b6440b770db5a8693547a8728d7fd32580d4903010a8eee0bb5b03b130"}, + {file = "rpds_py-0.25.0-cp312-cp312-win32.whl", hash = "sha256:ad4a896896346adab86d52b31163c39d49e4e94c829494b96cc064bff82c5851"}, + {file = "rpds_py-0.25.0-cp312-cp312-win_amd64.whl", hash = "sha256:4fbec54cc42fa90ca69158d75f125febc4116b2d934e71c78f97de1388a8feb2"}, + {file = "rpds_py-0.25.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:4e5fe366fa53bd6777cf5440245366705338587b2cf8d61348ddaad744eb591a"}, + {file = "rpds_py-0.25.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:54f925ff8d4443b7cae23a5215954abbf4736a3404188bde53c4d744ac001d89"}, + {file = "rpds_py-0.25.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d58258a66255b2500ddaa4f33191ada5ec983a429c09eb151daf81efbb9aa115"}, + {file = "rpds_py-0.25.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8f3a57f08c558d0983a708bfe6d1265f47b5debff9b366b2f2091690fada055c"}, + {file = "rpds_py-0.25.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7d60d42f1b9571341ad2322e748f7a60f9847546cd801a3a0eb72a1b54c6519"}, + {file = "rpds_py-0.25.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a54b94b0e4de95aa92618906fb631779d9fde29b4bf659f482c354a3a79fd025"}, + {file = "rpds_py-0.25.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af1c2241919304cc2f90e7dcb3eb1c1df6fb4172dd338e629dd6410e48b3d1a0"}, + {file = "rpds_py-0.25.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7d34547810bfd61acf8a441e8a3651e7a919e8e8aed29850be14a1b05cfc6f41"}, + {file = "rpds_py-0.25.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:66568caacf18542f0cf213db7adf3de2da6ad58c7bf2c4fafec0d81ae557443b"}, + {file = "rpds_py-0.25.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e49e4c3e899c32884d7828c91d6c3aff08d2f18857f50f86cc91187c31a4ca58"}, + {file = "rpds_py-0.25.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:20af08b0b2d5b196a2bcb70becf0b97ec5af579cee0ae6750b08a2eea3b6c77d"}, + {file = "rpds_py-0.25.0-cp313-cp313-win32.whl", hash = "sha256:d3dc8d6ce8f001c80919bdb49d8b0b815185933a0b8e9cdeaea42b0b6f27eeb0"}, + {file = "rpds_py-0.25.0-cp313-cp313-win_amd64.whl", hash = "sha256:113d134dc5a8d2503630ca2707b58a1bf5b1b3c69b35c7dab8690ee650c111b8"}, + {file = "rpds_py-0.25.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:6c72a4a8fab10bc96720ad40941bb471e3b1150fb8d62dab205d495511206cf1"}, + {file = "rpds_py-0.25.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:bb979162323f3534dce84b59f86e689a0761a2a300e0212bfaedfa80d4eb8100"}, + {file = "rpds_py-0.25.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35c8cb5dcf7d36d3adf2ae0730b60fb550a8feb6e432bee7ef84162a0d15714b"}, + {file = "rpds_py-0.25.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:673ba018df5ae5e7b6c9a021d51ffe39c0ae1daa0041611ed27a0bca634b2d2e"}, + {file = "rpds_py-0.25.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16fb28d3a653f67c871a47c5ca0be17bce9fab8adb8bcf7bd09f3771b8c4d860"}, + {file = "rpds_py-0.25.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12a84c3851f9e68633d883c01347db3cb87e6160120a489f9c47162cd276b0a5"}, + {file = "rpds_py-0.25.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b5f457afffb45d3804728a54083e31fbaf460e902e3f7d063e56d0d0814301e"}, + {file = "rpds_py-0.25.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9442cbff21122e9a529b942811007d65eabe4182e7342d102caf119b229322c6"}, + {file = "rpds_py-0.25.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:383cf0d4288baf5a16812ed70d54ecb7f2064e255eb7fe42c38e926adeae4534"}, + {file = "rpds_py-0.25.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:0dcdee07ebf76223092666c72a9552db276fbe46b98830ecd1bb836cc98adc81"}, + {file = "rpds_py-0.25.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5bbfbd9c74c4dd74815bd532bf29bedea6d27d38f35ef46f9754172a14e4c655"}, + {file = "rpds_py-0.25.0-cp313-cp313t-win32.whl", hash = "sha256:90dbd2c42cb6463c07020695800ae8f347e7dbeff09da2975a988e467b624539"}, + {file = "rpds_py-0.25.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8c2ad59c4342a176cb3e0d5753e1c911eabc95c210fc6d0e913c32bf560bf012"}, + {file = "rpds_py-0.25.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:9f9a1b15b875160186177f659cde2b0f899182b0aca49457d6396afc4bbda7b9"}, + {file = "rpds_py-0.25.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e849315963eb08c26167d0f2c0f9319c9bd379daea75092b3c595d70be6209d"}, + {file = "rpds_py-0.25.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ad37c29adc435e6d8b24be86b03596183ee8d4bb8580cc4c676879b0b896a99"}, + {file = "rpds_py-0.25.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:587cad3959d3d85127cf5df1624cdce569bb3796372e00420baad46af7c56b9b"}, + {file = "rpds_py-0.25.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce0518667855a1598d9b1f4fcf0fed1182c67c5ba4fe6a2c6bce93440a65cead"}, + {file = "rpds_py-0.25.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c18cb2f6805861dcdf11fb0b3c111a0335f6475411687db2f6636f32bed66b0"}, + {file = "rpds_py-0.25.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a21f4584f69547ae03aaa21be98753e85599f3437b84039da5dc20b53abe987"}, + {file = "rpds_py-0.25.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3d7d65aa934899849628137ab391562cdb487c6ffb9b9781319a64a9c66afbce"}, + {file = "rpds_py-0.25.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fd9167e9604cb5a218a2e847aa8cdc5f98b379a673371978ee7b0c11b4d2e140"}, + {file = "rpds_py-0.25.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6c27156c8d836e7ff760767e93245b286ae028bfd81d305db676662d1f642637"}, + {file = "rpds_py-0.25.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:66087711faf29cb3ac8ab05341939aec29968626aff8ef18e483e229055dd9a7"}, + {file = "rpds_py-0.25.0-cp39-cp39-win32.whl", hash = "sha256:f2e69415e4e33cdeee50ebc2c4d8fcbef12c3181d9274e512ccd2a905a76aad1"}, + {file = "rpds_py-0.25.0-cp39-cp39-win_amd64.whl", hash = "sha256:58cfaa54752d6d2b4f10e87571688dbb7792327a69eca5417373d77d42787058"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57e9616a2a9da08fe0994e37a0c6f578fbaf6d35911bcba31e99660542d60c45"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6d95521901896a90a858993bfa3ec0f9160d3d97e8c8fefc279b3306cdadfee0"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d33aef3914a5b49db12ed3f24d214ffa50caefc8f4b0c7c7b9485bd4b231a898"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4acbe2349a3baac9cc212005b6cb4bbb7e5b34538886cde4f55dfc29173da1d6"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9b75b5d3416b00d064a5e6f4814fdfb18a964a7cf38dc00b5c2c02fa30a7dd0b"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:542a6f1d0f400b9ce1facb3e30dd3dc84e4affc60353509b00a7bdcd064be91e"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a60ba9d104f4e8496107b1cb86e45a68a16d13511dc3986e0780e9f85c2136f9"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6065a489b7b284efb29d57adffae2b9b5e9403d3c8d95cfa04e04e024e6b4e77"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:6bcca4d0d24d8c37bfe0cafdaaf4346b6c516db21ccaad5c7fba0a0df818dfc9"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:8155e21203161e5c78791fc049b99f0bbbf14d1d1839c8c93c8344957f9e8e1e"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6a1eda14db1ac7a2ab4536dfe69e4d37fdd765e8e784ae4451e61582ebb76012"}, + {file = "rpds_py-0.25.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:de34a7d1893be76cb015929690dce3bde29f4de08143da2e9ad1cedb11dbf80e"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:0d63a86b457069d669c423f093db4900aa102f0e5a626973eff4db8355c0fd96"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:89bb2b20829270aca28b1e5481be8ee24cb9aa86e6c0c81cb4ada2112c9588c5"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83e103b48e63fd2b8a8e2b21ab5b5299a7146045626c2ed4011511ea8122d217"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fccd24c080850715c58a80200d367bc62b4bff6c9fb84e9564da1ebcafea6418"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12b42790c91e0041a98f0ec04244fb334696938793e785a5d4c7e56ca534d7da"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bc907ea12216cfc5560148fc42459d86740fc739981c6feb94230dab09362679"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e11065b759c38c4945f8c9765ed2910e31fa5b2f7733401eb7d966f468367a2"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8abc1a3e29b599bf8bb5ad455256a757e8b0ed5621e7e48abe8209932dc6d11e"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:cd36b71f9f3bf195b2dd9be5eafbfc9409e6c8007aebc38a4dc051f522008033"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:805a0dff0674baa3f360c21dcbc622ae544f2bb4753d87a4a56a1881252a477e"}, + {file = "rpds_py-0.25.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:96742796f499ac23b59856db734e65b286d1214a0d9b57bcd7bece92d9201fa4"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7715597186a7277be12729c896019226321bad1f047da381ab707b177aa5017c"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b049dd0792d51f07193cd934acec89abe84d2607109e6ca223b2f0ff24f0c7d"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87c6ff87b38f46d712418d78b34db1198408a3d9a42eddc640644aea561216b1"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:240251fd95b057c26f8538d0e673bf983eba4f38da95fbaf502bfc1a768b3984"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:85587479f210350e9d9d25e505f422dd636e561658382ee8947357a4bac491ad"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:551897221bbc9de17bce4574810347db8ec1ba4ec2f50f35421790d34bdb6ef9"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3d50ac3b772c10e0b918a5ce2e871138896bfb5f35050ff1ff87ddca45961fc"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8029c19c8a32ef3093c417dd16a5f806e7f529fcceea7c627b2635e9da5104da"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:fe7439d9c5b402af2c9911c7facda1808d0c8dbfa9cf085e6aeac511a23f7d87"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:77910d6bec321c9fccfe9cf5e407fed9d2c48a5e510473b4f070d5cf2413c003"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:0ee0cc81f875e853ccdf3badb44b67f771fb9149baa9e752777ccdcaf052ad26"}, + {file = "rpds_py-0.25.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:469054e6b2f8e41f1fe62b95f617082019d343eddeec3219ff3909067e672fb9"}, + {file = "rpds_py-0.25.0.tar.gz", hash = "sha256:4d97661bf5848dd9e5eb7ded480deccf9d32ce2cd500b88a26acbf7bd2864985"}, ] [[package]] name = "ruamel-yaml" -version = "0.18.6" +version = "0.18.10" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" optional = false python-versions = ">=3.7" files = [ - {file = "ruamel.yaml-0.18.6-py3-none-any.whl", hash = "sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636"}, - {file = "ruamel.yaml-0.18.6.tar.gz", hash = "sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b"}, + {file = "ruamel.yaml-0.18.10-py3-none-any.whl", hash = "sha256:30f22513ab2301b3d2b577adc121c6471f28734d3d9728581245f1e76468b4f1"}, + {file = "ruamel.yaml-0.18.10.tar.gz", hash = "sha256:20c86ab29ac2153f80a428e1254a8adf686d3383df04490514ca3b79a362db58"}, ] [package.dependencies] @@ -3605,40 +3604,40 @@ files = [ [[package]] name = "ruff" -version = "0.6.8" +version = "0.6.9" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.6.8-py3-none-linux_armv6l.whl", hash = "sha256:77944bca110ff0a43b768f05a529fecd0706aac7bcce36d7f1eeb4cbfca5f0f2"}, - {file = "ruff-0.6.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:27b87e1801e786cd6ede4ada3faa5e254ce774de835e6723fd94551464c56b8c"}, - {file = "ruff-0.6.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:cd48f945da2a6334f1793d7f701725a76ba93bf3d73c36f6b21fb04d5338dcf5"}, - {file = "ruff-0.6.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:677e03c00f37c66cea033274295a983c7c546edea5043d0c798833adf4cf4c6f"}, - {file = "ruff-0.6.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9f1476236b3eacfacfc0f66aa9e6cd39f2a624cb73ea99189556015f27c0bdeb"}, - {file = "ruff-0.6.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f5a2f17c7d32991169195d52a04c95b256378bbf0de8cb98478351eb70d526f"}, - {file = "ruff-0.6.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5fd0d4b7b1457c49e435ee1e437900ced9b35cb8dc5178921dfb7d98d65a08d0"}, - {file = "ruff-0.6.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8034b19b993e9601f2ddf2c517451e17a6ab5cdb1c13fdff50c1442a7171d87"}, - {file = "ruff-0.6.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6cfb227b932ba8ef6e56c9f875d987973cd5e35bc5d05f5abf045af78ad8e098"}, - {file = "ruff-0.6.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ef0411eccfc3909269fed47c61ffebdcb84a04504bafa6b6df9b85c27e813b0"}, - {file = "ruff-0.6.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:007dee844738c3d2e6c24ab5bc7d43c99ba3e1943bd2d95d598582e9c1b27750"}, - {file = "ruff-0.6.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:ce60058d3cdd8490e5e5471ef086b3f1e90ab872b548814e35930e21d848c9ce"}, - {file = "ruff-0.6.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:1085c455d1b3fdb8021ad534379c60353b81ba079712bce7a900e834859182fa"}, - {file = "ruff-0.6.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:70edf6a93b19481affd287d696d9e311388d808671bc209fb8907b46a8c3af44"}, - {file = "ruff-0.6.8-py3-none-win32.whl", hash = "sha256:792213f7be25316f9b46b854df80a77e0da87ec66691e8f012f887b4a671ab5a"}, - {file = "ruff-0.6.8-py3-none-win_amd64.whl", hash = "sha256:ec0517dc0f37cad14a5319ba7bba6e7e339d03fbf967a6d69b0907d61be7a263"}, - {file = "ruff-0.6.8-py3-none-win_arm64.whl", hash = "sha256:8d3bb2e3fbb9875172119021a13eed38849e762499e3cfde9588e4b4d70968dc"}, - {file = "ruff-0.6.8.tar.gz", hash = "sha256:a5bf44b1aa0adaf6d9d20f86162b34f7c593bfedabc51239953e446aefc8ce18"}, + {file = "ruff-0.6.9-py3-none-linux_armv6l.whl", hash = "sha256:064df58d84ccc0ac0fcd63bc3090b251d90e2a372558c0f057c3f75ed73e1ccd"}, + {file = "ruff-0.6.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:140d4b5c9f5fc7a7b074908a78ab8d384dd7f6510402267bc76c37195c02a7ec"}, + {file = "ruff-0.6.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:53fd8ca5e82bdee8da7f506d7b03a261f24cd43d090ea9db9a1dc59d9313914c"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645d7d8761f915e48a00d4ecc3686969761df69fb561dd914a773c1a8266e14e"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eae02b700763e3847595b9d2891488989cac00214da7f845f4bcf2989007d577"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d5ccc9e58112441de8ad4b29dcb7a86dc25c5f770e3c06a9d57e0e5eba48829"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:417b81aa1c9b60b2f8edc463c58363075412866ae4e2b9ab0f690dc1e87ac1b5"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c866b631f5fbce896a74a6e4383407ba7507b815ccc52bcedabb6810fdb3ef7"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b118afbb3202f5911486ad52da86d1d52305b59e7ef2031cea3425142b97d6f"}, + {file = "ruff-0.6.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a67267654edc23c97335586774790cde402fb6bbdb3c2314f1fc087dee320bfa"}, + {file = "ruff-0.6.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3ef0cc774b00fec123f635ce5c547dac263f6ee9fb9cc83437c5904183b55ceb"}, + {file = "ruff-0.6.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:12edd2af0c60fa61ff31cefb90aef4288ac4d372b4962c2864aeea3a1a2460c0"}, + {file = "ruff-0.6.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:55bb01caeaf3a60b2b2bba07308a02fca6ab56233302406ed5245180a05c5625"}, + {file = "ruff-0.6.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:925d26471fa24b0ce5a6cdfab1bb526fb4159952385f386bdcc643813d472039"}, + {file = "ruff-0.6.9-py3-none-win32.whl", hash = "sha256:eb61ec9bdb2506cffd492e05ac40e5bc6284873aceb605503d8494180d6fc84d"}, + {file = "ruff-0.6.9-py3-none-win_amd64.whl", hash = "sha256:785d31851c1ae91f45b3d8fe23b8ae4b5170089021fbb42402d811135f0b7117"}, + {file = "ruff-0.6.9-py3-none-win_arm64.whl", hash = "sha256:a9641e31476d601f83cd602608739a0840e348bda93fec9f1ee816f8b6798b93"}, + {file = "ruff-0.6.9.tar.gz", hash = "sha256:b076ef717a8e5bc819514ee1d602bbdca5b4420ae13a9cf61a0c0a4f53a2baa2"}, ] [[package]] name = "selenium" -version = "4.27.1" +version = "4.32.0" description = "Official Python bindings for Selenium WebDriver" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "selenium-4.27.1-py3-none-any.whl", hash = "sha256:b89b1f62b5cfe8025868556fe82360d6b649d464f75d2655cb966c8f8447ea18"}, - {file = "selenium-4.27.1.tar.gz", hash = "sha256:5296c425a75ff1b44d0d5199042b36a6d1ef76c04fb775b97b40be739a9caae2"}, + {file = "selenium-4.32.0-py3-none-any.whl", hash = "sha256:c4d9613f8a45693d61530c9660560fadb52db7d730237bc788ddedf442391f97"}, + {file = "selenium-4.32.0.tar.gz", hash = "sha256:b9509bef4056f4083772abb1ae19ff57247d617a29255384b26be6956615b206"}, ] [package.dependencies] @@ -3651,81 +3650,80 @@ websocket-client = ">=1.8,<2.0" [[package]] name = "setuptools" -version = "75.6.0" +version = "80.7.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.9" files = [ - {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"}, - {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"}, + {file = "setuptools-80.7.1-py3-none-any.whl", hash = "sha256:ca5cc1069b85dc23070a6628e6bcecb3292acac802399c7f8edc0100619f9009"}, + {file = "setuptools-80.7.1.tar.gz", hash = "sha256:f6ffc5f0142b1bd8d0ca94ee91b30c0ca862ffd50826da1ea85258a06fd94552"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] -core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.0)"] +core = ["importlib_metadata (>=6)", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"] [[package]] name = "shapely" -version = "2.0.6" +version = "2.1.0" description = "Manipulation and analysis of geometric objects" optional = false -python-versions = ">=3.7" +python-versions = ">=3.10" files = [ - {file = "shapely-2.0.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29a34e068da2d321e926b5073539fd2a1d4429a2c656bd63f0bd4c8f5b236d0b"}, - {file = "shapely-2.0.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c84c3f53144febf6af909d6b581bc05e8785d57e27f35ebaa5c1ab9baba13b"}, - {file = "shapely-2.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ad2fae12dca8d2b727fa12b007e46fbc522148a584f5d6546c539f3464dccde"}, - {file = "shapely-2.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3304883bd82d44be1b27a9d17f1167fda8c7f5a02a897958d86c59ec69b705e"}, - {file = "shapely-2.0.6-cp310-cp310-win32.whl", hash = "sha256:3ec3a0eab496b5e04633a39fa3d5eb5454628228201fb24903d38174ee34565e"}, - {file = "shapely-2.0.6-cp310-cp310-win_amd64.whl", hash = "sha256:28f87cdf5308a514763a5c38de295544cb27429cfa655d50ed8431a4796090c4"}, - {file = "shapely-2.0.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5aeb0f51a9db176da9a30cb2f4329b6fbd1e26d359012bb0ac3d3c7781667a9e"}, - {file = "shapely-2.0.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9a7a78b0d51257a367ee115f4d41ca4d46edbd0dd280f697a8092dd3989867b2"}, - {file = "shapely-2.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f32c23d2f43d54029f986479f7c1f6e09c6b3a19353a3833c2ffb226fb63a855"}, - {file = "shapely-2.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3dc9fb0eb56498912025f5eb352b5126f04801ed0e8bdbd867d21bdbfd7cbd0"}, - {file = "shapely-2.0.6-cp311-cp311-win32.whl", hash = "sha256:d93b7e0e71c9f095e09454bf18dad5ea716fb6ced5df3cb044564a00723f339d"}, - {file = "shapely-2.0.6-cp311-cp311-win_amd64.whl", hash = "sha256:c02eb6bf4cfb9fe6568502e85bb2647921ee49171bcd2d4116c7b3109724ef9b"}, - {file = "shapely-2.0.6-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cec9193519940e9d1b86a3b4f5af9eb6910197d24af02f247afbfb47bcb3fab0"}, - {file = "shapely-2.0.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83b94a44ab04a90e88be69e7ddcc6f332da7c0a0ebb1156e1c4f568bbec983c3"}, - {file = "shapely-2.0.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:537c4b2716d22c92036d00b34aac9d3775e3691f80c7aa517c2c290351f42cd8"}, - {file = "shapely-2.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98fea108334be345c283ce74bf064fa00cfdd718048a8af7343c59eb40f59726"}, - {file = "shapely-2.0.6-cp312-cp312-win32.whl", hash = "sha256:42fd4cd4834747e4990227e4cbafb02242c0cffe9ce7ef9971f53ac52d80d55f"}, - {file = "shapely-2.0.6-cp312-cp312-win_amd64.whl", hash = "sha256:665990c84aece05efb68a21b3523a6b2057e84a1afbef426ad287f0796ef8a48"}, - {file = "shapely-2.0.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:42805ef90783ce689a4dde2b6b2f261e2c52609226a0438d882e3ced40bb3013"}, - {file = "shapely-2.0.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6d2cb146191a47bd0cee8ff5f90b47547b82b6345c0d02dd8b25b88b68af62d7"}, - {file = "shapely-2.0.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3fdef0a1794a8fe70dc1f514440aa34426cc0ae98d9a1027fb299d45741c381"}, - {file = "shapely-2.0.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c665a0301c645615a107ff7f52adafa2153beab51daf34587170d85e8ba6805"}, - {file = "shapely-2.0.6-cp313-cp313-win32.whl", hash = "sha256:0334bd51828f68cd54b87d80b3e7cee93f249d82ae55a0faf3ea21c9be7b323a"}, - {file = "shapely-2.0.6-cp313-cp313-win_amd64.whl", hash = "sha256:d37d070da9e0e0f0a530a621e17c0b8c3c9d04105655132a87cfff8bd77cc4c2"}, - {file = "shapely-2.0.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:fa7468e4f5b92049c0f36d63c3e309f85f2775752e076378e36c6387245c5462"}, - {file = "shapely-2.0.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed5867e598a9e8ac3291da6cc9baa62ca25706eea186117034e8ec0ea4355653"}, - {file = "shapely-2.0.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81d9dfe155f371f78c8d895a7b7f323bb241fb148d848a2bf2244f79213123fe"}, - {file = "shapely-2.0.6-cp37-cp37m-win32.whl", hash = "sha256:fbb7bf02a7542dba55129062570211cfb0defa05386409b3e306c39612e7fbcc"}, - {file = "shapely-2.0.6-cp37-cp37m-win_amd64.whl", hash = "sha256:837d395fac58aa01aa544495b97940995211e3e25f9aaf87bc3ba5b3a8cd1ac7"}, - {file = "shapely-2.0.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c6d88ade96bf02f6bfd667ddd3626913098e243e419a0325ebef2bbd481d1eb6"}, - {file = "shapely-2.0.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8b3b818c4407eaa0b4cb376fd2305e20ff6df757bf1356651589eadc14aab41b"}, - {file = "shapely-2.0.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bbc783529a21f2bd50c79cef90761f72d41c45622b3e57acf78d984c50a5d13"}, - {file = "shapely-2.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2423f6c0903ebe5df6d32e0066b3d94029aab18425ad4b07bf98c3972a6e25a1"}, - {file = "shapely-2.0.6-cp38-cp38-win32.whl", hash = "sha256:2de00c3bfa80d6750832bde1d9487e302a6dd21d90cb2f210515cefdb616e5f5"}, - {file = "shapely-2.0.6-cp38-cp38-win_amd64.whl", hash = "sha256:3a82d58a1134d5e975f19268710e53bddd9c473743356c90d97ce04b73e101ee"}, - {file = "shapely-2.0.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:392f66f458a0a2c706254f473290418236e52aa4c9b476a072539d63a2460595"}, - {file = "shapely-2.0.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eba5bae271d523c938274c61658ebc34de6c4b33fdf43ef7e938b5776388c1be"}, - {file = "shapely-2.0.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7060566bc4888b0c8ed14b5d57df8a0ead5c28f9b69fb6bed4476df31c51b0af"}, - {file = "shapely-2.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b02154b3e9d076a29a8513dffcb80f047a5ea63c897c0cd3d3679f29363cf7e5"}, - {file = "shapely-2.0.6-cp39-cp39-win32.whl", hash = "sha256:44246d30124a4f1a638a7d5419149959532b99dfa25b54393512e6acc9c211ac"}, - {file = "shapely-2.0.6-cp39-cp39-win_amd64.whl", hash = "sha256:2b542d7f1dbb89192d3512c52b679c822ba916f93479fa5d4fc2fe4fa0b3c9e8"}, - {file = "shapely-2.0.6.tar.gz", hash = "sha256:997f6159b1484059ec239cacaa53467fd8b5564dabe186cd84ac2944663b0bf6"}, + {file = "shapely-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d3e5c5e3864d4dc431dd85a8e5137ebd39c8ac287b009d3fa80a07017b29c940"}, + {file = "shapely-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6eea89b16f5f3a064659126455d23fa3066bc3d6cd385c35214f06bf5871aa6"}, + {file = "shapely-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:183174ad0b21a81ee661f05e7c47aa92ebfae01814cd3cbe54adea7a4213f5f4"}, + {file = "shapely-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f239c1484af66bc14b81a76f2a8e0fada29d59010423253ff857d0ccefdaa93f"}, + {file = "shapely-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6220a466d1475141dad0cd8065d2549a5c2ed3fa4e2e02fb8ea65d494cfd5b07"}, + {file = "shapely-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4822d3ed3efb06145c34d29d5b56792f72b7d713300f603bfd5d825892c6f79f"}, + {file = "shapely-2.1.0-cp310-cp310-win32.whl", hash = "sha256:ea51ddf3d3c60866dca746081b56c75f34ff1b01acbd4d44269071a673c735b9"}, + {file = "shapely-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:a6f5e02e2cded9f4ec5709900a296c7f2cce5f8e9e9d80ba7d89ae2f4ed89d7b"}, + {file = "shapely-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8323031ef7c1bdda7a92d5ddbc7b6b62702e73ba37e9a8ccc8da99ec2c0b87c"}, + {file = "shapely-2.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4da7c6cd748d86ec6aace99ad17129d30954ccf5e73e9911cdb5f0fa9658b4f8"}, + {file = "shapely-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f0cdf85ff80831137067e7a237085a3ee72c225dba1b30beef87f7d396cf02b"}, + {file = "shapely-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f2be5d79aac39886f23000727cf02001aef3af8810176c29ee12cdc3ef3a50"}, + {file = "shapely-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:21a4515009f56d7a159cf5c2554264e82f56405b4721f9a422cb397237c5dca8"}, + {file = "shapely-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:15cebc323cec2cb6b2eaa310fdfc621f6dbbfaf6bde336d13838fcea76c885a9"}, + {file = "shapely-2.1.0-cp311-cp311-win32.whl", hash = "sha256:cad51b7a5c8f82f5640472944a74f0f239123dde9a63042b3c5ea311739b7d20"}, + {file = "shapely-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:d4005309dde8658e287ad9c435c81877f6a95a9419b932fa7a1f34b120f270ae"}, + {file = "shapely-2.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:53e7ee8bd8609cf12ee6dce01ea5affe676976cf7049315751d53d8db6d2b4b2"}, + {file = "shapely-2.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3cab20b665d26dbec0b380e15749bea720885a481fa7b1eedc88195d4a98cfa4"}, + {file = "shapely-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4a38b39a09340273c3c92b3b9a374272a12cc7e468aeeea22c1c46217a03e5c"}, + {file = "shapely-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:edaec656bdd9b71278b98e6f77c464b1c3b2daa9eace78012ff0f0b4b5b15b04"}, + {file = "shapely-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c8a732ddd9b25e7a54aa748e7df8fd704e23e5d5d35b7d376d80bffbfc376d04"}, + {file = "shapely-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9c93693ad8adfdc9138a5a2d42da02da94f728dd2e82d2f0f442f10e25027f5f"}, + {file = "shapely-2.1.0-cp312-cp312-win32.whl", hash = "sha256:d8ac6604eefe807e71a908524de23a37920133a1729fe3a4dfe0ed82c044cbf4"}, + {file = "shapely-2.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:f4f47e631aa4f9ec5576eac546eb3f38802e2f82aeb0552f9612cb9a14ece1db"}, + {file = "shapely-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b64423295b563f43a043eb786e7a03200ebe68698e36d2b4b1c39f31dfb50dfb"}, + {file = "shapely-2.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1b5578f45adc25b235b22d1ccb9a0348c8dc36f31983e57ea129a88f96f7b870"}, + {file = "shapely-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a7e83d383b27f02b684e50ab7f34e511c92e33b6ca164a6a9065705dd64bcb"}, + {file = "shapely-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:942031eb4d8f7b3b22f43ba42c09c7aa3d843aa10d5cc1619fe816e923b66e55"}, + {file = "shapely-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d2843c456a2e5627ee6271800f07277c0d2652fb287bf66464571a057dbc00b3"}, + {file = "shapely-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8c4b17469b7f39a5e6a7cfea79f38ae08a275427f41fe8b48c372e1449147908"}, + {file = "shapely-2.1.0-cp313-cp313-win32.whl", hash = "sha256:30e967abd08fce49513d4187c01b19f139084019f33bec0673e8dbeb557c45e4"}, + {file = "shapely-2.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:1dc8d4364483a14aba4c844b7bd16a6fa3728887e2c33dfa1afa34a3cf4d08a5"}, + {file = "shapely-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:673e073fea099d1c82f666fb7ab0a00a77eff2999130a69357ce11941260d855"}, + {file = "shapely-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6d1513f915a56de67659fe2047c1ad5ff0f8cbff3519d1e74fced69c9cb0e7da"}, + {file = "shapely-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d6a7043178890b9e028d80496ff4c79dc7629bff4d78a2f25323b661756bab8"}, + {file = "shapely-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb638378dc3d76f7e85b67d7e2bb1366811912430ac9247ac00c127c2b444cdc"}, + {file = "shapely-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:737124e87d91d616acf9a911f74ac55e05db02a43a6a7245b3d663817b876055"}, + {file = "shapely-2.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e6c229e7bb87aae5df82fa00b6718987a43ec168cc5affe095cca59d233f314"}, + {file = "shapely-2.1.0-cp313-cp313t-win32.whl", hash = "sha256:a9580bda119b1f42f955aa8e52382d5c73f7957e0203bc0c0c60084846f3db94"}, + {file = "shapely-2.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:e8ff4e5cfd799ba5b6f37b5d5527dbd85b4a47c65b6d459a03d0962d2a9d4d10"}, + {file = "shapely-2.1.0.tar.gz", hash = "sha256:2cbe90e86fa8fc3ca8af6ffb00a77b246b918c7cf28677b7c21489b678f6b02e"}, ] [package.dependencies] -numpy = ">=1.14,<3" +numpy = ">=1.21" [package.extras] docs = ["matplotlib", "numpydoc (==1.1.*)", "sphinx", "sphinx-book-theme", "sphinx-remove-toctrees"] -test = ["pytest", "pytest-cov"] +test = ["pytest", "pytest-cov", "scipy-doctest"] [[package]] name = "shellingham" @@ -3751,132 +3749,132 @@ files = [ [[package]] name = "simplejson" -version = "3.19.3" +version = "3.20.1" description = "Simple, fast, extensible JSON encoder/decoder for Python" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.5" files = [ - {file = "simplejson-3.19.3-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:f39caec26007a2d0efab6b8b1d74873ede9351962707afab622cc2285dd26ed0"}, - {file = "simplejson-3.19.3-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:83c87706265ae3028e8460d08b05f30254c569772e859e5ba61fe8af2c883468"}, - {file = "simplejson-3.19.3-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:0b5ddd2c7d1d3f4d23224bc8a04bbf1430ae9a8149c05b90f8fc610f7f857a23"}, - {file = "simplejson-3.19.3-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:ad0e0b1ce9bd3edb5cf64b5b5b76eacbfdac8c5367153aeeec8a8b1407f68342"}, - {file = "simplejson-3.19.3-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:93be280fc69a952c76e261036312c20b910e7fa9e234f1d89bdfe3fa34f8a023"}, - {file = "simplejson-3.19.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:6d43e24b88c80f997081503f693be832fc90854f278df277dd54f8a4c847ab61"}, - {file = "simplejson-3.19.3-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:2876027ebdd599d730d36464debe84619b0368e9a642ca6e7c601be55aed439e"}, - {file = "simplejson-3.19.3-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:0766ca6222b410e08e0053a0dda3606cafb3973d5d00538307f631bb59743396"}, - {file = "simplejson-3.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:50d8b742d74c449c4dcac570d08ce0f21f6a149d2d9cf7652dbf2ba9a1bc729a"}, - {file = "simplejson-3.19.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd011fc3c1d88b779645495fdb8189fb318a26981eebcce14109460e062f209b"}, - {file = "simplejson-3.19.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:637c4d4b81825c1f4d651e56210bd35b5604034b192b02d2d8f17f7ce8c18f42"}, - {file = "simplejson-3.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f56eb03bc9e432bb81adc8ecff2486d39feb371abb442964ffb44f6db23b332"}, - {file = "simplejson-3.19.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ef59a53be400c1fad2c914b8d74c9d42384fed5174f9321dd021b7017fd40270"}, - {file = "simplejson-3.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72e8abbc86fcac83629a030888b45fed3a404d54161118be52cb491cd6975d3e"}, - {file = "simplejson-3.19.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8efb03ca77bd7725dfacc9254df00d73e6f43013cf39bd37ef1a8ed0ebb5165"}, - {file = "simplejson-3.19.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:add8850db04b98507a8b62d248a326ecc8561e6d24336d1ca5c605bbfaab4cad"}, - {file = "simplejson-3.19.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fc3dc9fb413fc34c396f52f4c87de18d0bd5023804afa8ab5cc224deeb6a9900"}, - {file = "simplejson-3.19.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4dfa420bb9225dd33b6efdabde7c6a671b51150b9b1d9c4e5cd74d3b420b3fe1"}, - {file = "simplejson-3.19.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7b5c472099b39b274dcde27f1113db8d818c9aa3ba8f78cbb8ad04a4c1ac2118"}, - {file = "simplejson-3.19.3-cp310-cp310-win32.whl", hash = "sha256:817abad79241ed4a507b3caf4d3f2be5079f39d35d4c550a061988986bffd2ec"}, - {file = "simplejson-3.19.3-cp310-cp310-win_amd64.whl", hash = "sha256:dd5b9b1783e14803e362a558680d88939e830db2466f3fa22df5c9319f8eea94"}, - {file = "simplejson-3.19.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e88abff510dcff903a18d11c2a75f9964e768d99c8d147839913886144b2065e"}, - {file = "simplejson-3.19.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:934a50a614fb831614db5dbfba35127ee277624dda4d15895c957d2f5d48610c"}, - {file = "simplejson-3.19.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:212fce86a22188b0c7f53533b0f693ea9605c1a0f02c84c475a30616f55a744d"}, - {file = "simplejson-3.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d9e8f836688a8fabe6a6b41b334aa550a6823f7b4ac3d3712fc0ad8655be9a8"}, - {file = "simplejson-3.19.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23228037dc5d41c36666384062904d74409a62f52283d9858fa12f4c22cffad1"}, - {file = "simplejson-3.19.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0791f64fed7d4abad639491f8a6b1ba56d3c604eb94b50f8697359b92d983f36"}, - {file = "simplejson-3.19.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4f614581b61a26fbbba232a1391f6cee82bc26f2abbb6a0b44a9bba25c56a1c"}, - {file = "simplejson-3.19.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1df0aaf1cb787fdf34484ed4a1f0c545efd8811f6028623290fef1a53694e597"}, - {file = "simplejson-3.19.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:951095be8d4451a7182403354c22ec2de3e513e0cc40408b689af08d02611588"}, - {file = "simplejson-3.19.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2a954b30810988feeabde843e3263bf187697e0eb5037396276db3612434049b"}, - {file = "simplejson-3.19.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c40df31a75de98db2cdfead6074d4449cd009e79f54c1ebe5e5f1f153c68ad20"}, - {file = "simplejson-3.19.3-cp311-cp311-win32.whl", hash = "sha256:7e2a098c21ad8924076a12b6c178965d88a0ad75d1de67e1afa0a66878f277a5"}, - {file = "simplejson-3.19.3-cp311-cp311-win_amd64.whl", hash = "sha256:c9bedebdc5fdad48af8783022bae307746d54006b783007d1d3c38e10872a2c6"}, - {file = "simplejson-3.19.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:66a0399e21c2112acacfebf3d832ebe2884f823b1c7e6d1363f2944f1db31a99"}, - {file = "simplejson-3.19.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6ef9383c5e05f445be60f1735c1816163c874c0b1ede8bb4390aff2ced34f333"}, - {file = "simplejson-3.19.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:42e5acf80d4d971238d4df97811286a044d720693092b20a56d5e56b7dcc5d09"}, - {file = "simplejson-3.19.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0b0efc7279d768db7c74d3d07f0b5c81280d16ae3fb14e9081dc903e8360771"}, - {file = "simplejson-3.19.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0552eb06e7234da892e1d02365cd2b7b2b1f8233aa5aabdb2981587b7cc92ea0"}, - {file = "simplejson-3.19.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf6a3b9a7d7191471b464fe38f684df10eb491ec9ea454003edb45a011ab187"}, - {file = "simplejson-3.19.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7017329ca8d4dca94ad5e59f496e5fc77630aecfc39df381ffc1d37fb6b25832"}, - {file = "simplejson-3.19.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:67a20641afebf4cfbcff50061f07daad1eace6e7b31d7622b6fa2c40d43900ba"}, - {file = "simplejson-3.19.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:dd6a7dabcc4c32daf601bc45e01b79175dde4b52548becea4f9545b0a4428169"}, - {file = "simplejson-3.19.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:08f9b443a94e72dd02c87098c96886d35790e79e46b24e67accafbf13b73d43b"}, - {file = "simplejson-3.19.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa97278ae6614346b5ca41a45a911f37a3261b57dbe4a00602048652c862c28b"}, - {file = "simplejson-3.19.3-cp312-cp312-win32.whl", hash = "sha256:ef28c3b328d29b5e2756903aed888960bc5df39b4c2eab157ae212f70ed5bf74"}, - {file = "simplejson-3.19.3-cp312-cp312-win_amd64.whl", hash = "sha256:1e662336db50ad665777e6548b5076329a94a0c3d4a0472971c588b3ef27de3a"}, - {file = "simplejson-3.19.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0959e6cb62e3994b5a40e31047ff97ef5c4138875fae31659bead691bed55896"}, - {file = "simplejson-3.19.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7a7bfad839c624e139a4863007233a3f194e7c51551081f9789cba52e4da5167"}, - {file = "simplejson-3.19.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:afab2f7f2486a866ff04d6d905e9386ca6a231379181a3838abce1f32fbdcc37"}, - {file = "simplejson-3.19.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d00313681015ac498e1736b304446ee6d1c72c5b287cd196996dad84369998f7"}, - {file = "simplejson-3.19.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d936ae682d5b878af9d9eb4d8bb1fdd5e41275c8eb59ceddb0aeed857bb264a2"}, - {file = "simplejson-3.19.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01c6657485393f2e9b8177c77a7634f13ebe70d5e6de150aae1677d91516ce6b"}, - {file = "simplejson-3.19.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a6a750d3c7461b1c47cfc6bba8d9e57a455e7c5f80057d2a82f738040dd1129"}, - {file = "simplejson-3.19.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ea7a4a998c87c5674a27089e022110a1a08a7753f21af3baf09efe9915c23c3c"}, - {file = "simplejson-3.19.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6300680d83a399be2b8f3b0ef7ef90b35d2a29fe6e9c21438097e0938bbc1564"}, - {file = "simplejson-3.19.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ab69f811a660c362651ae395eba8ce84f84c944cea0df5718ea0ba9d1e4e7252"}, - {file = "simplejson-3.19.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:256e09d0f94d9c3d177d9e95fd27a68c875a4baa2046633df387b86b652f5747"}, - {file = "simplejson-3.19.3-cp313-cp313-win32.whl", hash = "sha256:2c78293470313aefa9cfc5e3f75ca0635721fb016fb1121c1c5b0cb8cc74712a"}, - {file = "simplejson-3.19.3-cp313-cp313-win_amd64.whl", hash = "sha256:3bbcdc438dc1683b35f7a8dc100960c721f922f9ede8127f63bed7dfded4c64c"}, - {file = "simplejson-3.19.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:89b35433186e977fa86ff1fd179c1fadff39cfa3afa1648dab0b6ca53153acd9"}, - {file = "simplejson-3.19.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d43c2d7504eda566c50203cdc9dc043aff6f55f1b7dae0dcd79dfefef9159d1c"}, - {file = "simplejson-3.19.3-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6890ff9cf0bd2e1d487e2a8869ebd620a44684c0a9667fa5ee751d099d5d84c8"}, - {file = "simplejson-3.19.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1069143a8fb3905e1bc0696c62be7e3adf812e9f1976ac9ae15b05112ff57cc9"}, - {file = "simplejson-3.19.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb324bb903330cbb35d87cce367a12631cd5720afa06e5b9c906483970946da6"}, - {file = "simplejson-3.19.3-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:0a32859d45d7b85fb803bb68f6bee14526991a1190269116c33399fa0daf9bbf"}, - {file = "simplejson-3.19.3-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:23833ee7e791ec968b744dfee2a2d39df7152050051096caf4296506d75608d8"}, - {file = "simplejson-3.19.3-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:d73efb03c5b39249c82488a994f0998f9e4399e3d085209d2120503305ba77a8"}, - {file = "simplejson-3.19.3-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:7923878b7a0142d39763ec2dbecff3053c1bedd3653585a8474666e420fe83f5"}, - {file = "simplejson-3.19.3-cp36-cp36m-win32.whl", hash = "sha256:7355c7203353c36d46c4e7b6055293b3d2be097bbc5e2874a2b8a7259f0325dd"}, - {file = "simplejson-3.19.3-cp36-cp36m-win_amd64.whl", hash = "sha256:d1b8b4d6379fe55f471914345fe6171d81a18649dacf3248abfc9c349b4442eb"}, - {file = "simplejson-3.19.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d36608557b4dcd7a62c29ad4cd7c5a1720bbf7dc942eff9dc42d2c542a5f042d"}, - {file = "simplejson-3.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7137e69c6781ecf23afab064be94a277236c9cba31aa48ff1a0ec3995c69171e"}, - {file = "simplejson-3.19.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:76f8c28fe2d426182405b18ddf3001fce47835a557dc15c3d8bdea01c03361da"}, - {file = "simplejson-3.19.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff7bc1bbdaa3e487c9469128bf39408e91f5573901cb852e03af378d3582c52d"}, - {file = "simplejson-3.19.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0782cb9bf827f0c488b6aa0f2819f618308a3caf2973cfd792e45d631bec4db"}, - {file = "simplejson-3.19.3-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:6fea0716c593dabb4392c4996d4e902a83b2428e6da82938cf28a523a11eb277"}, - {file = "simplejson-3.19.3-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:8f41bb5370b34f63171e65fdb00e12be1d83675cecb23e627df26f4c88dfc021"}, - {file = "simplejson-3.19.3-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:37105d1d708365b91165e1a6e505bdecc88637091348cf4b6adcdcb4f5a5fb8b"}, - {file = "simplejson-3.19.3-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:b9198c1f1f8910a3b86b60f4fe2556d9d28d3fefe35bffe6be509a27402e694d"}, - {file = "simplejson-3.19.3-cp37-cp37m-win32.whl", hash = "sha256:bc164f32dd9691e7082ce5df24b4cf8c6c394bbf9bdeeb5d843127cd07ab8ad2"}, - {file = "simplejson-3.19.3-cp37-cp37m-win_amd64.whl", hash = "sha256:1bd41f2cb1a2c57656ceff67b12d005cb255c728265e222027ad73193a04005a"}, - {file = "simplejson-3.19.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0733ecd95ae03ae718ec74aad818f5af5f3155d596f7b242acbc1621e765e5fb"}, - {file = "simplejson-3.19.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4a0710d1a5e41c4f829caa1572793dd3130c8d65c2b194c24ff29c4c305c26e0"}, - {file = "simplejson-3.19.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1a53a07320c5ff574d8b1a89c937ce33608832f166f39dff0581ac43dc979abd"}, - {file = "simplejson-3.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1773cabfba66a6337b547e45dafbd471b09487370bcab75bd28f626520410d29"}, - {file = "simplejson-3.19.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7c0104b4b7d2c75ccedbf1d9d5a3bd2daa75e51053935a44ba012e2fd4c43752"}, - {file = "simplejson-3.19.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c49eeb94b8f09dc8a5843c156a22b8bde6aa1ddc65ca8ddc62dddcc001e6a2d"}, - {file = "simplejson-3.19.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3dc5c1a85ff388e98ea877042daec3d157b6db0d85bac6ba5498034689793e7e"}, - {file = "simplejson-3.19.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:49549e3d81ab4a58424405aa545602674d8c35c20e986b42bb8668e782a94bac"}, - {file = "simplejson-3.19.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:e1a1452ad5723ff129b081e3c8aa4ba56b8734fee4223355ed7b815a7ece69bc"}, - {file = "simplejson-3.19.3-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:d0d5a63f1768fed7e78cf55712dee81f5a345e34d34224f3507ebf71df2b754d"}, - {file = "simplejson-3.19.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:7e062767ac165df9a46963f5735aa4eee0089ec1e48b3f2ec46182754b96f55e"}, - {file = "simplejson-3.19.3-cp38-cp38-win32.whl", hash = "sha256:56134bbafe458a7b21f6fddbf889d36bec6d903718f4430768e3af822f8e27c2"}, - {file = "simplejson-3.19.3-cp38-cp38-win_amd64.whl", hash = "sha256:bcde83a553a96dc7533736c547bddaa35414a2566ab0ecf7d3964fc4bdb84c11"}, - {file = "simplejson-3.19.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b5587feda2b65a79da985ae6d116daf6428bf7489992badc29fc96d16cd27b05"}, - {file = "simplejson-3.19.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e0d2b00ecbcd1a3c5ea1abc8bb99a26508f758c1759fd01c3be482a3655a176f"}, - {file = "simplejson-3.19.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:32a3ada8f3ea41db35e6d37b86dade03760f804628ec22e4fe775b703d567426"}, - {file = "simplejson-3.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f455672f4738b0f47183c5896e3606cd65c9ddee3805a4d18e8c96aa3f47c84"}, - {file = "simplejson-3.19.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b737a5fefedb8333fa50b8db3dcc9b1d18fd6c598f89fa7debff8b46bf4e511"}, - {file = "simplejson-3.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb47ee773ce67476a960e2db4a0a906680c54f662521550828c0cc57d0099426"}, - {file = "simplejson-3.19.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eed8cd98a7b24861da9d3d937f5fbfb6657350c547528a117297fe49e3960667"}, - {file = "simplejson-3.19.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:619756f1dd634b5bdf57d9a3914300526c3b348188a765e45b8b08eabef0c94e"}, - {file = "simplejson-3.19.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:dd7230d061e755d60a4d5445bae854afe33444cdb182f3815cff26ac9fb29a15"}, - {file = "simplejson-3.19.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:101a3c8392028cd704a93c7cba8926594e775ca3c91e0bee82144e34190903f1"}, - {file = "simplejson-3.19.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e557712fc79f251673aeb3fad3501d7d4da3a27eff0857af2e1d1afbbcf6685"}, - {file = "simplejson-3.19.3-cp39-cp39-win32.whl", hash = "sha256:0bc5544e3128891bf613b9f71813ee2ec9c11574806f74dd8bb84e5e95bf64a2"}, - {file = "simplejson-3.19.3-cp39-cp39-win_amd64.whl", hash = "sha256:06662392e4913dc8846d6a71a6d5de86db5fba244831abe1dd741d62a4136764"}, - {file = "simplejson-3.19.3-py3-none-any.whl", hash = "sha256:49cc4c7b940d43bd12bf87ec63f28cbc4964fc4e12c031cc8cd01650f43eb94e"}, - {file = "simplejson-3.19.3.tar.gz", hash = "sha256:8e086896c36210ab6050f2f9f095a5f1e03c83fa0e7f296d6cba425411364680"}, + {file = "simplejson-3.20.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:f5272b5866b259fe6c33c4a8c5073bf8b359c3c97b70c298a2f09a69b52c7c41"}, + {file = "simplejson-3.20.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5c0de368f3052a59a1acf21f8b2dd28686a9e4eba2da7efae7ed9554cb31e7bc"}, + {file = "simplejson-3.20.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:0821871404a537fd0e22eba240c74c0467c28af6cc435903eca394cfc74a0497"}, + {file = "simplejson-3.20.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:c939a1e576bded47d7d03aa2afc2ae90b928b2cf1d9dc2070ceec51fd463f430"}, + {file = "simplejson-3.20.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:3c4f0a61cdc05550782ca4a2cdb311ea196c2e6be6b24a09bf71360ca8c3ca9b"}, + {file = "simplejson-3.20.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:6c21f5c026ca633cfffcb6bc1fac2e99f65cb2b24657d3bef21aed9916cc3bbf"}, + {file = "simplejson-3.20.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:8d23b7f8d6b72319d6d55a0261089ff621ce87e54731c2d3de6a9bf7be5c028c"}, + {file = "simplejson-3.20.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:cda5c32a98f392909088111ecec23f2b0d39346ceae1a0fea23ab2d1f84ec21d"}, + {file = "simplejson-3.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e580aa65d5f6c3bf41b9b4afe74be5d5ddba9576701c107c772d936ea2b5043a"}, + {file = "simplejson-3.20.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4a586ce4f78cec11f22fe55c5bee0f067e803aab9bad3441afe2181693b5ebb5"}, + {file = "simplejson-3.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74a1608f9e6e8c27a4008d70a54270868306d80ed48c9df7872f9f4b8ac87808"}, + {file = "simplejson-3.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03db8cb64154189a92a7786209f24e391644f3a3fa335658be2df2af1960b8d8"}, + {file = "simplejson-3.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eea7e2b7d858f6fdfbf0fe3cb846d6bd8a45446865bc09960e51f3d473c2271b"}, + {file = "simplejson-3.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e66712b17d8425bb7ff8968d4c7c7fd5a2dd7bd63728b28356223c000dd2f91f"}, + {file = "simplejson-3.20.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2cc4f6486f9f515b62f5831ff1888886619b84fc837de68f26d919ba7bbdcbc"}, + {file = "simplejson-3.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a3c2df555ee4016148fa192e2b9cd9e60bc1d40769366134882685e90aee2a1e"}, + {file = "simplejson-3.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:78520f04b7548a5e476b5396c0847e066f1e0a4c0c5e920da1ad65e95f410b11"}, + {file = "simplejson-3.20.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f4bd49ecde87b0fe9f55cc971449a32832bca9910821f7072bbfae1155eaa007"}, + {file = "simplejson-3.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7eaae2b88eb5da53caaffdfa50e2e12022553949b88c0df4f9a9663609373f72"}, + {file = "simplejson-3.20.1-cp310-cp310-win32.whl", hash = "sha256:e836fb88902799eac8debc2b642300748f4860a197fa3d9ea502112b6bb8e142"}, + {file = "simplejson-3.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:b122a19b552b212fc3b5b96fc5ce92333d4a9ac0a800803e1f17ebb16dac4be5"}, + {file = "simplejson-3.20.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:325b8c107253d3217e89d7b50c71015b5b31e2433e6c5bf38967b2f80630a8ca"}, + {file = "simplejson-3.20.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:88a7baa8211089b9e58d78fbc1b0b322103f3f3d459ff16f03a36cece0d0fcf0"}, + {file = "simplejson-3.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:299b1007b8101d50d95bc0db1bf5c38dc372e85b504cf77f596462083ee77e3f"}, + {file = "simplejson-3.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ec618ed65caab48e81e3ed29586236a8e57daef792f1f3bb59504a7e98cd10"}, + {file = "simplejson-3.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2cdead1d3197f0ff43373cf4730213420523ba48697743e135e26f3d179f38"}, + {file = "simplejson-3.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3466d2839fdc83e1af42e07b90bc8ff361c4e8796cd66722a40ba14e458faddd"}, + {file = "simplejson-3.20.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d492ed8e92f3a9f9be829205f44b1d0a89af6582f0cf43e0d129fa477b93fe0c"}, + {file = "simplejson-3.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f924b485537b640dc69434565463fd6fc0c68c65a8c6e01a823dd26c9983cf79"}, + {file = "simplejson-3.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9e8eacf6a3491bf76ea91a8d46726368a6be0eb94993f60b8583550baae9439e"}, + {file = "simplejson-3.20.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d34d04bf90b4cea7c22d8b19091633908f14a096caa301b24c2f3d85b5068fb8"}, + {file = "simplejson-3.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:69dd28d4ce38390ea4aaf212902712c0fd1093dc4c1ff67e09687c3c3e15a749"}, + {file = "simplejson-3.20.1-cp311-cp311-win32.whl", hash = "sha256:dfe7a9da5fd2a3499436cd350f31539e0a6ded5da6b5b3d422df016444d65e43"}, + {file = "simplejson-3.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:896a6c04d7861d507d800da7642479c3547060bf97419d9ef73d98ced8258766"}, + {file = "simplejson-3.20.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f31c4a3a7ab18467ee73a27f3e59158255d1520f3aad74315edde7a940f1be23"}, + {file = "simplejson-3.20.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:884e6183d16b725e113b83a6fc0230152ab6627d4d36cb05c89c2c5bccfa7bc6"}, + {file = "simplejson-3.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03d7a426e416fe0d3337115f04164cd9427eb4256e843a6b8751cacf70abc832"}, + {file = "simplejson-3.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:000602141d0bddfcff60ea6a6e97d5e10c9db6b17fd2d6c66199fa481b6214bb"}, + {file = "simplejson-3.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:af8377a8af78226e82e3a4349efdde59ffa421ae88be67e18cef915e4023a595"}, + {file = "simplejson-3.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15c7de4c88ab2fbcb8781a3b982ef883696736134e20b1210bca43fb42ff1acf"}, + {file = "simplejson-3.20.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:455a882ff3f97d810709f7b620007d4e0aca8da71d06fc5c18ba11daf1c4df49"}, + {file = "simplejson-3.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fc0f523ce923e7f38eb67804bc80e0a028c76d7868500aa3f59225574b5d0453"}, + {file = "simplejson-3.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76461ec929282dde4a08061071a47281ad939d0202dc4e63cdd135844e162fbc"}, + {file = "simplejson-3.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ab19c2da8c043607bde4d4ef3a6b633e668a7d2e3d56f40a476a74c5ea71949f"}, + {file = "simplejson-3.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b2578bedaedf6294415197b267d4ef678fea336dd78ee2a6d2f4b028e9d07be3"}, + {file = "simplejson-3.20.1-cp312-cp312-win32.whl", hash = "sha256:339f407373325a36b7fd744b688ba5bae0666b5d340ec6d98aebc3014bf3d8ea"}, + {file = "simplejson-3.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:627d4486a1ea7edf1f66bb044ace1ce6b4c1698acd1b05353c97ba4864ea2e17"}, + {file = "simplejson-3.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:71e849e7ceb2178344998cbe5ade101f1b329460243c79c27fbfc51c0447a7c3"}, + {file = "simplejson-3.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b63fdbab29dc3868d6f009a59797cefaba315fd43cd32ddd998ee1da28e50e29"}, + {file = "simplejson-3.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1190f9a3ce644fd50ec277ac4a98c0517f532cfebdcc4bd975c0979a9f05e1fb"}, + {file = "simplejson-3.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1336ba7bcb722ad487cd265701ff0583c0bb6de638364ca947bb84ecc0015d1"}, + {file = "simplejson-3.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e975aac6a5acd8b510eba58d5591e10a03e3d16c1cf8a8624ca177491f7230f0"}, + {file = "simplejson-3.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a6dd11ee282937ad749da6f3b8d87952ad585b26e5edfa10da3ae2536c73078"}, + {file = "simplejson-3.20.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab980fcc446ab87ea0879edad41a5c28f2d86020014eb035cf5161e8de4474c6"}, + {file = "simplejson-3.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f5aee2a4cb6b146bd17333ac623610f069f34e8f31d2f4f0c1a2186e50c594f0"}, + {file = "simplejson-3.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:652d8eecbb9a3b6461b21ec7cf11fd0acbab144e45e600c817ecf18e4580b99e"}, + {file = "simplejson-3.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:8c09948f1a486a89251ee3a67c9f8c969b379f6ffff1a6064b41fea3bce0a112"}, + {file = "simplejson-3.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cbbd7b215ad4fc6f058b5dd4c26ee5c59f72e031dfda3ac183d7968a99e4ca3a"}, + {file = "simplejson-3.20.1-cp313-cp313-win32.whl", hash = "sha256:ae81e482476eaa088ef9d0120ae5345de924f23962c0c1e20abbdff597631f87"}, + {file = "simplejson-3.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:1b9fd15853b90aec3b1739f4471efbf1ac05066a2c7041bf8db821bb73cd2ddc"}, + {file = "simplejson-3.20.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c7edf279c1376f28bf41e916c015a2a08896597869d57d621f55b6a30c7e1e6d"}, + {file = "simplejson-3.20.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9202b9de38f12e99a40addd1a8d508a13c77f46d87ab1f9095f154667f4fe81"}, + {file = "simplejson-3.20.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:391345b4157cc4e120027e013bd35c45e2c191e2bf48b8913af488cdc3b9243c"}, + {file = "simplejson-3.20.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c6fdcc9debb711ddd2ad6d69f9386a3d9e8e253234bbb30513e0a7caa9510c51"}, + {file = "simplejson-3.20.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9daf8cdc7ee8a9e9f7a3b313ba0a003391857e90d0e82fbcd4d614aa05cb7c3b"}, + {file = "simplejson-3.20.1-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:c02f4868a3a46ffe284a51a88d134dc96feff6079a7115164885331a1ba8ed9f"}, + {file = "simplejson-3.20.1-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:3d7310172d5340febd258cb147f46aae30ad57c445f4d7e1ae8461c10aaf43b0"}, + {file = "simplejson-3.20.1-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:4762e05577955312a4c6802f58dd02e040cc79ae59cda510aa1564d84449c102"}, + {file = "simplejson-3.20.1-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:8bb98fdf318c05aefd08a92583bd6ee148e93c6756fb1befb7b2d5f27824be78"}, + {file = "simplejson-3.20.1-cp36-cp36m-win32.whl", hash = "sha256:9a74e70818818981294b8e6956ce3496c5e1bd4726ac864fae473197671f7b85"}, + {file = "simplejson-3.20.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e041add470e8f8535cc05509485eb7205729a84441f03b25cde80ad48823792e"}, + {file = "simplejson-3.20.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7e9d73f46119240e4f4f07868241749d67d09873f40cb968d639aa9ccc488b86"}, + {file = "simplejson-3.20.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae6e637dc24f8fee332ed23dd070e81394138e42cd4fd9d0923e5045ba122e27"}, + {file = "simplejson-3.20.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:efd3bc6c6b17e3d4620eb6be5196f0d1c08b6ce7c3101fa8e292b79e0908944b"}, + {file = "simplejson-3.20.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87fc623d457173a0213bc9ca4e346b83c9d443f63ed5cca847fb0cacea3cfc95"}, + {file = "simplejson-3.20.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec6a1e0a7aff76f0e008bebfa950188b9c50b58c1885d898145f48fc8e189a56"}, + {file = "simplejson-3.20.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:9c079606f461a6e950099167e21e13985147c8a24be8eea66c9ad68f73fad744"}, + {file = "simplejson-3.20.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:9faceb68fba27ef17eda306e4cd97a7b4b14fdadca5fbb15790ba8b26ebeec0c"}, + {file = "simplejson-3.20.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:7ceed598e4bacbf5133fe7a418f7991bb2df0683f3ac11fbf9e36a2bc7aa4b85"}, + {file = "simplejson-3.20.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:ede69c765e9901861ad7c6139023b7b7d5807c48a2539d817b4ab40018002d5f"}, + {file = "simplejson-3.20.1-cp37-cp37m-win32.whl", hash = "sha256:d8853c269a4c5146ddca4aa7c70e631795e9d11239d5fedb1c6bbc91ffdebcac"}, + {file = "simplejson-3.20.1-cp37-cp37m-win_amd64.whl", hash = "sha256:ed6a17fd397f0e2b3ad668fc9e19253ed2e3875ad9086bd7f795c29a3223f4a1"}, + {file = "simplejson-3.20.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:7551682b60bba3a9e2780742e101cf0a64250e76de7d09b1c4b0c8a7c7cc6834"}, + {file = "simplejson-3.20.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bd9577ec1c8c3a43040e3787711e4c257c70035b7551a21854b5dec88dad09e1"}, + {file = "simplejson-3.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a8e197e4cf6d42c2c57e7c52cd7c1e7b3e37c5911df1314fb393320131e2101"}, + {file = "simplejson-3.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bd09c8c75666e7f62a33d2f1fb57f81da1fcbb19a9fe7d7910b5756e1dd6048"}, + {file = "simplejson-3.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1bd6bfe5678d73fbd5328eea6a35216503796428fc47f1237432522febaf3a0c"}, + {file = "simplejson-3.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:71b75d448fd0ceb2e7c90e72bb82c41f8462550d48529980bc0bab1d2495bfbb"}, + {file = "simplejson-3.20.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7e15b716d09f318c8cda3e20f82fae81684ce3d3acd1d7770fa3007df1769de"}, + {file = "simplejson-3.20.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3e7963197d958fcf9e98b212b80977d56c022384621ff463d98afc3b6b1ce7e8"}, + {file = "simplejson-3.20.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:2e671dd62051129185d3a9a92c60101f56cbc174854a1a3dfb69114ebd9e1699"}, + {file = "simplejson-3.20.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:e25b2a0c396f3b84fb89573d07b0e1846ed563eb364f2ea8230ca92b8a8cb786"}, + {file = "simplejson-3.20.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:489c3a43116082bad56795215786313832ba3991cca1f55838e52a553f451ab6"}, + {file = "simplejson-3.20.1-cp38-cp38-win32.whl", hash = "sha256:4a92e948bad8df7fa900ba2ba0667a98303f3db206cbaac574935c332838208e"}, + {file = "simplejson-3.20.1-cp38-cp38-win_amd64.whl", hash = "sha256:49d059b8363327eee3c94799dd96782314b2dbd7bcc293b4ad48db69d6f4d362"}, + {file = "simplejson-3.20.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a8011f1dd1d676befcd4d675ebdbfdbbefd3bf350052b956ba8c699fca7d8cef"}, + {file = "simplejson-3.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e91703a4c5fec53e36875ae426ad785f4120bd1d93b65bed4752eeccd1789e0c"}, + {file = "simplejson-3.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e39eaa57c7757daa25bcd21f976c46be443b73dd6c3da47fe5ce7b7048ccefe2"}, + {file = "simplejson-3.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceab2ce2acdc7fbaa433a93006758db6ba9a659e80c4faa13b80b9d2318e9b17"}, + {file = "simplejson-3.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6d4f320c33277a5b715db5bf5b10dae10c19076bd6d66c2843e04bd12d1f1ea5"}, + {file = "simplejson-3.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b6436c48e64378fa844d8c9e58a5ed0352bbcfd4028369a9b46679b7ab79d2d"}, + {file = "simplejson-3.20.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e18345c8dda5d699be8166b61f9d80aaee4545b709f1363f60813dc032dac53"}, + {file = "simplejson-3.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:90b573693d1526bed576f6817e2a492eaaef68f088b57d7a9e83d122bbb49e51"}, + {file = "simplejson-3.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:272cc767826e924a6bd369ea3dbf18e166ded29059c7a4d64d21a9a22424b5b5"}, + {file = "simplejson-3.20.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:51b41f284d603c4380732d7d619f8b34bd04bc4aa0ed0ed5f4ffd0539b14da44"}, + {file = "simplejson-3.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6e6697a3067d281f01de0fe96fc7cba4ea870d96d7deb7bfcf85186d74456503"}, + {file = "simplejson-3.20.1-cp39-cp39-win32.whl", hash = "sha256:6dd3a1d5aca87bf947f3339b0f8e8e329f1badf548bdbff37fac63c17936da8e"}, + {file = "simplejson-3.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:463f1fca8fbf23d088e5850fdd0dd4d5faea8900a9f9680270bd98fd649814ca"}, + {file = "simplejson-3.20.1-py3-none-any.whl", hash = "sha256:8a6c1bbac39fa4a79f83cbf1df6ccd8ff7069582a9fd8db1e52cea073bc2c697"}, + {file = "simplejson-3.20.1.tar.gz", hash = "sha256:e64139b4ec4f1f24c142ff7dcafe55a22b811a74d86d66560c8815687143037d"}, ] [[package]] name = "six" -version = "1.16.0" +version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] @@ -3903,13 +3901,13 @@ files = [ [[package]] name = "soupsieve" -version = "2.6" +version = "2.7" description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" files = [ - {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, - {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, + {file = "soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4"}, + {file = "soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a"}, ] [[package]] @@ -3946,27 +3944,20 @@ pure-eval = "*" [package.extras] tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] -[[package]] -name = "stringcase" -version = "1.2.0" -description = "String case converter." -optional = false -python-versions = "*" -files = [ - {file = "stringcase-1.2.0.tar.gz", hash = "sha256:48a06980661908efe8d9d34eab2b6c13aefa2163b3ced26972902e3bdfd87008"}, -] - [[package]] name = "structlog" -version = "24.4.0" +version = "25.3.0" description = "Structured Logging for Python" optional = false python-versions = ">=3.8" files = [ - {file = "structlog-24.4.0-py3-none-any.whl", hash = "sha256:597f61e80a91cc0749a9fd2a098ed76715a1c8a01f73e336b746504d1aad7610"}, - {file = "structlog-24.4.0.tar.gz", hash = "sha256:b27bfecede327a6d2da5fbc96bd859f114ecc398a6389d664f62085ee7ae6fc4"}, + {file = "structlog-25.3.0-py3-none-any.whl", hash = "sha256:a341f5524004c158498c3127eecded091eb67d3a611e7a3093deca30db06e172"}, + {file = "structlog-25.3.0.tar.gz", hash = "sha256:8dab497e6f6ca962abad0c283c46744185e0c9ba900db52a423cb6db99f7abeb"}, ] +[package.dependencies] +typing-extensions = {version = "*", markers = "python_version < \"3.11\""} + [package.extras] dev = ["freezegun (>=0.2.8)", "mypy (>=1.4)", "pretend", "pytest (>=6.0)", "pytest-asyncio (>=0.17)", "rich", "simplejson", "twisted"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-mermaid", "sphinxext-opengraph", "twisted"] @@ -4005,13 +3996,13 @@ widechars = ["wcwidth"] [[package]] name = "tenacity" -version = "9.0.0" +version = "9.1.2" description = "Retry code until it succeeds" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539"}, - {file = "tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b"}, + {file = "tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138"}, + {file = "tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb"}, ] [package.extras] @@ -4042,44 +4033,75 @@ files = [ [[package]] name = "tomli" -version = "2.0.2" +version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" files = [ - {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, - {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, + {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, + {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, + {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, + {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, + {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, + {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, + {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, + {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] [[package]] name = "toolz" -version = "0.12.1" +version = "1.0.0" description = "List processing tools and functional utilities" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "toolz-0.12.1-py3-none-any.whl", hash = "sha256:d22731364c07d72eea0a0ad45bafb2c2937ab6fd38a3507bf55eae8744aa7d85"}, - {file = "toolz-0.12.1.tar.gz", hash = "sha256:ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d"}, + {file = "toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236"}, + {file = "toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02"}, ] [[package]] name = "tornado" -version = "6.4.2" +version = "6.5" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"}, - {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"}, - {file = "tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec"}, - {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946"}, - {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf"}, - {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634"}, - {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73"}, - {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c"}, - {file = "tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482"}, - {file = "tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38"}, - {file = "tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b"}, + {file = "tornado-6.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:f81067dad2e4443b015368b24e802d0083fecada4f0a4572fdb72fc06e54a9a6"}, + {file = "tornado-6.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9ac1cbe1db860b3cbb251e795c701c41d343f06a96049d6274e7c77559117e41"}, + {file = "tornado-6.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c625b9d03f1fb4d64149c47d0135227f0434ebb803e2008040eb92906b0105a"}, + {file = "tornado-6.5-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a0d8d2309faf015903080fb5bdd969ecf9aa5ff893290845cf3fd5b2dd101bc"}, + {file = "tornado-6.5-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03576ab51e9b1677e4cdaae620d6700d9823568b7939277e4690fe4085886c55"}, + {file = "tornado-6.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ab75fe43d0e1b3a5e3ceddb2a611cb40090dd116a84fc216a07a298d9e000471"}, + {file = "tornado-6.5-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:119c03f440a832128820e87add8a175d211b7f36e7ee161c631780877c28f4fb"}, + {file = "tornado-6.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:231f2193bb4c28db2bdee9e57bc6ca0cd491f345cd307c57d79613b058e807e0"}, + {file = "tornado-6.5-cp39-abi3-win32.whl", hash = "sha256:fd20c816e31be1bbff1f7681f970bbbd0bb241c364220140228ba24242bcdc59"}, + {file = "tornado-6.5-cp39-abi3-win_amd64.whl", hash = "sha256:007f036f7b661e899bd9ef3fa5f87eb2cb4d1b2e7d67368e778e140a2f101a7a"}, + {file = "tornado-6.5-cp39-abi3-win_arm64.whl", hash = "sha256:542e380658dcec911215c4820654662810c06ad872eefe10def6a5e9b20e9633"}, + {file = "tornado-6.5.tar.gz", hash = "sha256:c70c0a26d5b2d85440e4debd14a8d0b463a0cf35d92d3af05f5f1ffa8675c826"}, ] [[package]] @@ -4120,13 +4142,13 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0, [[package]] name = "trio" -version = "0.27.0" +version = "0.30.0" description = "A friendly Python library for async concurrency and I/O" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "trio-0.27.0-py3-none-any.whl", hash = "sha256:68eabbcf8f457d925df62da780eff15ff5dc68fd6b367e2dde59f7aaf2a0b884"}, - {file = "trio-0.27.0.tar.gz", hash = "sha256:1dcc95ab1726b2da054afea8fd761af74bad79bd52381b84eae408e983c76831"}, + {file = "trio-0.30.0-py3-none-any.whl", hash = "sha256:3bf4f06b8decf8d3cf00af85f40a89824669e2d033bb32469d34840edcfc22a5"}, + {file = "trio-0.30.0.tar.gz", hash = "sha256:0781c857c0c81f8f51e0089929a26b5bb63d57f927728a5586f7e36171f064df"}, ] [package.dependencies] @@ -4140,33 +4162,34 @@ sortedcontainers = "*" [[package]] name = "trio-websocket" -version = "0.11.1" +version = "0.12.2" description = "WebSocket library for Trio" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "trio-websocket-0.11.1.tar.gz", hash = "sha256:18c11793647703c158b1f6e62de638acada927344d534e3c7628eedcb746839f"}, - {file = "trio_websocket-0.11.1-py3-none-any.whl", hash = "sha256:520d046b0d030cf970b8b2b2e00c4c2245b3807853ecd44214acd33d74581638"}, + {file = "trio_websocket-0.12.2-py3-none-any.whl", hash = "sha256:df605665f1db533f4a386c94525870851096a223adcb97f72a07e8b4beba45b6"}, + {file = "trio_websocket-0.12.2.tar.gz", hash = "sha256:22c72c436f3d1e264d0910a3951934798dcc5b00ae56fc4ee079d46c7cf20fae"}, ] [package.dependencies] exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} +outcome = ">=1.2.0" trio = ">=0.11" wsproto = ">=0.14" [[package]] name = "typeguard" -version = "4.4.1" +version = "4.4.2" description = "Run-time type checker for Python" optional = false python-versions = ">=3.9" files = [ - {file = "typeguard-4.4.1-py3-none-any.whl", hash = "sha256:9324ec07a27ec67fc54a9c063020ca4c0ae6abad5e9f0f9804ca59aee68c6e21"}, - {file = "typeguard-4.4.1.tar.gz", hash = "sha256:0d22a89d00b453b47c49875f42b6601b961757541a2e1e0ef517b6e24213c21b"}, + {file = "typeguard-4.4.2-py3-none-any.whl", hash = "sha256:77a78f11f09777aeae7fa08585f33b5f4ef0e7335af40005b0c422ed398ff48c"}, + {file = "typeguard-4.4.2.tar.gz", hash = "sha256:a6f1065813e32ef365bc3b3f503af8a96f9dd4e0033a02c28c4a4983de8c6c49"}, ] [package.dependencies] -typing-extensions = ">=4.10.0" +typing_extensions = ">=4.10.0" [package.extras] doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.3.0)"] @@ -4174,63 +4197,77 @@ test = ["coverage[toml] (>=7)", "mypy (>=1.2.0)", "pytest (>=7)"] [[package]] name = "typer" -version = "0.14.0" +version = "0.15.4" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." optional = false python-versions = ">=3.7" files = [ - {file = "typer-0.14.0-py3-none-any.whl", hash = "sha256:f476233a25770ab3e7b2eebf7c68f3bc702031681a008b20167573a4b7018f09"}, - {file = "typer-0.14.0.tar.gz", hash = "sha256:af58f737f8d0c0c37b9f955a6d39000b9ff97813afcbeef56af5e37cf743b45a"}, + {file = "typer-0.15.4-py3-none-any.whl", hash = "sha256:eb0651654dcdea706780c466cf06d8f174405a659ffff8f163cfbfee98c0e173"}, + {file = "typer-0.15.4.tar.gz", hash = "sha256:89507b104f9b6a0730354f27c39fae5b63ccd0c95b1ce1f1a6ba0cfd329997c3"}, ] [package.dependencies] -click = ">=8.0.0" +click = ">=8.0.0,<8.2" rich = ">=10.11.0" shellingham = ">=1.3.0" typing-extensions = ">=3.7.4.3" [[package]] name = "typing-extensions" -version = "4.12.2" +version = "4.13.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" 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"}, + {file = "typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c"}, + {file = "typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef"}, ] +[[package]] +name = "typing-inspection" +version = "0.4.0" +description = "Runtime typing introspection tools" +optional = false +python-versions = ">=3.9" +files = [ + {file = "typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f"}, + {file = "typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122"}, +] + +[package.dependencies] +typing-extensions = ">=4.12.0" + [[package]] name = "tzdata" -version = "2024.2" +version = "2025.2" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" files = [ - {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, - {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, + {file = "tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8"}, + {file = "tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9"}, ] [[package]] name = "unidecode" -version = "1.3.8" +version = "1.4.0" description = "ASCII transliterations of Unicode text" optional = false -python-versions = ">=3.5" +python-versions = ">=3.7" files = [ - {file = "Unidecode-1.3.8-py3-none-any.whl", hash = "sha256:d130a61ce6696f8148a3bd8fe779c99adeb4b870584eeb9526584e9aa091fd39"}, - {file = "Unidecode-1.3.8.tar.gz", hash = "sha256:cfdb349d46ed3873ece4586b96aa75258726e2fa8ec21d6f00a591d98806c2f4"}, + {file = "Unidecode-1.4.0-py3-none-any.whl", hash = "sha256:c3c7606c27503ad8d501270406e345ddb480a7b5f38827eafe4fa82a137f0021"}, + {file = "Unidecode-1.4.0.tar.gz", hash = "sha256:ce35985008338b676573023acc382d62c264f307c8f7963733405add37ea2b23"}, ] [[package]] name = "urllib3" -version = "2.2.3" +version = "2.4.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, - {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, + {file = "urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813"}, + {file = "urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466"}, ] [package.dependencies] @@ -4244,13 +4281,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "validators" -version = "0.34.0" +version = "0.35.0" description = "Python Data Validation for Humans™" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "validators-0.34.0-py3-none-any.whl", hash = "sha256:c804b476e3e6d3786fa07a30073a4ef694e617805eb1946ceee3fe5a9b8b1321"}, - {file = "validators-0.34.0.tar.gz", hash = "sha256:647fe407b45af9a74d245b943b18e6a816acf4926974278f6dd617778e1e781f"}, + {file = "validators-0.35.0-py3-none-any.whl", hash = "sha256:e8c947097eae7892cb3d26868d637f79f47b4a0554bc6b80065dfe5aac3705dd"}, + {file = "validators-0.35.0.tar.gz", hash = "sha256:992d6c48a4e77c81f1b4daba10d16c3a9bb0dbb79b3a19ea847ff0928e70497a"}, ] [package.extras] @@ -4258,13 +4295,13 @@ crypto-eth-addresses = ["eth-hash[pycryptodome] (>=0.7.0)"] [[package]] name = "virtualenv" -version = "20.26.6" +version = "20.31.2" description = "Virtual Python Environment builder" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "virtualenv-20.26.6-py3-none-any.whl", hash = "sha256:7345cc5b25405607a624d8418154577459c3e0277f5466dd79c49d5e492995f2"}, - {file = "virtualenv-20.26.6.tar.gz", hash = "sha256:280aede09a2a5c317e409a00102e7077c6432c5a38f0ef938e643805a7ad2c48"}, + {file = "virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11"}, + {file = "virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af"}, ] [package.dependencies] @@ -4319,13 +4356,13 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"] [[package]] name = "win32-setctime" -version = "1.1.0" +version = "1.2.0" description = "A small Python utility to set file creation time on Windows" optional = false python-versions = ">=3.5" files = [ - {file = "win32_setctime-1.1.0-py3-none-any.whl", hash = "sha256:231db239e959c2fe7eb1d7dc129f11172354f98361c4fa2d6d2d7e278baa8aad"}, - {file = "win32_setctime-1.1.0.tar.gz", hash = "sha256:15cf5750465118d6929ae4de4eb46e8edae9a5634350c01ba582df868e932cb2"}, + {file = "win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390"}, + {file = "win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0"}, ] [package.extras] @@ -4385,13 +4422,13 @@ files = [ [[package]] name = "xlsxwriter" -version = "3.2.0" +version = "3.2.3" description = "A Python module for creating Excel XLSX files." optional = false python-versions = ">=3.6" files = [ - {file = "XlsxWriter-3.2.0-py3-none-any.whl", hash = "sha256:ecfd5405b3e0e228219bcaf24c2ca0915e012ca9464a14048021d21a995d490e"}, - {file = "XlsxWriter-3.2.0.tar.gz", hash = "sha256:9977d0c661a72866a61f9f7a809e25ebbb0fb7036baa3b9fe74afcfca6b3cb8c"}, + {file = "XlsxWriter-3.2.3-py3-none-any.whl", hash = "sha256:593f8296e8a91790c6d0378ab08b064f34a642b3feb787cf6738236bd0a4860d"}, + {file = "xlsxwriter-3.2.3.tar.gz", hash = "sha256:ad6fd41bdcf1b885876b1f6b7087560aecc9ae5a9cc2ba97dcac7ab2e210d3d5"}, ] [[package]] @@ -4419,4 +4456,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "edadcb5b56d048af6f5de19d80772a18f105aca53a3c0dadf1ec8144b904c8bc" +content-hash = "bd313276016c8f2329774d4957ca45f02a1e64fd7df54d19871f8b2d77510da5" diff --git a/pyproject.toml b/pyproject.toml index ec4aba7..668998b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ pycirclize = "^1.8.0" circlify = "^0.15.0" azure-storage-blob = "^12.24.1" azure-identity = "^1.19.0" +tornado = "^6.5.0" [tool.poetry.group.dev.dependencies] pre-commit = "^3.8.0" From 4215ab9f70fe87f1e8c94f09e086daddb183d2f8 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Mon, 2 Jun 2025 12:25:35 +0100 Subject: [PATCH 3/5] Updated the code base with gdacs api script & updated the docu --- .gitignore | 1 + Makefile | 4 + docs/DATASETS.md | 16 +++- src/gdacs/data_acquisition_api.py | 149 ++++++++++++++++++++++++++++++ 4 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 src/gdacs/data_acquisition_api.py diff --git a/.gitignore b/.gitignore index 5aa39e8..828fb59 100644 --- a/.gitignore +++ b/.gitignore @@ -144,6 +144,7 @@ data.zip data/* data1 data +data_raw/ data_mid/ data_out/ diff --git a/Makefile b/Makefile index 05cdf32..ad5b508 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,10 @@ clean: @rm -rf .venv @poetry env remove --all +run_gdacs_download: + @echo "Running GDACS download" + @poetry run python -m src.gdacs.data_acquisition_api + run_glide_normal: @echo "Running Glide normalisation" @poetry run python -m src.glide.data_normalisation_glide diff --git a/docs/DATASETS.md b/docs/DATASETS.md index 258424b..969cf4a 100644 --- a/docs/DATASETS.md +++ b/docs/DATASETS.md @@ -21,6 +21,21 @@ update any of the datasets: **Important**: Always preserve the folder structure to avoid breaking downstream processes. +## API-Based Dataset: GDACS + +The GDACS dataset is unique in that it provides an official API, made available directly by the GDACS team. + +To update this dataset: + +1. Modify the date range in the `src/gdacs/data_acquisition_api.py` script and the `main` method. +2. Run the following command: + + ```sh + make run_gdacs_download + ``` + +This process will automatically download and save the updated records to the appropriate location. + ## Web-Scraped Legacy Datasets (Now Blocked or Fragile) Some datasets were initially extracted using automated **web scraping scripts**. @@ -31,7 +46,6 @@ category: - CERF Activations - Disaster Charter Activations - GLIDE Events -- GDACS Events - WFP ADAM ### How to Update These diff --git a/src/gdacs/data_acquisition_api.py b/src/gdacs/data_acquisition_api.py new file mode 100644 index 0000000..ab54a80 --- /dev/null +++ b/src/gdacs/data_acquisition_api.py @@ -0,0 +1,149 @@ +"""GDACS Data Acquisition Script.""" + +import logging +import pathlib +from datetime import datetime, timedelta, timezone + +import pandas as pd +import requests + +SEARCH_URL = "https://www.gdacs.org/gdacsapi/api/events/geteventlist/SEARCH" +OUTPUT_DIR = "./data_raw/gdacs_v2_run/" +pathlib.Path(OUTPUT_DIR).mkdir(parents=True, exist_ok=True) + + +def fetch_events( + start_date: datetime, + end_date: datetime, + event_type: str, +) -> list[dict]: + """Fetch GDACS events of a specific type within a date range.""" + params = { + "fromDate": start_date.strftime("%Y-%m-%d"), + "toDate": end_date.strftime("%Y-%m-%d"), + "alertlevel": "Green;Orange;Red", + "eventlist": event_type, + "country": "", + } + + logging.info( + "Fetching %s events from %s to %s...", + event_type, + params["fromDate"], + params["toDate"], + ) + + try: + response = requests.get(SEARCH_URL, params=params, timeout=10) + response.raise_for_status() + + if not response.text.strip(): + logging.warning( + "Empty response body for %s events %s to %s", + event_type, + params["fromDate"], + params["toDate"], + ) + return [] + + data = response.json() + + return [ + { + "event_id": feature["properties"].get("eventid", "N/A"), + "event_type": feature["properties"].get("eventtype", "N/A"), + "event_name": feature["properties"].get("name", "N/A"), + "from_date": feature["properties"].get("fromdate", "N/A"), + "to_date": feature["properties"].get("todate", "N/A"), + "alert_level": feature["properties"].get("alertlevel", "N/A"), + "countries": ", ".join( + c["countryname"] + for c in feature["properties"].get("affectedcountries", []) + ), + "iso3": ", ".join( + c["iso3"] + for c in feature["properties"].get("affectedcountries", []) + ), + "location": [ + c["countryname"] + for c in feature["properties"].get("affectedcountries", []) + ], + "population": feature["properties"].get("population", "N/A"), + "severity": feature["properties"] + .get("severitydata", {}) + .get("severity", "N/A"), + "alert_score": feature["properties"].get("alertscore", "N/A"), + "bbox": feature.get("bbox", []), + "coordinates": feature.get("geometry", {}).get("coordinates", []), + } + for feature in data.get("features", []) + ] + + except requests.exceptions.JSONDecodeError: + logging.exception( + "JSON decode error for %s events %s to %s first 200 chars: %r", + event_type, + params["fromDate"], + params["toDate"], + response.text[:200], + ) + return [] + + except requests.RequestException: + logging.exception( + "Request failed for %s events %s to %s", + event_type, + params["fromDate"], + params["toDate"], + ) + return [] + + +def main() -> None: + """Main function to fetch GDACS events and save them to CSV files.""" + start_date = datetime(2000, 1, 1, tzinfo=timezone.utc) + end_date = datetime(2024, 11, 28, tzinfo=timezone.utc) + interval = timedelta(days=30) + event_types = ["EQ", "TS", "TC", "FL", "VO", "DR", "WF"] + + all_data = pd.DataFrame() + current_date = start_date + + while current_date < end_date: + next_date = min(current_date + interval, end_date) + try: + for event_type in event_types: + events = fetch_events(current_date, next_date, event_type) + if events: + events_df = pd.DataFrame(events) + all_data = pd.concat([all_data, events_df], ignore_index=True) + else: + logging.info( + "No events found for %s from %s to %s", + event_type, + current_date.date(), + next_date.date(), + ) + except Exception: + logging.exception( + "Unexpected error occurred while processing events from %s to %s", + current_date.date(), + next_date.date(), + ) + current_date = next_date + + if not all_data.empty: + all_data["year"] = pd.to_datetime( + all_data["from_date"], + errors="coerce", + ).dt.year + for year, group in all_data.groupby("year"): + output_file = pathlib.Path(OUTPUT_DIR) / f"gdacs_events_{year}.csv" + group.to_csv(output_file, index=False) + logging.info("Saved %d events to %s", len(group), output_file) + else: + logging.info("No data found.") + + +if __name__ == "__main__": + main() From 99bf1173731b1622bf02c73e16171e4e3634a194 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Thu, 5 Jun 2025 11:37:34 +0100 Subject: [PATCH 4/5] Updated logic with scraping method to go through the notebook --- .pre-commit-config.yaml | 9 + Makefile | 20 + notebooks/process_sandbox.ipynb | 999 ++++++++++++++++++ src/cerf/data_acquisition_scrape.py | 164 +++ .../data_acquisition_scrape.py | 147 +++ src/gdacs/data_acquisition_api.py | 18 +- src/glide/data_acquisition_scrape.py | 104 ++ 7 files changed, 1448 insertions(+), 13 deletions(-) create mode 100644 notebooks/process_sandbox.ipynb create mode 100644 src/cerf/data_acquisition_scrape.py create mode 100644 src/disaster_charter/data_acquisition_scrape.py create mode 100644 src/glide/data_acquisition_scrape.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5b08b0e..1652a8b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,13 @@ fail_fast: true + +exclude: | + (?x)^( + notebooks/process_sandbox\.ipynb| + src/cerf/data_acquisition_scrape\.py| + src/disaster_charter/data_acquisition_scrape\.py| + src/glide/data_acquisition_scrape\.py + )$ + repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.6.8 diff --git a/Makefile b/Makefile index ad5b508..90a0c28 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,26 @@ run_gdacs_download: @echo "Running GDACS download" @poetry run python -m src.gdacs.data_acquisition_api +run_glide_download: + @echo "Running Glide download" + @poetry run python -m src.glide.data_acquisition_scrape + +run_cerf_download: + @echo "Running CERF download" + @poetry run python -m src.cerf.data_acquisition_scrape + +run_disaster_charter_download: + @echo "Running Disaster-Charter download" + @poetry run python -m src.disaster_charter.data_acquisition_scrape + +run_idus_download: + @echo "Downloading IDUS dump → data_raw/idmc_idu/idus_all.json" + @mkdir -p data_raw/idmc_idu + @curl -L --compressed \ + -o data_raw/idmc_idu/idus_all.json \ + "https://helix-copilot-prod-helix-media-external.s3.amazonaws.com/external-media/api-dump/idus-all/2025-06-04-10-00-32/5mndO/idus_all.json" + @echo "✅ Saved (decompressed): data_raw/idmc_idu/idus_all.json" + run_glide_normal: @echo "Running Glide normalisation" @poetry run python -m src.glide.data_normalisation_glide diff --git a/notebooks/process_sandbox.ipynb b/notebooks/process_sandbox.ipynb new file mode 100644 index 0000000..a995f31 --- /dev/null +++ b/notebooks/process_sandbox.ipynb @@ -0,0 +1,999 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 47, + "id": "7fd4519c-da46-4871-a4fc-7a3901a72ada", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from datetime import datetime\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "## pycirclize package is only necessary for the last plot. Installed it with pip instead of conda on my machine\n", + "from pycirclize import Circos\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "78e5a63e-5ce3-412a-a527-c0afac949f4d", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "## Pre-process sources" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "838deefe-151a-4450-8136-f638f6e59c54", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "def convert_date(x,date_format):\n", + " \"\"\"Different sources have different date formats stored as strings (DD/MM/YYYY, MM-DD-YYYY, etc...).\n", + " This simple function converts them to a datetime single format.\n", + " \"\"\"\n", + " try:\n", + " return(datetime.strptime(x,date_format))\n", + " except:\n", + " return(np.nan)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "2879a7f7-2a67-4cb2-b210-2f567c79fa40", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "def filter_rename_columns(df,col_list,new_col_list):\n", + " \"\"\"Simple function used to rename a dataframe columns based on a\n", + " renaming list. Returns the same dataframe with only\n", + " selected columns and rename them\n", + " \"\"\"\n", + " rename_dict = dict()\n", + " for i in range(len(col_list)):\n", + " rename_dict[col_list[i]] = new_col_list[i]\n", + "\n", + " df = df[col_list]\n", + " df.rename(columns = rename_dict, inplace = True)\n", + "\n", + " return(df)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "13c3271a-9d45-4d6a-832f-55e0453254f4", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "# This dictionary is just a placeholder for a preliminary event taxonomy. Has to be replaced\n", + "# by a proper function with less hard-coding. Event type who are not on this dictionary\n", + "# are not converted on the current version.\n", + "\n", + "# The following events are covered as output:\n", + "# Drought (DR) / Floods (FL) / Epidemics (EP) / Earthquake (EQ)\n", + "# Volcano (VO) / Landslide (LS) / Storm + Tropical Cyclone (TC/ST)\n", + "# Fires (WF) / Heat + Cold Waves (HW / CW) / Displacement (-)\n", + "\n", + "event_dict = {\n", + " \"Drought\":\"DR\",\n", + " \"Flood\":\"FL\",\n", + " \"Floods\":\"FL\",\n", + " \"floods\":\"FL\",\n", + " \"Flooding\":\"FL\",\n", + " \"FF\":\"FL\",\n", + " \"Pluvial/Flash Flood\":\"FL\",\n", + " \"Epidemic\":\"EP\",\n", + " \"Cholera\":\"EP\",\n", + " \"Ebola\":\"EP\",\n", + " \"Measles\":\"EP\",\n", + " \"Earthquake\":\"EQ\",\n", + " \"Earthquakes\":\"EQ\",\n", + " \"Volcano\":\"VO\",\n", + " \"Volcanic activity\":\"VO\",\n", + " \"Volcanic Eruption\":\"VO\",\n", + " \"Landslide\":\"LS\",\n", + " \"landslide\":\"LS\",\n", + " \"Mass Movement\":\"LS\",\n", + " \"Mass movement (wet)\":\"LS\",\n", + " \"Mass movement (dry)\":\"LS\",\n", + " \"SL\":\"LS\",\n", + " \"MS\":\"LS\",\n", + " \"TC\":\"TC/ST\",\n", + " \"ST\":\"TC/ST\",\n", + " \"Cyclone\":\"TC/ST\",\n", + " \"Cyclones\":\"TC/ST\",\n", + " \"Typhoon\":\"TC/ST\",\n", + " \"cyclone\":\"TC/ST\",\n", + " \"Storm\":\"TC/ST\",\n", + " \"Storm Surge\":\"TC/ST\",\n", + " \"Fire\":\"WF\",\n", + " \"Fires\":\"WF\",\n", + " \"FR\":\"WF\",\n", + " \"Wildfires\":\"WF\",\n", + " \"Wildfire\":\"WF\",\n", + " \"Forest fire\":\"WF\",\n", + " \"HT\":\"HW/CW\",\n", + " \"HW\":\"HW/CW\",\n", + " \"CW\":\"HW/CW\",\n", + " \"Heat Wave\":\"HW/CW\",\n", + " \"Cold Wave\":\"HW/CW\",\n", + " \"Extreme temperature\":\"HW/CW\",\n", + " \"Extreme Temperature\":\"HW/CW\",\n", + " \"Heat/Cold Wave\":\"HW/CW\",\n", + " \"Population Movement\":\"Displacement\",\n", + " \"Displacement/Migration\":\"Displacement\",\n", + "}\n" + ] + }, + { + "cell_type": "markdown", + "id": "6961aea6-fe84-4b31-b098-77765a7f8869", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Source-specific loading and pre-processing\n", + "\n", + "This should be improved / replaced by the work Evangelos has doing. Lots of hard-coding for now." + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "1f56bb68-7e47-46bd-a892-e2db7f20e668", + "metadata": {}, + "outputs": [], + "source": [ + "############## GDACS ##############\n", + "\n", + "\n", + "#Load all unique files (per year) into one single dataframe\n", + "input_gdacs_df = pd.DataFrame()\n", + "for file_year in range(2000,2025):\n", + " filename = \"../data/gdacs/gdacs_events_\" + str(file_year) +\".csv\"\n", + " #filename = '../data_raw/gdacs/gdacs_events_' + str(file_year) +'.csv'\n", + " new_df = pd.read_csv(filename)\n", + "\n", + " input_gdacs_df = pd.concat([input_gdacs_df, new_df])\n", + "\n", + "#input column names\n", + "col_list = [\"event_id\",\"event_type\",\"country_iso3\",\"country_name\",\"from_date\",\"to_date\"]\n", + "df = input_gdacs_df.copy()\n", + "\n", + "#retrieve first country and first iso-code per event (should be improved in the future to account for all countries)\n", + "df[\"countries\"] = df[\"countries\"].fillna(\"\")\n", + "df[\"country_name\"] = df[\"countries\"].apply(lambda x : x.split(\",\")[0].split(\"(\")[0][:-1])\n", + "df[\"country_iso3\"] = df[\"countries\"].apply(lambda x : x.split(\",\")[0].split(\"(\")[-1][:-1])\n", + "df = df[col_list]\n", + "\n", + "#Format both initial and end date\n", + "df.rename(columns = {\"event_id\" : \"gdacs_id\"}, inplace = True)\n", + "df[\"from_date\"] = df[\"from_date\"].apply(lambda x : convert_date(x[:10],\"%Y-%m-%d\"))\n", + "df[\"to_date\"] = df[\"to_date\"].apply(lambda x : convert_date(x[:10],\"%Y-%m-%d\"))\n", + "\n", + "#Rename event types following our custom taxonomy\n", + "for event in event_dict:\n", + " df.loc[df[\"event_type\"] == event, \"event_type\"] = event_dict[event]\n", + "\n", + "df.drop_duplicates(inplace = True)\n", + "df.reset_index(drop = True, inplace = True)\n", + "\n", + "gdacs_df = df.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "fe157c75-b24e-4c5c-ae2a-cf7638162c1d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df.rename(columns = rename_dict, inplace = True)\n" + ] + } + ], + "source": [ + "############## GLIDE ##############\n", + "\n", + "#Load data\n", + "date_col = \"event_date\"\n", + "filename = \"../data/glide/glide_events.csv\"\n", + "#filename = '../data_raw/glide/glide_events.csv'\n", + "input_glide_df = pd.read_csv(filename)\n", + "\n", + "#Rename key columns\n", + "col_list = [\"GLIDE_number\",\"Event_Code\",\"Country_Code\",\"Country\",\"Date_\"]\n", + "new_col_list = [\"glide_id\",\"event_type\",\"country_iso3\",\"country_name\",date_col]\n", + "df = filter_rename_columns(input_glide_df.copy(),col_list,new_col_list)\n", + "\n", + "#Format event date\n", + "df[date_col] = df[date_col].apply(lambda x : convert_date(x,\"%Y/%m/%d\"))\n", + "df = df[~df[date_col].isna()].reset_index(drop = True)\n", + "\n", + "#Rename event types following our custom taxonomy\n", + "for event in event_dict:\n", + " df.loc[df[\"event_type\"] == event, \"event_type\"] = event_dict[event]\n", + "\n", + "glide_df = df.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "1495b634-8a88-454d-8b30-2efbad9da4ab", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df.rename(columns = rename_dict, inplace = True)\n" + ] + } + ], + "source": [ + "############## CERF ##############\n", + "\n", + "#Load data\n", + "filename = \"../data/cerf/cerf_emergency_data_dynamic_web_scrape.csv\"\n", + "#filename = '../data_raw/cerf/cerf_emergency_data_dynamic_web_scrape.csv'\n", + "input_cerf_df = pd.read_csv(filename)\n", + "date_col = \"approval_date\"\n", + "\n", + "#Rename key columns\n", + "col_list = [\"project_code\",\"emergency_type\",\"country\",\"approval_date\"]\n", + "new_col_list = [\"cerf_id\",\"event_type\",\"country_name\",date_col]\n", + "df = filter_rename_columns(input_cerf_df.copy(),col_list,new_col_list)\n", + "\n", + "#Format event date\n", + "df[date_col] = df[date_col].apply(lambda x : convert_date(x,\"%d/%m/%Y\"))\n", + "df = df[~df[date_col].isna()].reset_index(drop = True)\n", + "\n", + "#Rename event types following our custom taxonomy\n", + "for event in event_dict:\n", + " df.loc[df[\"event_type\"] == event, \"event_type\"] = event_dict[event]\n", + "\n", + "cerf_df = df.copy()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "a9bf0407-3d1c-4c3e-bf04-8f9b0069d99b", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df.rename(columns = rename_dict, inplace = True)\n" + ] + } + ], + "source": [ + "############## DISASTER CHART ##############\n", + "\n", + "#Load data\n", + "filename = \"../data/disaster-charter/charter_activations_web_scrape_2000_2025.csv\"\n", + "#filename = '../data_raw/disaster-charter/charter_activations_web_scrape_2000_2025.csv'\n", + "input_charter_df = pd.read_csv(filename)\n", + "date_col = \"date\"\n", + "\n", + "#Rename key columns\n", + "col_list = [\"Activation ID\",\"Type of Event\",\"Location of Event\",\"Date\"]\n", + "new_col_list = [\"charter_id\",\"event_type\",\"country_name\",date_col]\n", + "df = filter_rename_columns(input_charter_df.copy(),col_list,new_col_list)\n", + "\n", + "#Format event date\n", + "df[date_col] = df[date_col].apply(lambda x : convert_date(x,\"%Y-%m-%d\"))\n", + "df = df[~df[date_col].isna()].reset_index(drop = True)\n", + "\n", + "#Rename event types following our custom taxonomy\n", + "for event in event_dict:\n", + " df.loc[df[\"event_type\"] == event, \"event_type\"] = event_dict[event]\n", + "\n", + "# Not all events have an id. For now, we use the DataFrame id (column index)\n", + "# combined with the original id (column charter_id)\n", + "df.reset_index(inplace = True)\n", + "df[\"index\"] = df[\"index\"].apply(lambda x : \"custom_\" + str(x))\n", + "df[\"charter_id\"] = df[\"charter_id\"].astype(\"str\")\n", + "df.loc[df[\"charter_id\"] == \"nan\", \"charter_id\"] = df.loc[df[\"charter_id\"] == \"nan\", \"index\"]\n", + "df.drop(columns = \"index\", inplace = True)\n", + "\n", + "charter_df = df.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "2355c4c3-4bce-49ef-a7b6-84ec89f0cc81", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df.rename(columns = rename_dict, inplace = True)\n" + ] + } + ], + "source": [ + "############## EM-DAT ##############\n", + "\n", + "#Load data\n", + "filename = \"../data/emdat/public_emdat_custom_request_2025-06-04_c1e3334f-e027-4f8a-92d5-7ce401c7654c.xlsx\"\n", + "#filename = '../data_raw/emdat/public_emdat_custom_request_2025-06-04_c1e3334f-e027-4f8a-92d5-7ce401c7654c.xlsx'\n", + "input_emdat_df = pd.read_excel(filename)\n", + "date_col = \"start_date\"\n", + "\n", + "#Filter events without a start day and create date column from year, month and day\n", + "df = input_emdat_df.copy()\n", + "df = df[~df[\"Start Day\"].isna()]\n", + "df[date_col] = df.apply(lambda row : str(int(row[\"Start Year\"])) + \"/\" + str(int(row[\"Start Month\"])) + \"/\" + str(int(row[\"Start Day\"])), axis = 1)\n", + "\n", + "#Rename key columns\n", + "col_list = [\"DisNo.\",\"Disaster Type\",\"ISO\", \"Country\",\"start_date\"]\n", + "new_col_list = [\"emdat_id\",\"event_type\",\"country_iso3\",\"country_name\",date_col]\n", + "df = filter_rename_columns(df.copy(),col_list,new_col_list)\n", + "\n", + "#Format event date\n", + "df[date_col] = df[date_col].apply(lambda x : convert_date(x,\"%Y/%m/%d\"))\n", + "df = df[~df[date_col].isna()].reset_index(drop = True)\n", + "\n", + "#Rename event types following our custom taxonomy\n", + "for event in event_dict:\n", + " df.loc[df[\"event_type\"] == event, \"event_type\"] = event_dict[event]\n", + "\n", + "\n", + "emdat_df = df.copy()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "88cadbb1-1716-408a-86c0-1546f8d8cd22", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df.rename(columns = rename_dict, inplace = True)\n" + ] + } + ], + "source": [ + "############## IDMC ##############\n", + "\n", + "#Load data\n", + "filename = \"../data/idmc_idu/idus_all.json\"\n", + "#filename = '../data_raw/idmc_idu/idus_all.json'\n", + "input_idmc_df = pd.read_json(filename)\n", + "date_col = \"event_start_date\"\n", + "\n", + "df = input_idmc_df.copy()\n", + "#df = df[df['displacement_type'] == 'Disaster'] # we may want to filter out events who are not disaster\n", + "\n", + "#Rename key columns\n", + "col_list = [\"id\",\"type\",\"iso3\",\"country\",\"event_start_date\"]\n", + "new_col_list = [\"idmc_id\",\"event_type\",\"country_iso3\",\"country_name\",date_col]\n", + "df = filter_rename_columns(df.copy(),col_list,new_col_list)\n", + "\n", + "#Format event date\n", + "df[date_col] = df[date_col].apply(lambda x : convert_date(x,\"%Y-%m-%d\"))\n", + "df = df[~df[date_col].isna()].reset_index(drop = True)\n", + "\n", + "#Rename event types following our custom taxonomy\n", + "for event in event_dict:\n", + " df.loc[df[\"event_type\"] == event, \"event_type\"] = event_dict[event]\n", + "\n", + "idmc_df = df.copy()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "89887462-b053-4769-84e0-9e7f680bf19f", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " df.rename(columns = rename_dict, inplace = True)\n" + ] + } + ], + "source": [ + "############## IFRC DREF ##############\n", + "\n", + "#Load data\n", + "filename = \"../data/ifrc_dref/IFRC_emergencies.csv\"\n", + "#filename = '../data_raw/ifrc_dref/IFRC_emergencies.csv'\n", + "input_dref_df = pd.read_csv(filename, on_bad_lines=\"skip\")\n", + "date_col = \"disaster_start_date\"\n", + "df = input_dref_df.copy()\n", + "\n", + "#Rename key columns\n", + "col_list = [\"id\",\"dtype.name\",\"countries.iso3\",\"countries.name\",\"disaster_start_date\"]\n", + "new_col_list = [\"dref_id\",\"event_type\",\"country_iso3\",\"country_name\",date_col]\n", + "df = filter_rename_columns(df.copy(),col_list,new_col_list)\n", + "\n", + "#Format event date\n", + "df[date_col] = df[date_col].apply(lambda x : convert_date(x[:10],\"%Y-%m-%d\"))\n", + "df = df[~df[date_col].isna()].reset_index(drop = True)\n", + "df = df[df[\"disaster_start_date\"].apply(lambda x : x.year > 1900)].reset_index(drop = True)\n", + "df[\"disaster_start_date\"] = df[\"disaster_start_date\"].astype(\"datetime64[ns]\")\n", + "\n", + "#Rename event types following our custom taxonomy\n", + "for event in event_dict:\n", + " df.loc[df[\"event_type\"] == event, \"event_type\"] = event_dict[event]\n", + "\n", + "dref_df = df.copy()\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "513f9f5c-0e7b-434c-8d00-ef2462ca0272", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "## Match sources" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "757c5a8d-f9b0-4045-820b-58a0ff533e35", + "metadata": {}, + "outputs": [], + "source": [ + "def initialize_disaster_df(ref_df):\n", + " \"\"\"Create the reference dataframe based on the first source. GDACS is used as the first one\n", + " but anyother could fill this role.\n", + " \"\"\"\n", + " df = pd.DataFrame()\n", + "\n", + " disaster_col_list = [\"event_type\",\"country_iso3\",\"country_name\",\"from_date\",\"to_date\",\"gdacs_id\"]\n", + " df = ref_df[disaster_col_list].copy()\n", + "\n", + " df.rename(columns = {\"from_date\":\"initial_date\", \"to_date\":\"end_date\"}, inplace = True)\n", + " df.reset_index(inplace = True)\n", + " df.rename(columns = {\"index\" : \"unique_id\"}, inplace = True)\n", + "\n", + " return(df)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "63f0d274-f799-499c-a0a9-668e055d9f9f", + "metadata": {}, + "outputs": [], + "source": [ + "def initialize_new_source(source_name):\n", + " \"\"\"Define some key parameters depending on the source being added.\n", + " These parameters are: \n", + " new_id => source unique id column name \n", + " match_col => columns used for the matching (besides event date)\n", + " date_col => event date colum name\n", + " delta_day_threshold => threshold for matching dates \n", + " \"\"\"\n", + " if source_name == \"glide\":\n", + " new_id = \"glide_id\"\n", + " match_col = [\"event_type\",\"country_iso3\"]\n", + " date_col = \"event_date\"\n", + " delta_day_threshold = 7\n", + "\n", + " elif source_name == \"cerf\":\n", + " new_id = \"cerf_id\"\n", + " match_col = [\"event_type\",\"country_name\"]\n", + " date_col = \"approval_date\"\n", + " delta_day_threshold = 14\n", + "\n", + " elif source_name == \"charter\":\n", + " new_id = \"charter_id\"\n", + " match_col = [\"event_type\",\"country_name\"]\n", + " date_col = \"date\"\n", + " delta_day_threshold = 7\n", + "\n", + " elif source_name == \"emdat\":\n", + " new_id = \"emdat_id\"\n", + " match_col = [\"event_type\",\"country_iso3\"]\n", + " date_col = \"start_date\"\n", + " delta_day_threshold = 7\n", + "\n", + " elif source_name == \"idmc\":\n", + " new_id = \"idmc_id\"\n", + " match_col = [\"event_type\",\"country_iso3\"]\n", + " date_col = \"event_start_date\"\n", + " delta_day_threshold = 7\n", + "\n", + " elif source_name == \"dref\":\n", + " new_id = \"dref_id\"\n", + " match_col = [\"event_type\",\"country_iso3\"]\n", + " date_col = \"disaster_start_date\"\n", + " delta_day_threshold = 7\n", + "\n", + "\n", + " return new_id, match_col, date_col, delta_day_threshold\n" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "497d8a4a-a991-4498-8ffb-ac87ae3ef5f5", + "metadata": {}, + "outputs": [], + "source": [ + "def add_new_source(disaster_df, new_source_df, source_name):\n", + " \"\"\"Match a new source to all the previous one added to the combined DataFrame.\n", + " For now the matching is based on event date, type and country.\n", + " \"\"\"\n", + " #Retrieve source parameters\n", + " new_id, match_col, date_col, delta_day_threshold = initialize_new_source(source_name)\n", + "\n", + " #First match based on matching columns (event type and country by default)\n", + " merge_df = disaster_df.merge(new_source_df, on = match_col, how = \"inner\", suffixes = (\"\",\"_new\"))\n", + " #Check if new event date is within the defined threshold in days to check if the dates match\n", + " merge_df[\"date_match\"] = ((merge_df[date_col] - merge_df[\"initial_date\"]).apply(lambda x : x.days) >= - delta_day_threshold) & ((merge_df[date_col] - merge_df[\"end_date\"]).apply(lambda x : x.days) <= delta_day_threshold)\n", + " merge_df = merge_df[merge_df[\"date_match\"]].reset_index(drop = True)\n", + " #Update initial / end dates based on the new added event\n", + " merge_df[\"initial_date\"] = merge_df[[\"initial_date\",date_col]].min(axis=1)\n", + " merge_df[\"end_date\"] = merge_df[[\"end_date\",date_col]].max(axis=1)\n", + " merge_df.drop(columns = [\"country_name_new\",\"country_iso3_new\", date_col,\"date_match\"], inplace = True, errors=\"ignore\")\n", + "\n", + "\n", + "\n", + " #Left outer dataframe contain events within the reference dataframe that are not present on the new source\n", + " left_outer_df = disaster_df[~disaster_df[\"unique_id\"].isin(list(merge_df[\"unique_id\"].unique()))]\n", + " #Right outer dataframe contain events within the new source that are not present on the reference dataframe\n", + " new_source_df[\"initial_date\"] = new_source_df[date_col]\n", + " new_source_df[\"end_date\"] = new_source_df[date_col]\n", + " new_source_df.drop(columns = [date_col], inplace = True)\n", + " right_outer_df = new_source_df[~new_source_df[new_id].isin(list(merge_df[new_id].unique()))]\n", + "\n", + " #Combine events that are present both in the reference and new source (merge_df),\n", + " #those who are only present on the reference (left_outer_df) and those only\n", + " #present on the new source (right_outer_df).\n", + " df = pd.concat([merge_df,left_outer_df,right_outer_df])\n", + " df.drop(columns = \"unique_id\", inplace = True)\n", + " df.reset_index(inplace = True)\n", + " df.rename(columns = {\"index\" : \"unique_id\"}, inplace = True)\n", + "\n", + " return(df)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "cb4a66c2-3f1c-47dc-9c17-5d2d9150fb09", + "metadata": {}, + "outputs": [], + "source": [ + "disaster_df = initialize_disaster_df(gdacs_df)\n", + "disaster_df = add_new_source(disaster_df, glide_df, \"glide\")\n", + "disaster_df = add_new_source(disaster_df, cerf_df, \"cerf\")\n", + "disaster_df = add_new_source(disaster_df, charter_df, \"charter\")\n", + "disaster_df = add_new_source(disaster_df, emdat_df, \"emdat\")\n", + "disaster_df = add_new_source(disaster_df, idmc_df, \"idmc\")\n", + "disaster_df = add_new_source(disaster_df, dref_df, \"dref\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "93e177c7-14de-4a60-a355-d2dea4df8c3e", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "6d698df3-2e11-4c41-abc0-01638a6ea280", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62d10bcf-3a0b-492a-a3da-b8fd2e2195b4", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "23d981b1-7e84-4383-ba63-5a9e60948860", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "## Analysis\n", + "\n", + "Analysis code is not well structured / commented. For now it was just a quick analysis but we could format it in the future\n", + "to make repetitive analysis easier" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "902a85d2-4d59-4a65-9289-51117cc0dd15", + "metadata": {}, + "outputs": [], + "source": [ + "analysis_df = disaster_df.copy()\n", + "\n", + "analysis_df[\"gdacs\"] = analysis_df[\"gdacs_id\"].notna()\n", + "analysis_df[\"glide\"] = analysis_df[\"glide_id\"].notna()\n", + "analysis_df[\"cerf\"] = analysis_df[\"cerf_id\"].notna()\n", + "analysis_df[\"charter\"] = analysis_df[\"charter_id\"].notna()\n", + "analysis_df[\"emdat\"] = analysis_df[\"emdat_id\"].notna()\n", + "analysis_df[\"idmc\"] = analysis_df[\"idmc_id\"].notna()\n", + "analysis_df[\"dref\"] = analysis_df[\"dref_id\"].notna()\n", + "\n", + "analysis_df[\"nb_sources\"] = analysis_df[[\"gdacs\",\"glide\",\"cerf\",\"charter\",\"emdat\",\"idmc\", \"dref\"]].sum(axis = 1)\n", + "\n", + "#analysis_df.loc[analysis_df['nb_sources'] > 1, ['nb_sources','gdacs','glide','cerf','charter','emdat','idmc', 'dref']].value_counts().reset_index().head(10)\n", + "#analysis_df['nb_sources'].value_counts()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "5c94a4c3-ca89-4e1b-9376-681b64a55d24", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Number of events per source')" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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wmrYsKF27dp1313vienUqZMKFy6soKAgZc2aVdu2bVOGDBn03nvvKSgoSOXLl9epU6e0atUq65CA1Mhh/mon/X/Il19+qRdffNHpOIW4uDg5HA65ublp7dq1CgkJ0eXLl52+GeTNm1e9e/dWnz59NHToUH311VdOw/0nT57Uk08+qT179qhMmTKqVq2aypYt63QtrNmzZ6t3796KiorS7du3lS5dOi1dutTpJ43atGmjK1euaMWKFQ+1PtHR0fLz81NUVJR8fX0fdbMo3xsP/+3qQU6NqZsk/QBAauZwOLR8+XKnzwekLEn1+e1qKSoeP/fcc9q3b58iIiKsW1BQkFq2bGn9nTZtWqfLFRw5ckSnT5+2zjgLDg7Wvn37nM6CWrdunXx9fVWsWDGrzZ8vebBu3TqrDw8PD5UrV86pTXx8vDZs2PBIZ7YBAAD821LU2c0ZMmTQU0895TTNx8dHWbJksaZ36NBBffv2VebMmeXr66vXXntNwcHBqlSpkiSpZs2aKlasmFq1aqX33ntPkZGRGjJkiLp37y5PT09JUteuXTV16lQNGDBA7du318aNG7V48WKn4yH69u2rNm3aKCgoSBUqVNCkSZN0/fp162xnAACA5CxFhcSHMXHiRLm5ualx48aKiYlRaGio008Cubu765tvvlG3bt0UHBwsHx8ftWnTRm+//bbVJjAwUCtXrlSfPn00efJk5c6dW7NmzbIufyNJzZo108WLFzV06FBFRkaqdOnSWrNmje1kFgBA6pKCjvJCCpeijklMaTgmEQCA/x6OSQQAAECKRUgEAACADSERAAAANoREAAAA2KS6s5uBe3FSDwAAiWMkEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADZpXF0A/kOG+yVRP1FJ0w8AAHhsCIlAUiBAAwBSGHY3AwAAwIaQCAAAABtCIgAAAGwIiQAAALAhJAIAAMCGkAgAAAAbQiIAAABsCIkAAACwISQCAADAhpAIAAAAG0IiAAAAbAiJAAAAsCEkAgAAwIaQCAAAABtCIgAAAGwIiQAAALAhJAIAAMCGkAgAAAAbQiIAAABsCIkAAACwISQCAADAhpAIAAAAG0IiAAAAbAiJAAAAsCEkAgAAwIaQCAAAABtCIgAAAGxSVEj88MMPVbJkSfn6+srX11fBwcFavXq1Nf/WrVvq3r27smTJovTp06tx48Y6f/68Ux+nT59W3bp1lS5dOmXLlk39+/dXbGysU5vNmzerbNmy8vT0VIECBRQWFmarZdq0acqXL5+8vLxUsWJF/fjjj49lnQEAAB6HFBUSc+fOrTFjxig8PFy7d+/Ws88+qxdeeEEHDhyQJPXp00dff/21lixZoi1btujs2bNq1KiRtXxcXJzq1q2r27dva/v27frss88UFhamoUOHWm1OnjypunXrqkaNGoqIiFDv3r3VsWNHrV271mqzaNEi9e3bV8OGDdOePXtUqlQphYaG6sKFC//exgAAAPgHHMYY4+oiHqfMmTPr/fffV5MmTZQ1a1bNnz9fTZo0kSQdPnxYRYsW1Y4dO1SpUiWtXr1a9erV09mzZ5U9e3ZJ0owZMzRw4EBdvHhRHh4eGjhwoFauXKn9+/dbj9G8eXNduXJFa9askSRVrFhR5cuX19SpUyVJ8fHxCggI0GuvvaY33njjvrXGxMQoJibGuh8dHa2AgABFRUXJ19f3kbdBvjdWPvKy9zrl9XKS9KPhUUnTTxJg2wAAklp0dLT8/Pz+8ee3q6WokcR7xcXFaeHChbp+/bqCg4MVHh6uO3fuKCQkxGpTpEgR5cmTRzt27JAk7dixQyVKlLACoiSFhoYqOjraGo3csWOHUx8JbRL6uH37tsLDw53auLm5KSQkxGpzP6NHj5afn591CwgI+GcbAQAA4BGluJC4b98+pU+fXp6enuratauWL1+uYsWKKTIyUh4eHsqYMaNT++zZsysyMlKSFBkZ6RQQE+YnzHtQm+joaN28eVOXLl1SXFxcom0S+rifQYMGKSoqyrqdOXPmb68/AABAUkjj6gKSWuHChRUREaGoqCgtXbpUbdq00ZYtW1xd1kPx9PSUp6enq8sAAABIeSHRw8NDBQoUkCSVK1dOu3bt0uTJk9WsWTPdvn1bV65ccRpNPH/+vPz9/SVJ/v7+trOQE85+vrfNn8+IPn/+vHx9feXt7S13d3e5u7sn2iahDwAAgOQuxe1u/rP4+HjFxMSoXLlySps2rTZs2GDNO3LkiE6fPq3g4GBJUnBwsPbt2+d0FvK6devk6+urYsWKWW3u7SOhTUIfHh4eKleunFOb+Ph4bdiwwWoDAACQ3KWokcRBgwapdu3aypMnj65evar58+dr8+bNWrt2rfz8/NShQwf17dtXmTNnlq+vr1577TUFBwerUqVKkqSaNWuqWLFiatWqld577z1FRkZqyJAh6t69u7UbuGvXrpo6daoGDBig9u3ba+PGjVq8eLFWrvy/s2T79u2rNm3aKCgoSBUqVNCkSZN0/fp1tWvXziXbBQAA4O9KUSHxwoULat26tc6dOyc/Pz+VLFlSa9eu1fPPPy9Jmjhxotzc3NS4cWPFxMQoNDRU06dPt5Z3d3fXN998o27duik4OFg+Pj5q06aN3n77batNYGCgVq5cqT59+mjy5MnKnTu3Zs2apdDQUKtNs2bNdPHiRQ0dOlSRkZEqXbq01qxZYzuZBQAAILlK8ddJ/C9LqusscS3A+2PbAACSGtdJBAAAQIpFSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAA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3H/VN998Y7y8vMzEiRPNd999Z3r27GkcDofZsWOHMcaY69evm3HjxpkCBQqYvn37urja5GXp0qUme/bspnr16qZ27drG29vbTJ8+3RhjzI0bN0yRIkVMUFCQ+eGHH1xcafJCSMQj6d+/v8mZM6eZOHGi+e2336zp165ds/6+c+eOqVWrlqlXr16K3Q2UsF4bNmwwQ4cONe+++645ffq0McaYLVu2GF9fX9O4cWPz2WefmU2bNpnXXnvNZMyY0ezbt8+VZf9rYmJizPjx403OnDlNq1atrN1j9x5+sHfvXvO///3PVSW6XMJzaOPGjSZTpkxm1qxZxpi728XhcJgiRYo4hcFff/3VLF261HqepSQJ26J3797G09PTLFu2zMTGxpqYmBjTr18/kylTJtOuXTur/c2bN03dunVNnTp1nL7ApjTx8fHm9u3bplmzZmbEiBHGmLvPg/z581uH+SSIiooykydPNidOnHBFqcnS3r17TbZs2axQ+NNPPxmHw2H69OljvRfduHHDZM2a1VSrVs3cunXLleUmK4RE/G0rV640OXLkMNu3b7em3RsCb9y4YWbPnm1CQkJMqVKlrJGjlPomvmrVKuPj42MqV65sihQpYp544gnz448/GmOM2b59uwkJCTEBAQEmf/78pnz58uann35ybcGPScJz4Pjx4+bQoUPWN/K4uDjz/vvvm4oVK5oePXpYI4ap7TjVey1btsysW7fOuh8dHW0GDx5s3n77bWOMMadPnzZ58+Y1HTp0MDVq1DCBgYEp/vjDe4+fO3PmjGnQoIF54oknzJdffmmMMebUqVOmQYMGpnTp0qZly5Zm0KBBplq1aqZEiRIp9j0m4TV1+fJlY4wxBQsWNKtWrTJXrlwxuXLlMp07d7bazJgxw/rymVK/lP9dCc+HL7/80oSGhhpjjDl58qTJnTu30/G9hw8fNsbc/ez6856f1I5jEvG3nT59WgULFlTFihVtZ9AZY3Tp0iWdP39eAQEB2r17t9KmTWsdu5gS7dq1SxMmTND333+vr7/+Ws8++6yee+457dy5U8HBwVq6dKl2796t9evXa926dSpdurSrS05y5v8fL7V8+XLVqlVLzZs3V0hIiFq2bKlDhw6pT58+atCggXbv3q0hQ4YoOjpaadKkcXXZLnHq1Cm9+eabmjZtmnVsaoYMGVStWjU1aNBAUVFR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vjA1a9Y0WbJkMVWrVjXVq1c3OXLkYJeO+b8P9mHDhpkqVapYJ3clTP/444+Nt7e3qVmzpjWimNI899xz5qmnnjJz5861XiPff/+98fHxMc2bNzeXLl0ycXFxZu7cuaZ69erGzc3N5M+f3wQFBaW4YzITJPz/Fy1aZJo2bWqCg4NNunTpTL58+cwXX3xhjDGmVatWpkiRIubzzz+3vefg7peNrl27msmTJzsF6Pr165vs2bObb775xty6dcuMGjXKPPvss+bOnTsE7YdESISZOnWq8fX1NTNnzrSuYXf58mUzadIkc+3aNbN582aTK1cu8+GHH5rY2FjTokUL43A4TI8ePVxc+eOTsCts586dJn/+/OaVV15xui5kt27djLe3t5k7d6717T7B2bNn/9VaXWHdunWmUKFC5tSpU8YY5y8Hhw4dMgsXLjS9e/c2M2bMMMePH3dVmcnSwoULTZo0aawvYAm++OILU7JkSVOvXj2nC9SnBPc+P5o2bWqKFi1qPvvsMxMVFWWMMWbbtm3G09PTNG/e3Fy8eNFqu3PnTrNv374Ut5fiz3bu3GnSpUtnPvnkE3P48GFz7Ngx88wzz5jy5ctbI4pt27Y12bJle+BZ3qnRrl27TL169UypUqWsL1f3Htby4osvmsyZM5unn37a+Pn5paorTiQFQiKMMXdPRClcuLD5+OOPzR9//GGMMdbPxvXs2dO0b9/eCkNvvPGGef75581zzz2XokYO75UQEqOioszYsWNNxowZTYsWLZx2PXft2tV4eXmZefPm2YJiSrd8+XITEBDgFBITttmmTZsIhub/Roj27t1rNmzYYPbu3WvN69Chg/H19bUujGyMMYMHDzZvvfWWdWmTlOTeEVNjjGndurUpXLiw+eyzz6wvpglB8eWXXza//vqrrY+UenyvMcZ89NFHplixYk7vI7/99pupUqWKyZs3r/nqq6+MMXffc7jYs7N9+/aZKlWqmLRp05qxY8da02NiYqy/P/roIzN58uQUfwmpx4GQmMrd+42rTZs2pmTJkuajjz6y3rhv3bplqlatalq2bGmMuXvQ+YsvvmgWLlxoLZdSh+2XLFlismTJYrp162Zq1Khh0qRJYxo1auT0257du3c3Docj1X27P3HihPH29jaDBw+2zevVq5cZOnSo07UyU6tly5aZLFmymKxZs5rSpUub119/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kzV+/HiNGzdOP//8s0JDQ9WgQQMdO3bsbz3GjRs3NHbsWM2aNUsHDhxQtmzZ1Lp1ay1YsEBTpkzRoUOH9NFHHyl9+vSSpCtXrujZZ59VmTJltHv3bq1Zs0bnz59X06ZNH8cmAJBKpXF1AQCQnJ07d06xsbFq1KiR8ubNK0kqUaKEJGncuHEaOHCgmjdvLkkaO3asNm3apEmTJmnatGkP/Rh37tzR9OnTVapUKUnS0aNHtXjxYq1bt04hISGSpCeffNJqP3XqVJUpU0bvvvuuNe3TTz9VQECAjh49qkKFCv2zlQYAERIB4IFKlSql5557TiVKlFBoaKhq1qypJk2ayN3dXWfPnlXlypWd2leuXFl79+79W4/h4eGhkiVLWvcjIiLk7u6u6tWrJ9p+79692rRpkzWyeK/jx48TEgEkCUIiADyAu7u71q1bp+3bt+vbb7/VBx98oDfffFPr1q37y2Xd3O4e0WOMsabduXPH1s7b21sOh8Pp/oNcu3ZN9evX19ixY23zcuTI8Zd1AcDD4JhEAPgLDodDlStX1ogRI/TTTz/Jw8NDGzZsUM6cObVt2zanttu2bVOxYsUkSVmzZpV0d5d1goiIiL98vBIlSig+Pl5btmxJdH7ZsmV14MAB5cuXTwUKFHC6+fj4POJaAoAzQiIAPMAPP/ygd999V7t379bp06f1xRdf6OLFiypatKj69++vsWPHatGiRTpy5IjeeOMNRUREqFevXpKkAgUKKCAgQMOHD9exY8e0cuVKjR8//i8fM1++fGrTpo3at2+vL7/8UidPntTmzZu1ePFiSVL37t31xx9/qEWLFtq1a5eOHz+utWvXql27doqLi3us2wNA6sHuZgB4AF9fX23dulWTJk1SdHS08ubNq/Hjx6t27doKDQ1VVFSUXn/9dV24cEHFihXTV199pYIFC0qS0qZNqwULFqhbt24qWbKkypcvr1GjRumll176y8f98MMPNXjwYL366qv6/ffflSdPHg0ePFiSrBHMgQMHqmbNmoqJiVHevHlVq1Ytaxc3APxTDnPvwTIAAACA2N0MAACARBASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgA0hEQAAADaERAAAANgQEgEAAGBDSAQAAIANIREAAAA2hEQAAADYEBIBAABgQ0gEAACADSERAAAANoREAAAA2BASAQAAYENIBAAAgM3/A/0cjdSIKH31AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nb_events = []\n", + "valid_events = []\n", + "\n", + "source_list = [\"gdacs\",\"idmc\",\"cerf\",\"emdat\",\"glide\", \"dref\",\"charter\"]\n", + "source_df_dict = {\n", + " \"gdacs\" : input_gdacs_df,\n", + " \"idmc\" : input_idmc_df,\n", + " \"cerf\" : input_cerf_df,\n", + " \"emdat\" : input_emdat_df,\n", + " \"glide\" : input_glide_df,\n", + " \"dref\" : input_dref_df,\n", + " \"charter\" : input_charter_df,\n", + "}\n", + "\n", + "for source in source_list:\n", + " col_id = source + \"_id\"\n", + " nb_events.append(source_df_dict[source].shape[0])\n", + " valid_events.append( len(analysis_df.loc[(analysis_df[col_id].notna()), col_id].unique()) )\n", + "\n", + "\n", + "\n", + "count_df = pd.DataFrame()\n", + "count_df[\"source\"] = source_list\n", + "count_df[\"Database size\"] = nb_events\n", + "count_df[\"Unique valid events\"] = valid_events\n", + "\n", + "ax = count_df.plot.bar(x = \"source\", rot = 45)\n", + "ax.set_title(\"Number of events per source\")" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "38b0d03c-894c-46f9-83fe-0ec10de76b10", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "#df = input_gdacs_df['event_type'].copy()\n", + "#df = input_idmc_df['type'].copy()\n", + "#df = input_cerf_df['emergency_type'].copy()\n", + "#df = input_emdat_df['Disaster Type'].copy()\n", + "#df = input_glide_df['Event_Code'].copy()\n", + "#df = input_dref_df['dtype.name'].copy()\n", + "#df = input_charter_df['Type of Event'].copy()\n", + "\n", + "#df.fillna('', inplace = True)\n", + "#print(df.value_counts().shape[0])\n", + "#df.value_counts(True).head(20)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "1e27b2fc-3563-4eb4-b17e-94c2bbfdfb12", + "metadata": {}, + "outputs": [], + "source": [ + "no_match_list = []\n", + "match_list = []\n", + "\n", + "source_list = [\"gdacs\",\"idmc\",\"cerf\",\"emdat\",\"glide\", \"dref\",\"charter\"]\n", + "\n", + "for source in source_list:\n", + " col_id = source + \"_id\"\n", + "\n", + " x = len(analysis_df.loc[(analysis_df[col_id].notna()) & (analysis_df[\"nb_sources\"] == 1), col_id].unique())\n", + " y = len(analysis_df.loc[(analysis_df[col_id].notna()) & (analysis_df[\"nb_sources\"] > 1), col_id].unique())\n", + " no_match_list.append(x)\n", + " match_list.append(y)\n", + "\n", + "plot_df = pd.DataFrame()\n", + "plot_df[\"source\"] = source_list\n", + "plot_df[\"no_match\"] = no_match_list\n", + "plot_df[\"match\"] = match_list\n", + "plot_df[\"total\"] = plot_df[\"no_match\"] + plot_df[\"match\"]\n", + "plot_df[\"score\"] = plot_df[\"match\"]/plot_df[\"total\"]\n", + "plot_df[\"legend\"] = plot_df.apply(lambda row : row[\"source\"] + \" - \" + str(int(row[\"score\"]*100)) + \"%\", axis = 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "2fcb7241-8b08-495b-81e4-35bf06685cf3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Matching events')" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAo8AAAJcCAYAAACYOk76AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAg0tJREFUeJzs3XdYFFfbBvB7WToIWEBEUFFs2EVFTOwoKprYsUTRGI3GEiXWaOw9sSW2JPqKGhsxagwWRGyJYlSMir1iB7EAitKf7w+/nbgRk4kRFpf7d11ckZmzs8+c7A73zpw5qxERARERERGRCiaGLoCIiIiI3h4Mj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RE/y84OBgajQbHjh37x7aNGjVCo0aNcr4oIqI8huGRiHKNLpxpNBr89ttvL60XEbi5uUGj0aB169av9RzTp0/Hli1b/mOl9F88ffoUEydOxL59+wxdChHlAIZHIsp1lpaWWLt27UvL9+/fj1u3bsHCwuK1t51b4XHXrl3YtWtXjj/P2+jp06eYNGkSwyORkWJ4JKJc16pVK/z444/IyMjQW7527Vp4eXnB2dnZQJWpZ25uDnNzc0OXQUSU6xgeiSjXde3aFQ8ePEB4eLiyLC0tDRs3bkS3bt2yfcxXX32FevXqoXDhwrCysoKXlxc2btyo10aj0SA5ORkrV65ULo/36tVLWX/79m306dMHLi4usLCwgLu7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pBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpZlThccaMGahduzYKFCgAJycntG3bFhcuXNBr06hRI2g0Gr2f/v3767W5ceMG/P39YW1tDScnJ4wYMQIZGRl6bfbt24eaNWvCwsICHh4eCA4OfqmeRYsWoVSpUrC0tIS3tzeOHDnyxveZiIiIKDcZVXjcv38/Bg4ciMOHDyM8PBzp6elo3rw5kpOT9dr17dsXd+/eVX5mz56trMvMzIS/vz/S0tJw6NAhrFy5EsHBwRg/frzS5tq1a/D390fjxo1x4sQJDB06FB999BHCwsKUNhs2bEBQUBAmTJiA48ePo1q1avDz88O9e/dyviOIiIiIcohGRMTQReSU+Ph4ODk5Yf/+/WjQoAGA52ceq1evjvnz52f7mB07dqB169a4c+cOihYtCgBYunQpRo0ahfj4eJibm2PUqFHYtm0bTp8+rTyuS5cuSEhIwM6dOwEA3t7eqF27NhYuXAgAyMrKgpubGwYPHozRo0erqj8pKQn29vZITEyEnZ3d63YDMNH+9R+bEyYmGrqCP7FviIjoDXtjf7/zKKM68/hXiYnP/xAXKlRIb/maNWtQpEgRVK5cGWPGjMHTp0+VdZGRkahSpYoSHAHAz88PSUlJOHPmjNLG19dXb5t+fn6IjIwEAKSlpSEqKkqvjYmJCXx9fZU22UlNTUVSUpLeDxEREVFeYmroAnJKVlYWhg4dinfeeQeVK1dWlnfr1g0lS5aEi4sLTp06hVGjRuHChQvYtGkTACA2NlYvOAJQfo+Njf3bNklJSXj27BkePXqEzMzMbNucP3/+lTXPmDEDkyZNev2dJiIiIsphRhseBw4ciNOnT+O3337TW96vXz/l31WqVEGxYsXQtGlTXLlyBWXKlMntMvWMGTMGQUFByu9JSUlwc3MzYEVERERE+owyPA4aNAihoaE4cOAAXF1d/7att7c3AODy5csoU6YMnJ2dX7orOi4uDgDg7Oys/Fe37MU2dnZ2sLKyglarhVarzbaNbhvZsbCwgIWFhbqdJCIiIjIAoxrzKCIYNGgQNm/ejD179sDd3f0fH3PixAkAQLFixQAAPj4+iI6O1rsrOjw8HHZ2dvD09FTaRERE6G0nPDwcPj4+AABzc3N4eXnptcnKykJERITShoiIiOhtZFRnHgcOHIi1a9fi559/RoECBZQxivb29rCyssKVK1ewdu1atGrVCoULF8apU6cwbNgwNGjQAFWrVgUANG/eHJ6enujRowdmz56N2NhYjBs3DgMHDlTOCvbv3x8LFy7EyJEj8eGHH2LPnj0ICQnBtm3blFqCgoIQGBiIWrVqoU6dOpg/fz6Sk5PRu3fv3O8YIiIiojfEqMLjkiVLADyfjudFK1asQK9evWBubo7du3crQc7NzQ0dOnTAuHHjlLZarRahoaEYMGAAfHx8YGNjg8DAQEyePFlp4+7ujm3btmHYsGFYsGABXF1dsWzZMvj5+SltAgICEB8fj/HjxyM2NhbVq1fHzp07X7qJhoiIiOhtYtTzPL7tOM9jLmDfEBHRG8Z5HomIiIiI/h/DIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRakYVHmfMmIHatWujQIECcHJyQtu2bXHhwgW9NikpKRg4cCAKFy4MW1tbdOjQAXFxcXptbty4AX9/f1hb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Ajdu3IBGo8HQoUMxdepUbN26FdHR0ejZsydcXFyUO7IrVqyIFi1aoG/fvjhy5AgOHjyIQYMGoUuXLnBxcQEAdOvWDebm5ujTpw/OnDmDDRs2YMGCBQgKClLq+PTTT7Fz507MmTMH58+fx8SJE3Hs2DEMGjQot7uEiIiI6I0xNXQBb9qxY8fQuHFj5XddoAsMDERwcDBGjhyJ5ORk9OvXDwkJCXj33Xexc+dOWFpaKo9Zs2YNBg0ahKZNm8LExAQdOnTA119/ray3t7fHrl27MHDgQHh5eaFIkSIYP3683lyQ9erVw9q1azFu3Dh8/vnnKFu2LLZs2YLKlSvnQi8QERER5Qyjnufxbcd5HnMe53mk15KX3lN56P1ERM9xnkciIiIiov/H8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqpoYugIjyqIn2hq7gTxMTDV0BERH9P555JCIiIiLVGB6JiIiISDWGRyIiIiJSjeGRiIiIiFRjeCQiIiIi1Xi3NRERvTm8S5/I6PHMIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpZmroAijnlUpZa+gS9MQYugAiIiJ6bTzzSERERESqMTwSERERkWoMj0RERESkGsMjEREREamW78LjxIkTodFo9H4qVKigrE9JScHAgQNRuHBh2NraokOHDoiLi9Pbxo0bN+Dv7w9ra2s4OTlhxIgRyMjI0Guzb98+1KxZExYWFvDw8EBwcHBu7B4RERFRjsp34REAKlWqhLt37yo/v/32m7Ju2LBh+OWXX/Djjz9i//79uHPnDtq3b6+sz8zMhL+/P9LS0nDo0CGsXLkSwcHBGD9+vNLm2rVr8Pf3R+PGjXHixAkMHToUH330EcLCwnJ1P4mIiIjetHw5VY+pqSmcnZ1fWp6YmIjly5dj7dq1aNKkCQBgxYoVqFixIg4fPoy6deti165dOHv2LHbv3o2iRYuievXqmDJlCkaNGoWJEyfC3Nwc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VFQUg+NrYngkiIgSHMeMGYNhw4YhNDQUT58+NXBlhqM7K7Jp0ya0adMGX331FRITEw1dlsEULlwY/fv3R82aNREREYFdu3YB+DNAWltbo3///hgyZEi+udz4T9LT0zF06FBUrlwZS5YsQceOHfHuu+++dLessdxM9Xde/HC6fPlyDB06FF26dMHWrVuRkZFh4OoMQ0Tg4uICPz8/dO7cGS1atECvXr2yPfNI6uleT+np6X/brkOHDqhRo0ZulGScDDLSkvKkqVOnSpEiReTYsWPy9OlTQ5djcLt37xYrKytZsWKF3L1719Dl5CrdwPLk5GRJTk5Wlh88eFCaN28uTZs2lYiICGW57mYZDubX9/jxYylfvryYm5vL3LlzRSR/31A0YsQIcXV1lY8//lhGjRolGo1GZsyYIc+ePTN0aQYzfvx40Wg0Uq5cOTl58qSI8H30unTvratXr0q9evXk5s2bBq7IeBn/R15SJTExEQcPHsTs2bPh5eWF+/fvIyIiAgEBAfj6669x4cIFQ5eYq0QEv/zyC3r27IlevXrByckJAPLFVDTy/2ddt2/fjnbt2qFhw4Zo1KgRIiIiUK9ePYwZMwaWlpaYMWMG9u3bBwDKBM28tKYvIyMDGRkZcHFxwYIFC3D9+vV8O6VReHg4NmzYgE2bNmHp0qV47733AACurq6vHAdqzNLS0pT5BUeMGIEqVapg4MCBOHjwIN9Hr+nFqdPKlCmD4sWLG7oko8XwmE/9dfyRiYkJLly4gCNHjmDPnj0YOnQovvjiC8THx2PKlCkICQkxUKWGISKIiorCkydPADzvHxFR7iB+8OCB0s7YaDQabNu2DZ06dUK9evWwcOFCAECPHj1w/PhxNGrUCEOHDoW1tTVGjhyJX3/91cAV510ODg74/fffcfjwYZQqVQr169dXAqTuPfj48WMDV/nmLViw4KX9evDgAapWrYratWsjJCQEfn5+WLx4MT744AMkJCTg0qVLBqo2d+mOGaamptBqtVi1ahVmzZqFDz/8EAULFsTo0aNx6NAhA1f59njxGJySkoKxY8fC398fK1euZAjPSQY860kGovsyeBGRH374QX799VcREdm4caMULVpUHBwcZPTo0bJnzx4RERk0aJB07tzZILUaSkZGhgwdOlRatWolN27cUJZnZWXJ1atXpWfPnv84N9vbKCsrS548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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "\n", + "ax = plot_df[[\"legend\",\"match\",\"no_match\"]].plot.bar(x = \"legend\", stacked=True, rot = 45)\n", + "ax.set_title(\"Matching events\")" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "0b38c9b8-7320-459c-bded-eaafd679e1fb", + "metadata": {}, + "outputs": [], + "source": [ + "df = analysis_df.copy()\n", + "N = len(diag_source_list)\n", + "\n", + "value_matrix = list()\n", + "\n", + "for i in range(N):\n", + "\n", + "\n", + " new_matrix = list()\n", + " for j in range(N):\n", + "\n", + " col_i = diag_source_list[i].lower()\n", + " col_j = diag_source_list[j].lower()\n", + " if i == j or i > j:\n", + " z = 0\n", + " else:\n", + " z = df[(df[col_i]) & (df[col_j])].shape[0]\n", + "\n", + " new_matrix.append(z)\n", + " value_matrix.append(new_matrix)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "28dbe9cc-4162-4970-933b-ced26899c489", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " GDACS IDMC CERF EMDAT GLIDE DREF CHARTER\n", + "GDACS 0 22274 2862 17312 15842 9205 1622\n", + "IDMC 0 0 812 15900 13150 8179 1655\n", + "CERF 0 0 0 1749 2397 1432 136\n", + "EMDAT 0 0 0 0 15367 8558 1730\n", + "GLIDE 0 0 0 0 0 8072 1427\n", + "DREF 0 0 0 0 0 0 1025\n", + "CHARTER 0 0 0 0 0 0 0\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Create matrix dataframe (3 x 6)\n", + "\n", + "diag_source_list = [\"GDACS\", \"IDMC\", \"CERF\", \"EMDAT\", \"GLIDE\", \"DREF\", \"CHARTER\"]\n", + "\n", + "row_names = diag_source_list\n", + "col_names = diag_source_list\n", + "matrix_data = value_matrix\n", + "matrix_df = pd.DataFrame(matrix_data, index=row_names, columns=col_names)\n", + "\n", + "# Initialize from matrix (Can also directly load tsv matrix file)\n", + "circos = Circos.initialize_from_matrix(\n", + " matrix_df,\n", + " start=-265,\n", + " end=95,\n", + " space=5,\n", + " r_lim=(93, 100),\n", + " cmap=\"tab10\",\n", + " label_kws=dict(r=94, size=12, color=\"white\"),\n", + " link_kws=dict(ec=\"black\", lw=0.5),\n", + ")\n", + "\n", + "print(matrix_df)\n", + "fig = circos.plotfig()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47802143-877e-47fd-a7bc-933817b98bfc", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "c677540c-0bf5-48c8-9bd1-e85f542b5a89", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "## Notes" + ] + }, + { + "cell_type": "markdown", + "id": "6f30423f-3d06-47f3-a29e-69f3c5f3f58f", + "metadata": {}, + "source": [ + "Notes\n", + "\n", + "\n", + "- Miscellaneous:\n", + "\n", + " - No unique ID for Charter source as activation id is sometimes NULL.\n", + " - GDACS seems to have lots of duplicates. Some cleanup is needed\n", + " - Should we drop conflict events? What about epidemics? What about displacement without a identified cause?\n", + " - Some sources have a glide_number id (but very often empty). Add this to the matching\n", + " - GDACS matching with other sources is highly dependent on the alert level (72% for red, 61% for orange, 19% for green)\n", + "\n", + "\n", + "####################################\n", + "\n", + "To do:\n", + "\n", + "- Create a mapping for GLIDE event type categories\n", + "\n", + "- Evaluate CERF event categories, specially if we can have more info on displacement activations\n", + "\n", + "- Approval date (CERF) may be a few days later than the event date. For now I've used 14 days as a threshold but more investigation is needed\n", + " (maybe depending on event type)\n", + "\n", + "- Map CERF and Charter country names to iso_code\n", + "\n", + "\n", + "- Some sources have multiple event types => think about how to add multi-event index\n", + "\n", + "- Think about how to handle event with only month and year data (no day)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "f585e090", + "metadata": {}, + "source": [] + }, + { + "cell_type": "markdown", + "id": "348f4e39", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/src/cerf/data_acquisition_scrape.py b/src/cerf/data_acquisition_scrape.py new file mode 100644 index 0000000..8d0c71c --- /dev/null +++ b/src/cerf/data_acquisition_scrape.py @@ -0,0 +1,164 @@ +from datetime import datetime + +import pandas as pd +import requests +from bs4 import BeautifulSoup + +BASE_URL = "https://cerf.un.org/what-we-do/allocation/all/emergency/" +DETAILS_BASE_URL = "https://cerf.un.org/what-we-do/allocation/" + +def fetch_emergency_list(): + cerf_url = "https://cerf.un.org/fundingByEmergency/all" + response = requests.get(cerf_url) + if response.status_code == 200: + return response.json() + print(f"Error fetching CERF emergency list: {response.status_code}") + return [] + +def clean_text(cell): + return cell.get_text(separator=" ").strip() + +def clean_approved_amount(amount): + """Remove 'US$' and commas from approved_amount field and return as a number string""" + return amount.replace("US$", "").replace("US $", "").replace(",", "").strip() + +def clean_date_format(date_text): + """Reformat date from 'DD MMM YYYY' to 'DD/MM/YYYY'""" + try: + return datetime.strptime(date_text, "%d %b %Y").strftime("%d/%m/%Y") + except ValueError: + return date_text # Keep as-is if it doesn't match expected format + +def fetch_project_details(allocation_code, project_code, year, emergency_id): + """Dynamically build the link for each project and scrape additional details. + """ + details_url = f"{DETAILS_BASE_URL}{year}/emergency/{emergency_id}/{allocation_code}/{project_code}" + response = requests.get(details_url) + + if response.status_code == 200: + soup = BeautifulSoup(response.content, "html.parser") + + # Scrape the 'Group(s) of people targeted' if available + groups_targeted_element = soup.find("div", string="Group(s) of people targeted") + groups_targeted = groups_targeted_element.find_next("div").text.strip() if groups_targeted_element else "N/A" + + # Scrape the 'Number of people targeted' if available + number_of_people_element = soup.find("div", string="Number of people targeted") + number_of_people = number_of_people_element.find_next("div").text.strip() if number_of_people_element else "N/A" + + # Scrape the 'Implementation dates' if available + implementation_dates_element = soup.find("div", string="Implementation dates") + if implementation_dates_element: + implementation_dates = implementation_dates_element.find_next("div").text.strip() + implementation_dates = implementation_dates.replace("\n", " | ").replace("Project start:", "Start:").replace("Project end:", "End:") + else: + implementation_dates = "N/A" + + return { + "groups_targeted": groups_targeted, + "number_of_people_targeted": number_of_people, + "implementation_dates": implementation_dates, + } + + print(f"Error fetching project details from {details_url}: {response.status_code}") + return { + "groups_targeted": "N/A", + "number_of_people_targeted": "N/A", + "implementation_dates": "N/A", + } + +def fetch_emergency_details(link_id): + url = f"{BASE_URL}{link_id}" + response = requests.get(url) + + if response.status_code == 200: + soup = BeautifulSoup(response.content, "html.parser") + + year_range_element = soup.find("div", {"class": "field--name-field-year"}) + year_range = year_range_element.text.strip() if year_range_element else "Unknown" + + total_amount_element = soup.find("div", {"class": "field--name-field-total-amount"}) + total_amount = total_amount_element.text.strip() if total_amount_element else "Unknown" + + table = soup.find("table") + + table_data = [] + + if table: + rows = table.find_all("tr") + + for row in rows[1:]: + cells = row.find_all("td") + + # Skip summary or total rows + if any(cell.has_attr("colspan") for cell in cells): + continue + + if len(cells) >= 8: + try: + allocation_code = clean_text(cells[0]) + allocation = clean_text(cells[1]) + emergency_type = clean_text(cells[2]) + agency = clean_text(cells[3]) + country = clean_text(cells[4]) + project_code = clean_text(cells[5]) + project_description = clean_text(cells[6]) + window = clean_text(cells[7]).replace("Window:", "").strip() + sector = clean_text(cells[8]).replace("Sector:", "").strip() + approved_amount = clean_approved_amount(clean_text(cells[9])) + approval_date = clean_date_format(clean_text(cells[10]).replace("Approval date:", "").strip()) + disbursement_date = clean_date_format(clean_text(cells[11]).replace("Disbursement date:", "").strip()) + + # Fetch additional project details dynamically + project_details = fetch_project_details(allocation_code, project_code, year_range.split("-")[0], link_id) + + table_data.append({ + "link_id": link_id, + "allocation_code": allocation_code, + "allocation": allocation, + "emergency_type": emergency_type, + "agency": agency, + "country": country, + "project_code": project_code, + "project_description": project_description, + "window": window, + "sector": sector, + "approved_amount": approved_amount, + "approval_date": approval_date, + "disbursement_date": disbursement_date, + "groups_targeted": project_details["groups_targeted"], + "number_of_people_targeted": project_details["number_of_people_targeted"], + "implementation_dates": project_details["implementation_dates"], + }) + except IndexError as e: + print(f"Error processing row: {cells} - {e}") + continue + + return table_data + print(f"Error fetching data for link ID {link_id}: {response.status_code}") + return [] + +def main(): + emergency_list = fetch_emergency_list() + + if not emergency_list: + print("No emergency data found.") + return + + all_table_data = [] + + for emergency in emergency_list: + link_id = emergency["link_id"] + name = emergency["name"] + print(f"Fetching data for link ID {link_id} ({name})...") + table_data = fetch_emergency_details(link_id) + all_table_data.extend(table_data) + + df = pd.DataFrame(all_table_data) + output_csv = "./data_raw/cerf/cerf_emergency_data.csv" + df.to_csv(output_csv, index=False) + + print(f"Data saved to {output_csv}") + +if __name__ == "__main__": + main() diff --git a/src/disaster_charter/data_acquisition_scrape.py b/src/disaster_charter/data_acquisition_scrape.py new file mode 100644 index 0000000..40c26ff --- /dev/null +++ b/src/disaster_charter/data_acquisition_scrape.py @@ -0,0 +1,147 @@ +"""Disaster Charter activations scraper +• Loops 2025→2000 through the JSON filter API +• Visits each legacy detail page (/web/guest/activations/-/article/) +• Extracts full table (type, location, timezone …) +• Writes CSV identical to the October-2024 format +""" + +import csv +import os +import re +import time +from datetime import datetime + +import requests +from bs4 import BeautifulSoup + +# ---------------------------------------------------------------------- +# CONFIG +# ---------------------------------------------------------------------- + +BASE_API = "https://disasterscharter.org/api-proxy/cos-api/api/public/library/activations" +BASE_SITE = "https://disasterscharter.org" +YEAR_FROM = 2000 +YEAR_TO = 2025 # inclusive +HEADERS = {"User-Agent": "Mozilla/5.0"} +SLEEP_SEC = 0.35 # polite delay between page hits + +OUT_DIR = "./data_raw/disaster_charter/" +CSV_PATH = os.path.join(OUT_DIR, "disaster_activations_web_scrape_2000_2025.csv") +os.makedirs(OUT_DIR, exist_ok=True) + +# ---------------------------------------------------------------------- +# LABEL MAPPING & DETAIL SCRAPER +# ---------------------------------------------------------------------- + +LABEL_PATTERNS = { + "type_of_event" : r"type of event", + "location_of_event" : r"location of event", + "date_of_activation" : r"date of charter activation", + "time_of_activation" : r"time of charter activation", + "timezone" : r"time zone of charter activation", + "charter_requestor" : r"charter requestor", + "activation_id" : r"activation id", + "project_management" : r"project management", + "value_adding" : r"value adding", +} + +def scrape_detail_page(slug: str) -> dict: + """Slug e.g. 'flood-in-nigeria-activation-963-' + Fetches /web/guest/activations/-/article/ + """ + url = f"{BASE_SITE}/web/guest/activations/-/article/{slug}" + resp = requests.get(url, headers=HEADERS, timeout=25) + if resp.status_code != 200: + print(" ⚠️ detail page 404:", slug) + return {k: "N/A" for k in LABEL_PATTERNS} + + soup = BeautifulSoup(resp.content, "html.parser") + + def pull(regex: str) -> str: + pat = re.compile(regex + r":?$", re.IGNORECASE) + lbl = soup.find(lambda tag: tag.string and pat.search(tag.string.strip())) + if not lbl: + return "N/A" + val_cell = lbl.find_next("td") if lbl.name == "th" else lbl.find_next() + return val_cell.get_text(strip=True) if val_cell else "N/A" + + return {k: pull(rgx) for k, rgx in LABEL_PATTERNS.items()} + +# ---------------------------------------------------------------------- +# MAIN COLLECTION LOOP +# ---------------------------------------------------------------------- + +def collect_rows(): + rows = [] + + # ▶︎ reverse order: newest year first + for yr in range(YEAR_TO, YEAR_FROM - 1, -1): + print(f"• Year {yr}") + params = { + "from": f"{yr}-01-01 00:00:00", + "to" : f"{yr}-12-31 23:59:59", + } + try: + data = requests.get(BASE_API, headers=HEADERS, params=params, timeout=25).json() + acts = data.get("activations", []) + except Exception as e: + print(" ↳ API error:", e) + continue + + for act in acts: + slug = act.get("slug", "") + if not slug: + continue + + ts = act.get("dateAsTimestamp") + if ts: + dt = datetime.utcfromtimestamp(ts / 1000) + year, month = dt.year, dt.strftime("%B") + date_str = dt.strftime("%Y-%m-%d") + pretty_date = dt.strftime("%d %A") # ▶︎ 16 Wednesday + else: + year = month = date_str = pretty_date = "N/A" + + title = act.get("title", "N/A") + page_link = f"{BASE_SITE}/web/guest/activations/-/article/{slug}" + + details = scrape_detail_page(slug) + time.sleep(SLEEP_SEC) + + rows.append([ + year, month, date_str, title, pretty_date, page_link, + details["type_of_event"], + details["location_of_event"], + details["date_of_activation"], + details["time_of_activation"], + details["timezone"], + details["charter_requestor"], + details["activation_id"], + details["project_management"], + details["value_adding"], + ]) + + return rows + +# ---------------------------------------------------------------------- +# CSV WRITER +# ---------------------------------------------------------------------- + +def save_csv(rows): + header = [ + "Year","Month","Date","Disaster","Formatted Date","Details Link", + "Type of Event","Location of Event","Date of Activation","Time of Activation", + "Timezone","Charter Requestor","Activation ID","Project Management","Value Adding", + ] + with open(CSV_PATH, "w", newline="", encoding="utf-8") as fh: + csv.writer(fh).writerows([header] + rows) + print(f"✅ Saved {len(rows)} rows → {CSV_PATH}") + +# ---------------------------------------------------------------------- +# RUN +# ---------------------------------------------------------------------- + +if __name__ == "__main__": + rows = collect_rows() + if rows: + save_csv(rows) diff --git a/src/gdacs/data_acquisition_api.py b/src/gdacs/data_acquisition_api.py index ab54a80..6fbe0e6 100644 --- a/src/gdacs/data_acquisition_api.py +++ b/src/gdacs/data_acquisition_api.py @@ -8,7 +8,7 @@ import requests SEARCH_URL = "https://www.gdacs.org/gdacsapi/api/events/geteventlist/SEARCH" -OUTPUT_DIR = "./data_raw/gdacs_v2_run/" +OUTPUT_DIR = "./data_raw/gdacs/" pathlib.Path(OUTPUT_DIR).mkdir(parents=True, exist_ok=True) @@ -32,7 +32,7 @@ def fetch_events( params["fromDate"], params["toDate"], ) - + response = None try: response = requests.get(SEARCH_URL, params=params, timeout=10) response.raise_for_status() @@ -57,17 +57,9 @@ def fetch_events( "to_date": feature["properties"].get("todate", "N/A"), "alert_level": feature["properties"].get("alertlevel", "N/A"), "countries": ", ".join( - c["countryname"] - for c in feature["properties"].get("affectedcountries", []) - ), - "iso3": ", ".join( - c["iso3"] + f"{c['countryname']} ({c.get('iso3','')})" for c in feature["properties"].get("affectedcountries", []) ), - "location": [ - c["countryname"] - for c in feature["properties"].get("affectedcountries", []) - ], "population": feature["properties"].get("population", "N/A"), "severity": feature["properties"] .get("severitydata", {}) @@ -85,7 +77,7 @@ def fetch_events( event_type, params["fromDate"], params["toDate"], - response.text[:200], + response.text[:200] if response is not None else "No response", ) return [] @@ -102,7 +94,7 @@ def fetch_events( def main() -> None: """Main function to fetch GDACS events and save them to CSV files.""" start_date = datetime(2000, 1, 1, tzinfo=timezone.utc) - end_date = datetime(2024, 11, 28, tzinfo=timezone.utc) + end_date = datetime(2025, 5, 28, tzinfo=timezone.utc) interval = timedelta(days=30) event_types = ["EQ", "TS", "TC", "FL", "VO", "DR", "WF"] diff --git a/src/glide/data_acquisition_scrape.py b/src/glide/data_acquisition_scrape.py new file mode 100644 index 0000000..cbb052f --- /dev/null +++ b/src/glide/data_acquisition_scrape.py @@ -0,0 +1,104 @@ +"""Data acquisition script for Glide Number using Selenium and BeautifulSoup.""" + +from pathlib import Path + +import pandas as pd +from bs4 import BeautifulSoup +from selenium import webdriver +from selenium.webdriver.common.by import By +from selenium.webdriver.firefox.options import Options as FirefoxOptions +from selenium.webdriver.firefox.service import Service as FirefoxService +from selenium.webdriver.support import expected_conditions as ec +from selenium.webdriver.support.ui import WebDriverWait + +URL = "https://glidenumber.net/glide/public/result/report.jsp" +GECKODRIVER_PATH = "/usr/local/bin/geckodriver" +PROFILE_PATH = ( + "/home/evangelos/snap/firefox/common/.mozilla/firefox/" + "cf7shfvv.selenium_profile" +) + + +Path("./data_raw/glide_v2/").mkdir(parents=True, exist_ok=True) +CSV_OUTPUT = "./data_raw/glide/glide_data_combined_all.csv" + +def scrape_with_selenium() -> str: + """Use Selenium to interact with the Glide Number website and return the rendered. + + HTML as a string. + """ + options = FirefoxOptions() + options.headless = False # type: ignore[attr-defined] + options.add_argument("-profile") + options.add_argument(PROFILE_PATH) + + service = FirefoxService(GECKODRIVER_PATH) + driver = webdriver.Firefox(service=service, options=options) + + try: + driver.get(URL) + + WebDriverWait(driver, 20).until( + ec.presence_of_element_located((By.NAME, "variables")), + ) + + variables_field = driver.find_element(By.NAME, "variables") + for option in variables_field.find_elements(By.TAG_NAME, "option"): + driver.execute_script("arguments[0].selected = true;", option) + + unlimited_checkbox = driver.find_element(By.NAME, "unlimited") + if not unlimited_checkbox.is_selected(): + unlimited_checkbox.click() + + continue_button = driver.find_element(By.NAME, "continueReport") + continue_button.click() + + WebDriverWait(driver, 60).until( + ec.presence_of_element_located( + ( + By.XPATH, + "//table[@border='1' and @width='100%']//tr", + ), + ), + ) + + return driver.page_source + + finally: + driver.quit() + +def parse_html_to_dataframe(html: str) -> pd.DataFrame: + """Parse the rendered HTML using BS and return the data as a DataFrame.""" + soup = BeautifulSoup(html, "html.parser") + + data_table = soup.find( + "table", + { + "cellspacing": "1", + "cellpadding": "1", + "border": "1", + "width": "100%", + }, + ) + if not data_table: + return pd.DataFrame() + + headers = [th.text.strip() for th in data_table.find_all("th")] # type: ignore[attr-defined] + + rows = [] + for tr in data_table.find_all("tr")[1:]: # type: ignore[union-attr] + cells = [td.text.strip() for td in tr.find_all("td")] # type: ignore[attr-defined] + # Filter out rows like "Hits:0" + if len(cells) == len(headers) and not any("Hits:" in cell for cell in cells): + rows.append(cells) + + return pd.DataFrame(rows, columns=headers) + +if __name__ == "__main__": + rendered_html = scrape_with_selenium() + data_df = parse_html_to_dataframe(rendered_html) + + if not data_df.empty: + data_df.to_csv(CSV_OUTPUT, index=False) + else: + pass From 173693a5c083ef66679f9b73c15792293147a6a5 Mon Sep 17 00:00:00 2001 From: ediakatos Date: Fri, 6 Jun 2025 10:28:02 +0100 Subject: [PATCH 5/5] notebook documentation --- .pre-commit-config.yaml | 3 +- docs/NOTEBOOK_DATASETS.md | 61 +++++++++++ notebooks/process_sandbox.ipynb | 184 ++++++-------------------------- 3 files changed, 98 insertions(+), 150 deletions(-) create mode 100644 docs/NOTEBOOK_DATASETS.md diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1652a8b..e5b0496 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,8 @@ exclude: | notebooks/process_sandbox\.ipynb| src/cerf/data_acquisition_scrape\.py| src/disaster_charter/data_acquisition_scrape\.py| - src/glide/data_acquisition_scrape\.py + src/glide/data_acquisition_scrape\.py| + docs/NOTEBOOK_DATASETS\.md )$ repos: diff --git a/docs/NOTEBOOK_DATASETS.md b/docs/NOTEBOOK_DATASETS.md new file mode 100644 index 0000000..f9ac577 --- /dev/null +++ b/docs/NOTEBOOK_DATASETS.md @@ -0,0 +1,61 @@ +# Notebook Data Sources + +This document outlines the datasets consumed by the analysis notebooks. All datasets were downloaded in June 2025 and represent the latest available versions. + +## Dataset Sources + +- **GDACS** (API): + - Description: Global Disaster Alert and Coordination System events. + - Download Method: API + - Location: `data/gdacs/` + - Files: `gdacs_events_*.csv` + +- **IDMC IDUS** (API): + - Description: Internal Displacement Monitoring Centre IDUS dump. + - Download Method: API + - Location: `data/idmc_idu/` + - File: `idus_all.json` + +- **CERF** (Web Scrape): + - Description: CERF emergency data. + - Download Method: Web scrape + - Location: `data/cerf/` + - File: `cerf_emergency_data_dynamic_web_scrape.csv` + +- **Disaster Charter** (Web Scrape): + - Description: Charter activations. + - Download Method: Web scrape + - Location: `data/disaster-charter/` + - File: `charter_activations_web_scrape_2000_2025.csv` + +- **GLIDE** (Web Scrape): + - Description: GLIDE events. + - Download Method: Web scrape + - Location: `data/glide/` + - File: `glide_events.csv` + +- **EMDAT** (Manual Download): + - Description: EM-DAT custom request. + - Download Method: Manual download + - Location: `data/emdat/` + - File: `public_emdat_custom_request_2025-06-04_c1e3334f-e027-4f8a-92d5-7ce401c7654c.xlsx` + +- **IFRC EME** (Manual Download): + - Description: IFRC emergencies. + - Download Method: Manual download + - Location: `data/ifrc_dref/` + - File: `IFRC_emergencies.csv` + +## Usage in Notebooks + +The notebooks (`exploration.ipynb`, `process_sandbox.ipynb`) read these files directly from the `data/` directory to perform exploratory analysis and data processing. + +## Notebook Analysis Logic + +The `process_sandbox.ipynb` notebook performs the following steps: + +- **Data Preprocessing**: Loads each dataset, renames and cleans columns, standardizes event dates, and maps event types to a common taxonomy. +- **Event Matching**: Combines all sources into a single `disaster_df` by merging events based on date proximity, event type, and country, creating boolean flags for each source. +- **Summary Table ("Number of events per source")**: Shows the total number of events originally in each dataset and the number of unique valid events after preprocessing. +- **Matching Events Table**: Compares, for each source, how many events are exclusive (only appear in that source) versus matched across multiple sources, and displays match percentages. +- **Overlap Matrix & Chord Diagram**: Constructs a matrix counting the number of shared events for every pair of sources and visualizes these overlaps as a circular chord diagram using `pycirclize`. diff --git a/notebooks/process_sandbox.ipynb b/notebooks/process_sandbox.ipynb index a995f31..f16aa6c 100644 --- a/notebooks/process_sandbox.ipynb +++ b/notebooks/process_sandbox.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 47, + "execution_count": 1, "id": "7fd4519c-da46-4871-a4fc-7a3901a72ada", "metadata": {}, "outputs": [], @@ -12,8 +12,6 @@ "\n", "import numpy as np\n", "import pandas as pd\n", - "\n", - "## pycirclize package is only necessary for the last plot. Installed it with pip instead of conda on my machine\n", "from pycirclize import Circos\n", "\n" ] @@ -30,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 2, "id": "838deefe-151a-4450-8136-f638f6e59c54", "metadata": {}, "outputs": [], @@ -48,7 +46,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 3, "id": "2879a7f7-2a67-4cb2-b210-2f567c79fa40", "metadata": {}, "outputs": [], @@ -71,20 +69,11 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 4, "id": "13c3271a-9d45-4d6a-832f-55e0453254f4", "metadata": {}, "outputs": [], "source": [ - "\n", - "# This dictionary is just a placeholder for a preliminary event taxonomy. Has to be replaced\n", - "# by a proper function with less hard-coding. Event type who are not on this dictionary\n", - "# are not converted on the current version.\n", - "\n", - "# The following events are covered as output:\n", - "# Drought (DR) / Floods (FL) / Epidemics (EP) / Earthquake (EQ)\n", - "# Volcano (VO) / Landslide (LS) / Storm + Tropical Cyclone (TC/ST)\n", - "# Fires (WF) / Heat + Cold Waves (HW / CW) / Displacement (-)\n", "\n", "event_dict = {\n", " \"Drought\":\"DR\",\n", @@ -151,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 5, "id": "1f56bb68-7e47-46bd-a892-e2db7f20e668", "metadata": {}, "outputs": [], @@ -163,7 +152,6 @@ "input_gdacs_df = pd.DataFrame()\n", "for file_year in range(2000,2025):\n", " filename = \"../data/gdacs/gdacs_events_\" + str(file_year) +\".csv\"\n", - " #filename = '../data_raw/gdacs/gdacs_events_' + str(file_year) +'.csv'\n", " new_df = pd.read_csv(filename)\n", "\n", " input_gdacs_df = pd.concat([input_gdacs_df, new_df])\n", @@ -195,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 6, "id": "fe157c75-b24e-4c5c-ae2a-cf7638162c1d", "metadata": {}, "outputs": [ @@ -203,7 +191,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "/tmp/ipykernel_132203/2704803438.py:11: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", @@ -217,7 +205,6 @@ "#Load data\n", "date_col = \"event_date\"\n", "filename = \"../data/glide/glide_events.csv\"\n", - "#filename = '../data_raw/glide/glide_events.csv'\n", "input_glide_df = pd.read_csv(filename)\n", "\n", "#Rename key columns\n", @@ -238,7 +225,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 7, "id": "1495b634-8a88-454d-8b30-2efbad9da4ab", "metadata": {}, "outputs": [ @@ -246,7 +233,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "/tmp/ipykernel_132203/2704803438.py:11: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", @@ -259,7 +246,6 @@ "\n", "#Load data\n", "filename = \"../data/cerf/cerf_emergency_data_dynamic_web_scrape.csv\"\n", - "#filename = '../data_raw/cerf/cerf_emergency_data_dynamic_web_scrape.csv'\n", "input_cerf_df = pd.read_csv(filename)\n", "date_col = \"approval_date\"\n", "\n", @@ -281,7 +267,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 8, "id": "a9bf0407-3d1c-4c3e-bf04-8f9b0069d99b", "metadata": {}, "outputs": [ @@ -289,7 +275,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "/tmp/ipykernel_132203/2704803438.py:11: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", @@ -302,7 +288,6 @@ "\n", "#Load data\n", "filename = \"../data/disaster-charter/charter_activations_web_scrape_2000_2025.csv\"\n", - "#filename = '../data_raw/disaster-charter/charter_activations_web_scrape_2000_2025.csv'\n", "input_charter_df = pd.read_csv(filename)\n", "date_col = \"date\"\n", "\n", @@ -332,7 +317,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 9, "id": "2355c4c3-4bce-49ef-a7b6-84ec89f0cc81", "metadata": {}, "outputs": [ @@ -340,7 +325,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "/tmp/ipykernel_132203/2704803438.py:11: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", @@ -353,7 +338,6 @@ "\n", "#Load data\n", "filename = \"../data/emdat/public_emdat_custom_request_2025-06-04_c1e3334f-e027-4f8a-92d5-7ce401c7654c.xlsx\"\n", - "#filename = '../data_raw/emdat/public_emdat_custom_request_2025-06-04_c1e3334f-e027-4f8a-92d5-7ce401c7654c.xlsx'\n", "input_emdat_df = pd.read_excel(filename)\n", "date_col = \"start_date\"\n", "\n", @@ -381,7 +365,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 10, "id": "88cadbb1-1716-408a-86c0-1546f8d8cd22", "metadata": {}, "outputs": [ @@ -389,7 +373,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "/tmp/ipykernel_132203/2704803438.py:11: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", @@ -402,12 +386,10 @@ "\n", "#Load data\n", "filename = \"../data/idmc_idu/idus_all.json\"\n", - "#filename = '../data_raw/idmc_idu/idus_all.json'\n", "input_idmc_df = pd.read_json(filename)\n", "date_col = \"event_start_date\"\n", "\n", "df = input_idmc_df.copy()\n", - "#df = df[df['displacement_type'] == 'Disaster'] # we may want to filter out events who are not disaster\n", "\n", "#Rename key columns\n", "col_list = [\"id\",\"type\",\"iso3\",\"country\",\"event_start_date\"]\n", @@ -427,7 +409,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 11, "id": "89887462-b053-4769-84e0-9e7f680bf19f", "metadata": {}, "outputs": [ @@ -435,7 +417,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_785094/621467075.py:13: SettingWithCopyWarning: \n", + "/tmp/ipykernel_132203/2704803438.py:11: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", @@ -448,7 +430,6 @@ "\n", "#Load data\n", "filename = \"../data/ifrc_dref/IFRC_emergencies.csv\"\n", - "#filename = '../data_raw/ifrc_dref/IFRC_emergencies.csv'\n", "input_dref_df = pd.read_csv(filename, on_bad_lines=\"skip\")\n", "date_col = \"disaster_start_date\"\n", "df = input_dref_df.copy()\n", @@ -484,7 +465,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 12, "id": "757c5a8d-f9b0-4045-820b-58a0ff533e35", "metadata": {}, "outputs": [], @@ -507,7 +488,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 13, "id": "63f0d274-f799-499c-a0a9-668e055d9f9f", "metadata": {}, "outputs": [], @@ -562,7 +543,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 14, "id": "497d8a4a-a991-4498-8ffb-ac87ae3ef5f5", "metadata": {}, "outputs": [], @@ -608,7 +589,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 15, "id": "cb4a66c2-3f1c-47dc-9c17-5d2d9150fb09", "metadata": {}, "outputs": [], @@ -622,26 +603,6 @@ "disaster_df = add_new_source(disaster_df, dref_df, \"dref\")\n" ] }, - { - "cell_type": "markdown", - "id": "93e177c7-14de-4a60-a355-d2dea4df8c3e", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "6d698df3-2e11-4c41-abc0-01638a6ea280", - "metadata": {}, - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "62d10bcf-3a0b-492a-a3da-b8fd2e2195b4", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "id": "23d981b1-7e84-4383-ba63-5a9e60948860", @@ -657,7 +618,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 16, "id": "902a85d2-4d59-4a65-9289-51117cc0dd15", "metadata": {}, "outputs": [], @@ -672,15 +633,12 @@ "analysis_df[\"idmc\"] = analysis_df[\"idmc_id\"].notna()\n", "analysis_df[\"dref\"] = analysis_df[\"dref_id\"].notna()\n", "\n", - "analysis_df[\"nb_sources\"] = analysis_df[[\"gdacs\",\"glide\",\"cerf\",\"charter\",\"emdat\",\"idmc\", \"dref\"]].sum(axis = 1)\n", - "\n", - "#analysis_df.loc[analysis_df['nb_sources'] > 1, ['nb_sources','gdacs','glide','cerf','charter','emdat','idmc', 'dref']].value_counts().reset_index().head(10)\n", - "#analysis_df['nb_sources'].value_counts()\n" + "analysis_df[\"nb_sources\"] = analysis_df[[\"gdacs\",\"glide\",\"cerf\",\"charter\",\"emdat\",\"idmc\", \"dref\"]].sum(axis = 1)" ] }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 17, "id": "5c94a4c3-ca89-4e1b-9376-681b64a55d24", "metadata": {}, "outputs": [ @@ -690,7 +648,7 @@ "Text(0.5, 1.0, 'Number of events per source')" ] }, - "execution_count": 63, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, @@ -738,28 +696,7 @@ }, { "cell_type": "code", - "execution_count": 64, - "id": "38b0d03c-894c-46f9-83fe-0ec10de76b10", - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "#df = input_gdacs_df['event_type'].copy()\n", - "#df = input_idmc_df['type'].copy()\n", - "#df = input_cerf_df['emergency_type'].copy()\n", - "#df = input_emdat_df['Disaster Type'].copy()\n", - "#df = input_glide_df['Event_Code'].copy()\n", - "#df = input_dref_df['dtype.name'].copy()\n", - "#df = input_charter_df['Type of Event'].copy()\n", - "\n", - "#df.fillna('', inplace = True)\n", - "#print(df.value_counts().shape[0])\n", - "#df.value_counts(True).head(20)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 65, + "execution_count": 18, "id": "1e27b2fc-3563-4eb4-b17e-94c2bbfdfb12", "metadata": {}, "outputs": [], @@ -788,7 +725,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 19, "id": "2fcb7241-8b08-495b-81e4-35bf06685cf3", "metadata": {}, "outputs": [ @@ -798,7 +735,7 @@ "Text(0.5, 1.0, 'Matching events')" ] }, - "execution_count": 66, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, @@ -822,7 +759,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 22, "id": "0b38c9b8-7320-459c-bded-eaafd679e1fb", "metadata": {}, "outputs": [], @@ -851,7 +788,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 23, "id": "28dbe9cc-4162-4970-933b-ced26899c489", "metadata": {}, "outputs": [ @@ -910,68 +847,17 @@ { "cell_type": "code", "execution_count": null, - "id": "47802143-877e-47fd-a7bc-933817b98bfc", + "id": "390bb516", "metadata": {}, "outputs": [], "source": [] }, { - "cell_type": "markdown", - "id": "c677540c-0bf5-48c8-9bd1-e85f542b5a89", - "metadata": { - "jp-MarkdownHeadingCollapsed": true - }, - "source": [ - "## Notes" - ] - }, - { - "cell_type": "markdown", - "id": "6f30423f-3d06-47f3-a29e-69f3c5f3f58f", - "metadata": {}, - "source": [ - "Notes\n", - "\n", - "\n", - "- Miscellaneous:\n", - "\n", - " - No unique ID for Charter source as activation id is sometimes NULL.\n", - " - GDACS seems to have lots of duplicates. Some cleanup is needed\n", - " - Should we drop conflict events? What about epidemics? What about displacement without a identified cause?\n", - " - Some sources have a glide_number id (but very often empty). Add this to the matching\n", - " - GDACS matching with other sources is highly dependent on the alert level (72% for red, 61% for orange, 19% for green)\n", - "\n", - "\n", - "####################################\n", - "\n", - "To do:\n", - "\n", - "- Create a mapping for GLIDE event type categories\n", - "\n", - "- Evaluate CERF event categories, specially if we can have more info on displacement activations\n", - "\n", - "- Approval date (CERF) may be a few days later than the event date. For now I've used 14 days as a threshold but more investigation is needed\n", - " (maybe depending on event type)\n", - "\n", - "- Map CERF and Charter country names to iso_code\n", - "\n", - "\n", - "- Some sources have multiple event types => think about how to add multi-event index\n", - "\n", - "- Think about how to handle event with only month and year data (no day)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "f585e090", - "metadata": {}, - "source": [] - }, - { - "cell_type": "markdown", - "id": "348f4e39", + "cell_type": "code", + "execution_count": null, + "id": "9166ad79", "metadata": {}, + "outputs": [], "source": [] } ],