From b26c597ac8358eb4f3c9a8c15b9f95d0ba13e59d Mon Sep 17 00:00:00 2001 From: Kamil Raczycki Date: Tue, 3 Sep 2024 00:13:00 +0200 Subject: [PATCH] feat: release 0.0.1 --- .gitignore | 167 + .pre-commit-config.yaml | 73 + LICENSE | 201 + README.md | 4 + docs/.pages | 4 + docs/api/CLI.md | 3 + docs/assets/css/docstrings.css | 68 + docs/assets/css/font.css | 10 + docs/assets/css/jupyter.css | 66 + docs/assets/css/logo.css | 7 + docs/assets/css/palette.css | 7 + docs/assets/logos/favicon.ico | Bin 0 -> 15406 bytes docs/assets/logos/overturemaestro_logo.png | Bin 0 -> 688425 bytes docs/copy_examples.py | 33 + docs/copy_readme.py | 8 + docs/gen_cli_docs.py | 75 + docs/gen_ref_pages.py | 41 + docs/javascripts/copy_to_clipboard_patch.js | 38 + docs/templates/python/material/class.html | 140 + docs/templates/python/material/function.html | 94 + mkdocs.yml | 140 + overturemaestro/__init__.py | 25 + overturemaestro/_geometry_clustering.py | 77 + overturemaestro/_parquet_multiprocessing.py | 274 + overturemaestro/_rich_progress.py | 60 + overturemaestro/conftest.py | 35 + overturemaestro/data_downloader.py | 422 ++ overturemaestro/functions.py | 297 ++ overturemaestro/release_index.py | 384 ++ pdm.lock | 4830 ++++++++++++++++++ pdm.toml | 2 + pyproject.toml | 201 + tests/__init__.py | 0 33 files changed, 7786 insertions(+) create mode 100644 .gitignore create mode 100644 .pre-commit-config.yaml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 docs/.pages create mode 100644 docs/api/CLI.md create mode 100644 docs/assets/css/docstrings.css create mode 100644 docs/assets/css/font.css create mode 100644 docs/assets/css/jupyter.css create mode 100644 docs/assets/css/logo.css create mode 100644 docs/assets/css/palette.css create mode 100644 docs/assets/logos/favicon.ico create mode 100644 docs/assets/logos/overturemaestro_logo.png create mode 100644 docs/copy_examples.py create mode 100644 docs/copy_readme.py create mode 100644 docs/gen_cli_docs.py create mode 100644 docs/gen_ref_pages.py create mode 100644 docs/javascripts/copy_to_clipboard_patch.js create mode 100644 docs/templates/python/material/class.html create mode 100644 docs/templates/python/material/function.html create mode 100644 mkdocs.yml create mode 100644 overturemaestro/__init__.py create mode 100644 overturemaestro/_geometry_clustering.py create mode 100644 overturemaestro/_parquet_multiprocessing.py create mode 100644 overturemaestro/_rich_progress.py create mode 100644 overturemaestro/conftest.py create mode 100644 overturemaestro/data_downloader.py create mode 100644 overturemaestro/functions.py create mode 100644 overturemaestro/release_index.py create mode 100644 pdm.lock create mode 100644 pdm.toml create mode 100644 pyproject.toml create mode 100644 tests/__init__.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5004789 --- /dev/null +++ b/.gitignore @@ -0,0 +1,167 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm-project.org/#use-with-ide +.pdm.toml +.pdm-python +.pdm-build/ + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +cache/ +release_indexes/ +files/ +overture_bounding_boxes/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..e757e6f --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,73 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +default_stages: [commit] +repos: + - repo: https://github.com/compilerla/conventional-pre-commit + rev: v3.4.0 + hooks: + - id: conventional-pre-commit + stages: [commit-msg] + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: 'v0.5.6' + hooks: + - id: ruff + args: [--fix, --exit-non-zero-on-fix, --show-fixes] + - repo: https://github.com/PyCQA/docformatter + rev: v1.7.5 + hooks: + - id: docformatter + additional_dependencies: [tomli] + args: ["--in-place", "--config", "./pyproject.toml"] + - repo: https://github.com/pre-commit/mirrors-mypy + rev: v1.11.1 + hooks: + - id: mypy + additional_dependencies: ['types-requests', 'types-six'] + - repo: https://github.com/pdm-project/pdm + rev: 2.17.3 + hooks: + - id: pdm-lock-check + - id: pdm-export + args: ["-o", "requirements.txt", "--without-hashes", "-dG:all"] + files: ^pdm.lock$ + stages: [manual] + - repo: https://github.com/kynan/nbstripout + rev: 0.7.1 + hooks: + - id: nbstripout + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.6.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-toml + - id: check-yaml + exclude: mkdocs.yml # See https://github.com/readthedocs/readthedocs.org/issues/6889 + - id: check-added-large-files + args: ['--maxkb=1000'] + - id: detect-private-key + - repo: https://github.com/dosisod/refurb + rev: v2.0.0 + hooks: + - id: refurb + args: ["--python-version", "3.9", "--format", "github"] + language: python + language_version: python3.10 + stages: [manual] + - repo: https://github.com/FHPythonUtils/LicenseCheck + rev: "2024.2" + hooks: + - id: licensecheck + stages: [manual] + +ci: + autofix_commit_msg: | + fix(pre-commit.ci): auto fixes from pre-commit.com hooks + + for more information, see https://pre-commit.ci + autofix_prs: true + autoupdate_branch: "" + autoupdate_commit_msg: "build(pre-commit.ci): pre-commit autoupdate" + autoupdate_schedule: monthly + skip: [] + submodules: false diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..ff84a64 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +

+
+ Generated using DALL·E 3 model with this prompt: Cute stylized conducting virtuoso using a paper map as music sheet. White background, minimalistic, vector graphics, clean background, encased in a circle. In navy and gold colours. Logo for a python library, should work well as small icon. +

diff --git a/docs/.pages b/docs/.pages new file mode 100644 index 0000000..ea746d5 --- /dev/null +++ b/docs/.pages @@ -0,0 +1,4 @@ +nav: + - Home: README.md + - Examples: examples + - ... diff --git a/docs/api/CLI.md b/docs/api/CLI.md new file mode 100644 index 0000000..25af5a6 --- /dev/null +++ b/docs/api/CLI.md @@ -0,0 +1,3 @@ +# CLI Reference + +Text below is a captured `--help` command output. diff --git a/docs/assets/css/docstrings.css b/docs/assets/css/docstrings.css new file mode 100644 index 0000000..501f86b --- /dev/null +++ b/docs/assets/css/docstrings.css @@ -0,0 +1,68 @@ +.doc-class > .doc-heading-code, +.doc-function > .doc-heading-code { + font-size: 1rem !important; + margin-top: -1em !important; + display: flex; +} + +.doc-class > .doc-heading-code .highlight, +.doc-function > .doc-heading-code .highlight { + flex-grow: 1; +} + +.doc-class > .doc-heading-code a, +.doc-function > .doc-heading-code a { + margin-top: auto; + margin-bottom: auto; +} + +.doc-class > .doc-labels, +.doc-function > .doc-labels { + margin-top: -1.2rem; + display: block; + font-size: 1.2em; +} + +/* Indentation. */ +div.doc-contents:not(.first) { + padding-left: 25px; + border-left: 0.05rem solid var(--md-typeset-table-color); +} + +/* Mark external links as such. */ +a.external::after, +a.autorefs-external::after { + /* https://primer.style/octicons/arrow-up-right-24 */ + mask-image: url('data:image/svg+xml,'); + -webkit-mask-image: url('data:image/svg+xml,'); + content: " "; + + display: inline-block; + vertical-align: middle; + position: relative; + + height: 1em; + width: 1em; + background-color: var(--md-typeset-a-color); +} + +a.external:hover::after, +a.autorefs-external:hover::after { + background-color: var(--md-accent-fg-color); +} + +table.highlighttable td.linenos, +span.linenos, +.highlight .gp, +.highlight .go { + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} + +.highlight code { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, + "Liberation Mono", "Courier New", monospace, SFMono-Regular, Consolas, Menlo, + monospace; +} diff --git a/docs/assets/css/font.css b/docs/assets/css/font.css new file mode 100644 index 0000000..5950ebe --- /dev/null +++ b/docs/assets/css/font.css @@ -0,0 +1,10 @@ +@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+Mono&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+Mono&text=┌─┬┐└┴┘│├┼┤╭╮╰╯&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Euphoria+Script&display=swap"); + + +.md-header__topic:first-child { + font-family: "Euphoria Script"; + font-size: 1.6rem; + color: var(--overturemaestro-text-color); +} diff --git a/docs/assets/css/jupyter.css b/docs/assets/css/jupyter.css new file mode 100644 index 0000000..6ef4771 --- /dev/null +++ b/docs/assets/css/jupyter.css @@ -0,0 +1,66 @@ +.jp-InputArea-prompt, +.jp-Cell-inputCollapser { + visibility: collapse; + display: none !important; +} + +.jp-OutputArea-prompt { + visibility: hidden; + background-color: red; + position: absolute; + right: 0; +} + +.jp-CodeCell>.jp-Cell-outputWrapper { + margin-top: -10px; + padding-top: 0; + display: table-cell; + text-align: left; +} + +.jp-Cell-outputWrapper>.jp-Cell-outputCollapser { + margin-top: -17px; +} + +.jupyter-wrapper table.dataframe tr, +.jupyter-wrapper table.dataframe th, +.jupyter-wrapper table.dataframe td { + text-align: left; +} + +.jupyter-wrapper table.dataframe { + table-layout: auto; +} + +.jp-RenderedImage.jp-OutputArea-output { + text-align: center; +} + +.jupyter-wrapper .zeroclipboard-container { + z-index: 3 !important; +} + +div.highlight pre code, +div.jp-RenderedText.jp-OutputArea-output>pre, +div.jp-RenderedText.jp-OutputArea-output.jp-OutputArea-executeResult>pre { + font-family: "Noto Sans Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, + "Liberation Mono", "Courier New", monospace, SFMono-Regular, Consolas, Menlo, + monospace; + white-space: pre; + overflow-x: auto; + line-height: normal; +} + +.jupyter-wrapper .jp-Notebook { + overflow: hidden !important; +} + +div.admonition p { + margin-top: 0.6rem; + margin-bottom: 0.6rem; +} + +.jupyter-wrapper .jp-RenderedText pre .ansi-bold { + font-weight: normal !important; + text-shadow: calc(-0.06ex) 0 0 currentColor, calc(0.06ex) 0 0 currentColor; +} diff --git a/docs/assets/css/logo.css b/docs/assets/css/logo.css new file mode 100644 index 0000000..461d02b --- /dev/null +++ b/docs/assets/css/logo.css @@ -0,0 +1,7 @@ +.md-header__button.md-logo { + padding: 0.1rem; +} + +.md-header__button.md-logo img, .md-header__button.md-logo svg { + height: 1.8rem; +} diff --git a/docs/assets/css/palette.css b/docs/assets/css/palette.css new file mode 100644 index 0000000..f836c1b --- /dev/null +++ b/docs/assets/css/palette.css @@ -0,0 +1,7 @@ +:root > * { + --overturemaestro-brand-color: #111F3F; + --overturemaestro-text-color: #CAA14B; + --md-primary-fg-color: var(--overturemaestro-brand-color); + --md-primary-fg-color--light: var(--overturemaestro-brand-color); + --md-primary-fg-color--dark: var(--overturemaestro-brand-color); +} diff --git a/docs/assets/logos/favicon.ico b/docs/assets/logos/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8312499adcc383708d96b7a8dddec1fd2af1fc52 GIT binary patch literal 15406 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 }G{xg6V~gt+$0T#Pl%Dcxs6xq!8l7 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�(b358K0cOj-9(OHZkdTs1UZ3q$J7tMuUtIUY=2XR=W^|j+_B@ z;RTmI6$cC^kj_paOTLxI>X@p_!R^c_%T%s1$F-=PkUqIC%Z1xr`JX#{p33Cx%pfQ~ zK1EJ{1iww`3xqmickwXQJJ-SK>mU@$96@P;4|DDyq)Ey*}Dm0wJ_dSL!_ zt81_bqq-KfXE9D@Ro&B>3^ICsRWZalk&S8hnifVCrwi||S~yiaKF-d;%R{3N<$;rZ zwh>E*2Cz=MX>x4XXUJ^ssLq3Kl|PM7Mn=Y+o&7FiHfV2|WEEv!+aHhOd6zx|&$@g) zMsL#jG;(q7(pPJfO|UjVl%Zv4L8e5!x5dd|cTHbk4}N`PAFlt+7Eb66;EX1NLM-cQ zic5H2;p@j->j_(hz_iElgbi1&KO-Kyqh!DX+F1WQo& zA3;}lisoM329VCXc)eA)Zgdj9jI@Kt?cUG=h*_9@7(Tm>hq8N^r)qOGzy4l}Ei%~{ zUw?|+Cc>`1`-PZl7=PNn?;9hQopw58=yiB}65DnSV|;3w@zDdRJclpGRV&_hP#w=q zeUL?%gdl(U9HRLwu<>rZ^IzYH(@r@S`KeK)*?wwqNpXvOD4&*3(#nly@6X$5dw(Ly z2~99*u{e0uUp2yE8^OXWy_V2Um~vXxX_}6Nd6n7UtB^x(K3`$tkMrl@?E<6tbxP$1 z<1YPR!9;whjo@U^?F?``ULuh$dQ8y|`y(WIO|YfX@H&dAd<2uZ2&Q?>vLAGhFLY?6 zUiXM0Cp)H_V_zwKw%1sqY{ygwq|>ImS~wDOO-u~vT#?_s5VgwPLwTy#COH4HZ$z!3 z85w$6H{-V+!f~`hb46Ir-t6z2fn$OG6;4g9UDY3xq|5e@g`T`W>q$9A3n-$UV>5{M ztQ(3;3p-BlStk@9qlhPxNTyP@SfdoQP?O2%6)5*glMv2>#Y6k*1)Q?kE_LDkdjDZ) zC#314%$7gxtSh3wryB<@_lq9u8u6q65He03m=j%VlJqy zkqa2?M08;7f4aNbQLoa~g5H6Ye>ETXY}$hBe)1c9`D<6<*MGX52?y`y$61lt0O{$W z??l}@k7bk^z*-H22CRfl%IIu&YJm8cW+#~AgeJ$9^vy4LIxc_iGqG;KOh;MU|tK%djipzdyS%2 zoor5LL*eX6C!v+i06t!SRSuR83}B$A*UYN73gzq~v55(cjEy0yvxI_yzM>8DtDO=a^>}I- ziYJJxJOtw}%hldN56gpQI$@m!XRAzU7`>+0%4e_tjf`UR{r6*d z=P-8c9Kn{YTQD**OkJF?Gc*#37<#(9uzcAHtX;Pjt5zL=b!*pPXh}coI{D0}5!dTd zN|HQ_Z)25L>55K@(#}!KyrE9{nHTS;HfqaO>ACvVu{yDv;p;_NM(v}qzSgfh3tM)f z_OlA%{MOIA^5*l$tNIhQ3Cy##CqbX-&s88&K7Y0mL1qNybI%#6Br#G z$LPqIwej6uDYjKz_9}B%DuJa-hH&8O)fgP;1&5D}Rc)xwoRjQH4CBu}3_ndtt9dCIRl9Ge^5PEN< zm-X`P(J1V`0GE4}vUEr$x6|?JYk!Q3E_?xojy#O_Y=49H-i@EwFT27};I^T(6@yxM zGcnF+F^-*C;GDJF@UBY_!%%7%8I1vRTJm)IRtx1ZSeU2UW5-7DI#rEoJqeEoX4Rnz zp7sbXJN>fnd@e9AVjssI*S2=RPU$~*Y5Lpo^((eIv$DII3~ShUpUq}*&%Imlm2X~y zuU>UMZohjQedzThc24xJ?cL>gbuFi%j@qNT!k0Q3HI9~;*_v4s>I^5$(^Jzpb9ffJIzBvk9cye-nG zcuP7F3Kz*Dr9ob_8(VVA@Q(lf1Acke8uSn9Idz(2M2&jnL7o+Y9VzXUi^`nTM+Kk! z)1kTQ+@#a$hcdYgrf;9Z&o_J$XP$Nv2ZYmN%niIOtU7Ilaf8EJ2y;?SjrL5-VqiiW z{(d{2_p*P+O&f1VSG0gwu}kA#8vs_9L-PoQYhsZ`6T!jWUR$V%TmEei0o?;$X^7bX zyqqJ+$l8G*mnuhZHYl*-A}L%&*uY-!_C6hxss(lK8i;%UvQip)Jw#tV8lRZN$mkfR z(rGu~3F^LLbj?ON&G}iRaf5U-hT@dj7HI-`h!5q%FVdtZGeB+vKm5jj;Is!EkFhc4 zVJeLx-Ber(rSdoaHQ?r-&%e9UKqs|>g8ar3arE}|+Sch9+g^psXLS%Y2bT0MKO!N_ zs}qsqb0%b8&#e&@zbp4vU~;SCr^G9*8ZFXDXY5KpE{d|>MvFA=>1a^bNdC}ntAARM zmGCU?xRy+8r`DYtH{sX6`5mtM_IGjZ*R>vhmplZ}u7E*jWLxC|kJ=q@2-ZLKJUr#; zPsBqWdMehgUXCQwjBz5W*2_v$-dSe$^)Kp-mLkceT!^49S3@k%BI|IOS0L0b?2T~w zG6C3qCs12&Ys(mKKPyov->e_DfFiSbQ6J!TppCJf+;Z!k z`2KZ2#@D`a4gU1=JLrBpiT&sdDDV)l=4d?YaSy{ek9Zi4JLU)+e(1sMlX@&x)ekFU z@~Br>W!3_t7AmypE#AXlv{Sige5u!?v`CX?AL08F=kD@bJI{*U`4eXNQT?R5UZ+w- zdMKHUMKHmvz3YSjjn9AbTJ#tm;L1$^}5pT?VB^-(N6 zdJSEo$V(JDY+F4*L7LdQZ2a1W@25O8F432qq~X)?BqlfS!fP&Cf@hq)nmx{)C`1z| z=eRCn;bV_#+FZbf{5!nplip3CcI9SeRE4zO zS$FzVC&=c2m3DeMi{Jg}@A$uO{{Ub4*7X<}pF%7aN8GlED^AzNh6g$pM^MLQ4*ttv z0IT4P-*co1hdntdt zcozL>PH2+{;!{7m2Os^~1o~I4qHCHHuB<`?os&rEX`zHMF+DfcsV;GM?|mD*ftDQV zSt$E*3*(7WX~%B98=wB-d-1G`pTKFC^e!0SMf9qJ0xLF!YHyK-KdL;q@y>hk#((@M zuKo3IkzyJNBoWcmbxjhh3!-U+!j%?j#0}*Wiqo4Vw}I|%EE^m`Qt7IW(Oz}i^1vJ0 zf^K}v!bPVt2zLggcoUq_GK&hgv#xiMHfn6PvI|c>mCZw}sM@eb2s80#!HKVex65finC!U2@T=8r??s1R7QR@z%odu(R zwlfT9O|I2LJxA39L3ZM?oG(G~n~m4?l0_xz>U*$ABlpVk+EZwS2bHDIaA$d+DT_+^ zxpaNnb!5BS;CT)6RQ5(u{?ecf|RDSixmWWLn^-%XBwkrx{593%*#xe!m@W&hR zwXgjj{^R}sOPB3H*E(QHkAhmga=SzoNdIc9sNphm9Eq)3&}5jw1M%!j&cpMba|s@D z`YF&$!Sd_c0DXnWDhSi01=~8uyGRkc_EP>cY;VWM$8C{DZEz*(<=MqthWzmo@T~N$ zZ3uSn=goVJW66S>*H-59Kf zmTw(+uQoobG4RM3PCw~jeEBmU#Gz|eS!Avc4aZW6dinNn`n?ZBGSZd#)YZng)I;sa z+RV286|Z^|zV`oqi={^|LC(G)D%}g@sj_mHy7H|B6~8MN!N(v=>Id~T6UiVKO=5c6 z2tM_aLvh;C6Ub#psBXQ;M>(Fb@j%KRszvlAP)4B`9KxKC&l%-ceP0RbLpe-2R;MPR zRH~wxsYjI_8mGEj@bc3y`_9J#^CI?PXmqr<;&r5ZoN;!j($%bZ;Ry-~7K3 zmB4XFABMBfI2EU!a434a-Fw4&4yc$Mxk0a)H85n0WsQt#v1&d$G}|&8km9u#!un#S zW(}k|MUoDbBPH0d^^&i9?%R$pfBhQ#{x7#6otb7DZX2vWeAK1y8s%y-Sj$skGaH6T zI-h2VyDi~Gq`hu|#!SH=LL}LRsTFwrnW;mSDC(Uim1~~mDgO};&{$g0LJX-K^`yHO zzq@M!AN}esL=RYI@kNVHqof^ColC>c&0VPyWmu zDgR?P595kgKMNN<{zA8Cp~F36DPH|98bMc1%4W%DO(>{D&%gdu3Wu&;Mmb1kiZ6JV z-6m$$An$FYXM<^_SK_@Aijs3k}(bk#B1%$+bbjA_e2p*WQenDWl*Idex12HewjH6P_4BNnV1= z(36@WoiU-vtXc-k{whOd0{ zd)PUiu_v~9<|C&k5NsQxQ7s6&gNX~A0Fxo!i(HAiUu)4=(7Y3QC8>hfnXnwfsAu0v zxOPbCxU$uG5MD>ZdQ$FpWap@sosY+vJByiZWjI~O&wQobIy_&VAAfD0H&-@gDkCT# zyE>h-)7tE?YqoQRj9F&ckN@tkH{c z@{8>n|7Efq0>$<9Kv;~_w`aLth0i=&5;y*hU^TvBg!@@C6k(Oo^ zeT*VmzD!?hOxpQW1^&9IRF7R)N6bjc>?mRlwXUiY7OafYJ^fhOlGG-0yb{w6kFFRt z+_eq&Z_%?uLUFcas4;_fJo#7VRt@&yO|N|^l7|mr=QR6e$(sF2jAK)k zeQE3yP_wA?>&uAokq_+-ORy~C>Wg{?@QG`0!sdx?^2M}$v6!rSP}$n{hHevjfc8?IchO1X%A9MZPE66~P<&dc-M zUGr#u&_;jsJ2cdflTSPj4?pW6IQp*g9l9xb!aWS_OiqrizRq|O7%~F^b_W(WadTjT6}@oJZmD^2vyDn`d8WL z-TRTTNo?J^9mAtzjI}&j6~vkN^VBXHh4lHh_-mw5N}K5ap9 z@VUq1#V>jedO2yCni}UsL$B`v2~K*b#}vD9FDv@z3lW+!BXt3+(}cE!eQ%h$b;Qk;9k2`Yl}Wl*{n>|M)LNR-S<5 znxoOXWC@ZfEy^S*_oTgQrZVuPFKn4P9=BaiBE5>?u5omCccXjN5K`-o!;QbV3D3Cb z0=)NMK8Q_Qwy{4;k|!<9u;$ogjy&<+?b5NSGR=XW80~#S6R)>4Ig0?!F6_RDJq2F| zZlb07A>t%fJ7Lsk7qeD}^zdS88u-6&eg~(Y_5^(RJ^uhK>qFweLy+w4wl+y*Z4~uC zmQcNjGMpyGsyB{wE=?klvc+aydwW<%4qE|COyMmre<>bx>JxC)HP>NUv(%{SLIGU~ zEx-gVob-kDw|uos*aD5xo=u;;yZtuyIs^8QfuyvSEnf-@vF$G*h)i|aB-R*=rUj@y zU~8cTo~;wua=(rmSj3#c_W#7=kHKd@@M>V=W~x)1Wvu@iDN1}SYoBhNBYx_%eC|uWOsdu{phmu;J|1M(h z!@{Z!ErOlLb-c9v?Ra%O&A~mnT(xp39`Udu9g;T8p90` z$`#!6LR;si0W~{%J<-mxM@}BJ5?{Oar}*?2zJ`16AErl5Sd?~Np*=N!$4oh~+s*Ll*H!4!PJ0T=Sc)_|b2Bv7|eS zR3XETG8^#SdET{j~7U*!LS`?(;;w6#!U`C?Q`-BD#;!|6DqyASi=%_0q4OKv`>zt(_Fnb}6D zerrOYNwm%Z*|u{STXyV3CYxnk^`DH+9nHmCEB%t3_#e>@F;4hxHw|0I%p`SbD28{v z{Z%+{^&rwyqsXSG=r`}40<(d#T^;%h$uA6_W;kuhHj%Vxc%kfczL8#6(Bi+dXFCv0*kPyt_K}a{vS&O6V|R@rvHCD1 zx_fN5jP2q~Xm_2PY`XBe2KuhPDafnHxw%QH?I6%%O_Gz-WCC3WEkknMnfSN&yce&1 z&0BFhCj}8sKHc|mm=CfP)hm{2pNv1*TP7DgPO{>i;tRC4$H z3F@8OAu$`QoK@bI-{#@k9PNOKV9C%Ru(Fr!jTTwusvosS&9%j~bWKBMBbh_wc1beN zx*MLx=;#P-7cplPqgp1%V=g!wul>j8VEm??lyJ`6&8V zFU1GGz5{>1m+Yv|K^omT_Vd&=eY)E{ex3(j=7`#D!UcI=RX5Ysi*Rr{Soz=T| z`K`Na9@PWhT5uf&(36Ves3Q)-`U@V3Ctdh3Oc%1&lyLgVc1VjQHbk}%j_RW_-LhGY z0EfK1YJkkno`Yo#s`aGuz8z!uudiNab07{H?9~Gt>MJK;rQJKV%A|f7)$SkzzCuA1S4#Oj(*tUHqMklBn@?_zIIOwND zRU(-wxB3Y4th0A?twz|7pqP#4YS7Ny^!i$kgE~?!mjSkI#b-bMRy^qBqmiE2iA;JD z`cjD|A{MChJCkRn>GR|BFI6YPDOItl@->}LPE7HXG1goyq|i0eR?I* zBA{k?!Qzb9BXA55yNap{(M zu!Wf*Ee~g;T@coG86-HFO?IQ};8XF9|G5UQf5Y2x+r~}o+c+tpKk2+S4_K2Ry;o@3 z&5YaKn_b9Ui#+O?%TS`ssZAo9Cm*glY}tNx)aIv*>b%r~_Y2DtM#oE~d2 z)ADQjCsNgkW5=#>yzc`a#p_@FVqowAh_710deUVF>1teN<1?AHh#AxsqhS0dRLj&B zI%83`i+Y9A?L5;WPpZEkSk;d!p8W!R?h9W*TI)2bi$R<=*0Tjxwx_xm_vYqy8qQp( zX-*HrVCx!~94gym<)vs}*E?uwx9y5G8PdUN%1nI`Z_Ply>Jrnn^RJM@$jC0&PPCD? zFvM3lZ~Gl2PL4T;x{`Rw3opZ|XCI5vu^eS9V!zsHu}F9A73BoWvOxXMpqSu%slNwb z{?5(Vk>NNvs&TMhx$0r^>a+9!F&M8kK)D=SE6+x{>ErbA&8o-d?CSd-!Xcy=I^!bt zRqRm>>mc46Tsw%MGjuhP?Mf2oJmMj^=<(;{=yfaY9b|o}!Zi|VRDuS>uI+&71Rb*( zNim%xz>d9}*W5%JpZoGv`0XG6j-4ZEHnnaNWbePb2%18<-D%7xUAwz_mwd8k`6CZ2 zS#2Wnz(luPkiQs@tn(^gf30s#G@v0^CB}JXMy!2j+HBxW9`Z% zKw7(sLg~ranQYdLM)pROgT8*D^HkLLD%*2QT9e*T{3Hz^?FF?Woy!C*Jhl=ipK2JOst`lzkdo z3u3l7K;5$)9ChI3<4N#?Bgsq)G+Ln66JM6#Rxiw*{6`@@Nzc5iY9X>Ef~r#x7-3-8@E z%!fD0P76dTJ3B-*MbaxE$ppF&ISf~SOVsz=Tb}$Vs?6}wbG`>^3T|HgEs-y9$ z%ioOeU-vVlv(gDI%!o&|r7ji^UoX`@HoKdqAwu!{xJ%GIsi!A}WrMwDcG;A_aC_Vs zGvW=SrW4b#gmM@k8#6W*F*it@(pZg94qbZy-u;g+0XA>pI7IeZ5bUgwm7X3xYObQ) z01RVvlN9r@#*Lo4mAqZc1~FlKikUqTeK?b>v}d@$`!>M6W&xNPE4)AU`^hzE*sG z5Z26KOnYyeK10WoCE4>4B}z5K(qGQR+k_n#ELn6|UK^ z3)lWOh5qgWy7lS7{8D6N(jRtS3f8a;YoUI=rH68z%u-?FDZK7AS77zhLE3BQmv$!T ziTQlMEl@~z^yH+Eb!7R{A+2ESkz%r41x#4-DA&)R9+H}^mtiP}n)oUvUGx0$hXgB5 zH%VoE)c~7=dHJ(1aZF8P`|v2X?Ha*kI%A7Q=EucE>JXHd7V}gM$;lIcN@nel$wf09 zOU016a~v1H;Bk2NGuI=P7)Lg(gMvA+){ZH5D|!`5SGSFN=3u^B?v@rIJIT*2&^Y-i ztQKheE}D+YYo1VF{_U3w1rQhlC=H*EjG8o3W?t{5liH0rK9$CQefqO_|GVCb*xH98 zn&@(8{b(_TjSnyM=i>_^vs+(A{@yMnn49-wj&6ZR1wb zcUKZi2YS`vIY)zBXSVIlLR~|cTw;zaPcn0gKRumhzasM@<^reZ)W?E!5_rVJPQ!=( z;}uBXK1_|$+{3(e3_6cS?YldFPs>1A#5o2{6qD?Smg56o+lgE5jw6zaA+HCQdRoRPT2?^ntk7JL4kuMM$&u6?}s9BWG+LwK}J|;3Q!=C%cbZe?HDR<5Z+L z_$;u|aT5qP5p|R8a-2ao7osYJ>op_rgH+$|>Z(tE>*-BA9>K5v_&0p}`#;7_x804Y zDGqX#HvQF3L3iN<$}nDQJC&e3^(|YAqaOV(#JdkcF+Wb*Spv;F#5mPxW*P-aYy5we}I=|k(w|9dj zw-`YaCq0F`HsilO_9{H+0mpG{m3BUL*z0Ub%>|}%j;EgP6jo@FW}3WJcVgAq@lf~> zgWemv?!Z)u3ft;@@m>>EI};}u<;lONc3?Y1c=Zc44k~L6;5A5hF)It%ToDt~8T+L6 z&f!sewJE1BP0@>$7Cl+JVIk_HoK7Wb*}E1*F7-mygKMcOK*r2Y{IZ?Vf|T-=*))OE zA9Vy?`^uMM`9KPV+!V5Ty}qJSq72lnP!2vmTXYW0LRm&G|9%IO;1_7Llg8vJduv}^ z8(Z26J)6)L0K7hgsr(92v!Gw|Pk9E{aOTYa!$w^&vs|yOBKY%epLt&E_va$zI_C2ia%>8lx%Bcq9jQUWlzb1Mhg_ zOYx&0{emr?d`VZlY@E(GxU0Ww1tB&|aPgOEPotWjg}~FoLs-i?1=S5*R6iWKc87fg z-LC!KkMNIgejTvn6t+VN#FKh0NsBQ-T`+Q-xiS-#FC~QTy*D3R@NJzIc@nILev!1h zCkZ5n@P@bjEB^G?+suzr(}Jf%D6$|Cy*8y=A7^lB4h=ke7kN?KIuv|RJ89UDTKjH% z1Z{CMFm_9^x{J#~>8cBBgS%D2K^T2zT>Y&DYbk@3@G{z8QEKBUSoNnV>h?39{uDgv z8E0YS{t0^U1rkOryJn%()VIh)ohil;XBu&ijg$I>Zfqs~?|Yjuny22!nZ9}q?H~)d ztVVrX?^4@GZOkQKbr7nTyBU{kxN`kTfq4=87}VPC6W~BlpU8PU>0YyF0gW4PRXQgo zb=D~ke2+S0EuQ??N8^FV9*T)vmd%iFi1ed|P?OSt%q>KWu0-m6S+Ql7tG+Ct12=iY z$%%W~qAoEfe+j1DmBhVUM{(uVKf{lI`di$6&sMs-T@fOiI2se;S`#DRiHiSPH2WY? zvT+MF??xXuGU@)MbXopz?v0HfQdY^cJ>baxgYZz);rA=ZN6ykyh@o( zp#wKsDW@f3-STJaRD|{61XV2huus;LbR?wGFQqE~A;`^1%uSZl(>#k)e=ZUd5; z10NzQ(;3k?H}BI!axb+(B(-1qE4NwZ$GcKkt zNvUkz&NKHn8+=-O0;cO#sAbm(lD`&RwCGy8lC;3<^JYsOYJYgO1sb(SsvprfHg4I0 z*S+^+oBJQadT3S)u__sUpvNwN-N^~OP zT{=jcZBZm}UR(X=C0{OG}*dpMwUwbPM4O6k=~vs6bd;;Q?=p#Da^ zxP3y|h_Xm_W66?UZ3|^Mw=kqbmQ60=B^(di=#trkX5&ZvOXijjQgCQ(sXtQxp}s;K z&|LwivTo<8zFya_Z~pP8sV@ z^+dg{(*c@E9y7|fCa5RWl^At1D&5q4MoJ#dAyvqte-OCpS6Te*Pva=WmQ$15+W|`3 z!^S58d2=P?SGwVJzcE}pVCOtZ0KvVZnJ|5uHIG$L#jv<{D-xvFIpZSsHPqJ5y%g-M zwAJG!q-nEg0kbvYr2!zX+QNPM15d&eAA3I5EE}>$MSTm~Hfz*60oOp3dD4?lO$NJ@ zF?8i}`1-f5!L>j9Dem7nfdVImnjCAnMtqc^o96hb9`uH#AwINFv+AVhz@1OCd*FER zd1x*lyALzvrGZ7VpvilR;~17nVkLg}*9^Y$?Fsbt$3QESv-G8UpwSk{f?jvi1XhO+ z>l3$m4*bTbAF<~uBQVTv6{vN6O^SuTlq469bH1p4*rN?D)hoed8r zq%`#9l=Hd*{d~ zhQ~%RnVv>2FP%_iF1~6$nnD{vnt?@IF0ug9C-KRFTwd~{KW05M!Df{chflo!tvLSZ zLy?;vM>d+I#zuB;WmCZX!Pbe>1|ngQJU+n?dvSAECkd(~;n zzvpc>c)!j1U&JExeH&^bb%vEgtG&?}My7JO^7CKD)|>u@#Ohu2Rz_-eBwV}i|p<9am=QLLwy5EiltiGlX z|8doJ+`YXYU9mipbSr4#K1fnmRa1|>qU6;+1iHH$aq;4Antc<}q%)>## zVHB}sun!MEB_9h@1O6u7uWpgH~9WfZosx3 zTANY>tjWKRSHGYPHgHNAiyew3>0h5EC@E4Ha zjFwYOlX!{?KmhwN*l~X;DgLMR`z#vYJtEz90YnrMKh34>}IT>=^ReMX1-eC_r0wWH6Dm zQn0q9ltN`nu8k=}hs~xEN%VB3kkl&%v~y4Xq&0T2xEC=CB!7uElEUBqemma!!T$!9 z9f?RRWv@D!+yl{<%fJFKteYhI`WddL=2H{f5-Fk3y(^^(SovFe?y4vLTByPDWANdR zeF67u+Du=SeN^cn;YBQB9uO_)>Av)fjhgKQiQ}(-zXKosm#+Xz)>?b+cc*y$^@o@H zzN=RM6`oYmgYy$my)Yg=9i?Jt%xGuX0T06SU-@4A^`=`n-_s(DwTMCeP$W%#sb|ua&?QDAc9|Bz? zxly4W>=yB)CtQF_o_{WO-8(|rYg{8eq#t(v5q9v+YfdvzpOHtr5JPV)fqO>=@a>-u zW1=v~G2^)HUQNwKidacbmSd5m-E%W*t?IDP(1Z0?5^iGE&}o9Ue%D7RmVJ>K$3=1#)L+j`vc@5%it56VR(!if-eVLH-_Z~p9F+`OsRKH*-pr*=M{b3m9^ z6$mFtwm7E+8p>|$=Iwa#>n_3LE_^hS^lF1m4l>;nsMZnIi{`+z>`#j{5v*9Y6vwO_ zuybJ~CGW%Q*=%S&-I-8GrRo-GWRmzyvl*}5*nPDgSUB=)Un&yc^ei`jP@`TWDR3Z@ z;lOcxViLn6V@4xmG2Z#Li6@VwQ6@gA5xltjaHC*;>WJG1_TvRf^L{kUuSzA}vNz1+=>|7wEbtV08Xz1V!~ zuW`-yet@)!ndF1BwCq|HUBfaIs?%S@{)gH+;`K=yu0GJcy5trXqjr|oPk!<%ns*|a zO4#d`YJW7=DnU_HMO~2=jdmYc*^r5-*2r)e^Ufbnf?F7J?O~6;__Y0Y{Nk6tcJYxM zOZ;Kq<6>96)44fGGrKrly$h#R4>SCEBd?0xyXz~aaq-keo`P|qnr8K@&U@f5pnC9i zv{7Ak;pwhElcYto(XlaPbLk-e-p?XB0aq`ISTWR(SH0|o!15%)BoPrt%^Xt`8>f{mnX`0N&z zYC~$#Y2ENT?Wtun(Dix1;%=IK5be#}7C6}1X(RQkN!!h$1vFa`)rfQ_<2dQ~qw(l- z9)=SRTCIKsMccW+2^uGNqGsZ&SC7MC{d<(=HJW!5Z%&ea`!hxqe3)AR9B&L%`vbKXn4XE1mMi5W6{+t`J zdmFS$w3N0VBso|ftTW@Jme#pcFK)bZ9G|&5jntZMBn#TtDT!+FOlUu!KBOP$s9dso z0$$J)rwopG$SS<#@)uyBJ7q$(PIx!URVrKNk$wL1WjJKrDl+PJ(g;mfu`*f?;NU}9 z2Wz`R#9U)pNLHnKOVZ+&p8jj`AeM+z+Y6Y?=P;g5W9Qh2?VK5zn6xu!()t87<50SO ztG3{N+slJTqjsdWTjTVM$5KhTd0qcgLr-lIp#H= z(;|+4$x<~!3t5WC#U=9PEhw!Zi3-SHoRgxit`sR5yka01AGUTr%u9{jB0cKEiD?h@F(a|G91qwh^Dx3<2-V~JI@ zV${FVeJup~8R)6aZOt@0l%6MrGBfL{TL4*$4ZryfCZ?uoC*Q`2%Y*mJKed@!;Bl!o zoAOM!*a?e5KY0hk@{{X@HoI@?KD9*M3P#wI3gH|kvSwg^{NVG^W6S`;i4 zGC1X=Lv7hz`}DS01MzYSN1=0g#M`HHvW(3ZP5I^!bt6nduz9`{Uo@$G`eL z?%BK@Sv~nDhjV9xs$tuKwTp(aF+F{`s1QwJ%`uO}A*a6(DgI|&`?m*XVN zxWDHr{fGLpQErxy8YcaXsHu+*5QJC`O{d{KN> zc66&I`47x?xN1PUPiHe2OHX6R_&BzW4r63$3KN-(z1F00hMR`cqiF+mfp#S_dnHSk zcJosMzKnGZQ#B+Qm z94zVv`4l7r$=T;O%$4U+lM5|?rBX>G^qK+fd|ZLV?6+miB4eM|Y6_$Jey;&%bX&LY zzzsLv0<7$pknO3o|B{oFX+X9J?`73kX7t#ADiM}v+11rY)rQ1iFaGq4+pzh*t!5)s z6xnR7EHLi2&-DUlKgT> zE%-X2B&ubid$or~}YiQhwX&Rwdi?mP@!BK}Dg2$ZqD4cr2F&OCWVSA!Z zO`>HS74g)o?6uRXIGfRpTX*5w>wkeC{p?rRx^1VureI+BRyyNK z1ga5Hr>xw@5a(b(=S1WqJy?76!*SRHF2;l=X*z6-{N!V7cB4UO8bBRtiH!4wiRL?g z`P1$J=U=~W_puK3+xJAQscKYDv(?BX(vI|24arGebsph!HqDHlhU7`t^C zFMItZIPZ~oEjf#A?T}HPig(|Jx4!Rn_Lu2+D z=`CWemyf`gHMJVfC*9{+=nZ9uEx;(#*D>X7ONW z`;Z!lrUakAR$wu6Y&kNPK{ltIxJ<5@#1>HpEXO*A zIIeX&x60b!(P~kIzswZ3vu=`@)~C3sQ^_pH0IOs8=WpJN+cuNWc(1*cppP_I{i<{B z+3vw!rF7a&^9E;J#J+%FCcaNYhX}j(OC9?(QmiMx23gYv7LAq4AaGo`{GSL#>Uq*s-7r>vRN|J0#ZO>f0C2q(~(QRJ=kP3R9^LALNs!( zla=o);oLM3($j?~{c15v(v9Y$$VRfznKMbGaL4vueB|4=0c#T|#xf@VDCMI8ha^}Z z;HwTE5+N3-N ze^v$sdxd4~s+CyLog~|on`9^MZ7VBvfV`ScYS#-do~lt@p1zFTwrlCOm!IPFlGD(` z@uu@r>xb* ze`it7tD`b1%aix?DpCk5KgmTh;@_+D{9YVnUTX)?@tB@xHQyYELvZdQ-QgZwBy`fDg_ zrRCzENh&AbkMMp5bq11$r$z|-o6YaSg5+OIezQ?!x%slN^02l#Ozpwzewh5OMGvd1 zp?mMq)!`&2IZpcPUvHs#i1j4Jdcr>2p16=$KWz7_f+%P?xJ!#R{_0#^QtDsAxszR8 zROz?Z4P90D;#RE=#xFMf5fkYwQ*rfC@#dIOX}8|%*LYAnZ(RFSTc*yfAvekqJqGy_ z@z%8gtdWejr>6%YK1lrT1{mG)L4>!92KJ8}efqOMsZ47glC}7htFg9g-y2%^e z^mHJEa9rW|8>O*-!nN5mWkf~O16a1{Qn{0lKLQ_r&&!dy{eII0+eyQ#Wbd`wOe*g{ z6PiJ|ZrU++j69mxIGH6IpN7^Xi}_w${gaIt%MEg#p$Eiq zXXbx4_=k08DNhteiUPc|l;%=IK2-Xek%ZNs!>V@Ct?pjCV%IL+H$3R~SkGnYuJ=caxg0k9<#znv)z@Le zAO4DTI$xTg8tAW4PFewn*mf;M25|HPo{Hp>Q<019;^dYC`&_rV)k3&ooGov=8?EqD zfqg5@h@+C1&%%XF!SMD!ZFN_`6`=aB7uVsT8lMHdnpCV%;dqp>QP)1XjB(# zx+yJLlk}-cEw1EqZZfD{Vfs>&4pfcBL^0d_Cdx6uR6dKb$w}i%XHTFtZk%r|c1XL_T4;w%E|Wv{_FHiI8=r^EU-W$R_r;OPO(H}2Wv%$!Af+ZM ziqqXx>J-CjfXzX;9TuF5+vm0u3HLP>p<1TZX?0RJJ;LP~PQRL$J%OE3&2mk8|S<`$T#;0jP5jLOGfje4^2atl+~o+i65w_##K@egp4{8vn;)6xtD zF!$zA$zM2am*yfCF%xCoh_Fqc#NAd;1`*X~tbM(b?$^-&T9_YQb9LEtymtV%+;SVH z*cbU;z06rTFIuFjRcAYbAem$`1uW;-Hk4&=ZYJ$;{cKup%yN1%hw+K5^~-J%HgH=+ z#~_iq_SuaeANSY`@vIk}hw)o>*kYX9WO8 zXH#SoR?K7BKrf#D#K+>T&wC1{?;1lPrzg{Hp~gBTQn-Wi=6d&vzBFj40q>>{J}HR4 z@btAG{T^3+@29wb+c48t)5>O)jjC&UI|J=H(Qb8JyZR2rs^cGn3C@NK(F`s1d}r^2 z7kM+#E{vFs6||EnizLHFql5U}-P8E=H-^zSv=Ye2p>Hn47_r-7&}vmHGo&XNdXl9w zv;`V1%jt<9%XR#w?Rdefo`4I^JI5`ZSw`fulO^6R#6c13)*gt%4_-}a1-#iK|1fvW z3BS=mu$G%X9jUlgpS1HOt50Iv=diU~CWd4*Sg6q=O@b3z4%E~1Gcq}Wt-E$&%g!Ab zog7C-pPCMMwATznw4l&}5|;;8(oOd1dW9)R`P_9IUihk~;T11=9+vjUkxx%D|9NC6 zN-fg3t?sqcQA}moRF;WCs0_rTp3Wu{arAcgAeD5Vj}0HPKBFD1LOG4j$v>Q4qqG+i zOa>-%cQ2N;7&AGU#-@Aj1BQZwKDBGnJURcm)`D{E+?|hF@~tJOTC%FJ6JLSR7EKke z2Kqxu{N?YrVr+bxI^oU&ar+Pig=o}f&P;O=orURFi1rCszvC!9ox$e&w*!6JEnK@#bu)h2w9W#v;OS<3+W-ZnxXgfgZg4rTW?vFr}TtRI)-;=g8>% zLzW9g>-@JTV`{hc1wkpB-s|Cw-b}!fA^h(TwqonpQr3ek$F*7d)dL6h2=cx6U=M2G z;%=IK1dT>P`x;(O`hzpJ1~vB8gA{96%)r5={b`Rwo)eocJp1Vv;SFzi3Z`z`#fFES zt92Oitm&bPuet+qb~4aMFp!9pwxwH2rEuY})~V~tzi2FlT@yL{{I`F`H@|%iHr}(D z4k}{$w@JQ3c`)GOZ3RAUh15s1bo%>>wI^W7y2l|)w@6&C_Gn3>tXg5dn@u}NrY__j zmV-ywu9kbdaQrIKC`GAHQ8F*ZJo7t&Xd;8LsUdvnJ9h#HEdk}zTQA-^`WVT!b3s?3+`9>*qgSbFRLu6WU9Skl*pVm{nyw%>sY;d1iS9K@mXt6xpJ zRxV$HBM&=B+gX?u@kJ7A5+}>Z{)|#kvpOim$9e)TzR?KY_|gRotYW=)z;l=-X8V73dlmzU}?5R|sJwQI^AJUOjFMADnKg zx?!{6`4EM}c(_~j%RWCWE9QNAdfNJ_*&cTJJhqJZBHEkhW5v_44 z)jVD!Y+5uBwh?9?%a--x^2?ut^-n(y+51M=u;fr+N8={z^((fsa zJdFFdZpD^uJ6K=F?Hn47iQST_cA<$^7e_UkuRe3jV ztn=}@*S-`hmi8h&HHus&gIw0_LXtnr0@J9Kj@h|?Cnx(?0C#WUd9MRwySuy5LyFUE zB2~ChoRxAe+qZ&RWwlVyQaRN@AXy_5A={X!bpjkrQ?ExxC)DXt4oZtu5=U@fg=(Am zmY>dR(**SHT~ipFVjo4ja-T{B$=By&W*(|h9kvs4UqowISTc9K_{EKMHjC|dj{wQI zEkJmcs>N~R>M(mooy6z zt#o}qP!E-1WUeZKY4+W=lSn*Oxz&L8vsm9-fn?=KVv{MspC>-{d_3urM`3L97-F_q zXD^-2Qlf1@I$#t*LJv1rcH@25j^K{%2|F0O7@tC3{aX$Fnkzb?Cyndd+~aQ(Pv3Cm z`V#~5BKA_))P8?KG#dQ{FW+=`b3?e=xv8l-FNsr=nrR$*&?@}HYhR2d>v}MmnYKnP zS160SR>RPCRc1gfibNv?#3Om+Ik~#)-tD;Vmp9=+M*Io_aJ!+tO$YO}G7&Z!xM#1v?K?EHZ$N+mraj zckc!c8bF-0`vgZ+aZPL~s9YpY(t?im9L@d|po|bhK~Y&pK#H-PNAKE&Cq3tpcsx7N zq{&*IBs0m}%Wn6|unh7OB(0}1u~-C0A9)y74rm7wCusUo1M|_iW2=SQ{=>FDUMDMB zP&R&^s>Oz>=`<#%r!lVG2BX8+v~3Hv?AmENXLJrtUSU{FQIg()wjE)NKqV)dZNRx# zfU>Y`7FbS&EJkm=7f*WTg?RTn--xvlR34HZ%c47#L{E1YlA0Jf5004-!tsWpo;U2S^n4nfLYQwsqE!8tv~7{b7T4&e z9hs)bPM7xtSo9U;th!|H>E6qFXFF*;!X6v(8j36gCxe;rGU}xK7ttK5^>oj{wNB*3 z?lK%FAvU17m60l*h20&@}54 zbR}to>>t=AI0zfiYge&8eB;OWV=TXl<7th>&>X(`>%uEQi@WXf`bln4;5`L4Expms^f&f3_K$rw2HINh6VqaB`nukx(v3q7dPr zhVqH%boxL`nu9AF$CVqL=ug(^EU&RBUiYdiuzaZB79S*5`w^%EI|Ls`RaBBfSsGdGK42SlFw;Y}kN^1MiXhM)B|qPQlyW_C~BbUIjyui4)ejUZhfk=VvCf{K9kn#$dkdLyJfABzO<(Qt@v#g;zseR z&&mfASl-oX)SBhl#t{L{iV80r%_NiP>rS!Gw$`4^IvQ!jw>jmY*KgeTRhT`Wi)ax+ z5!r}Iat=hSk0qS?pp)^w55EYbw`}9MNDhH6ny0{Hn{Z!@a!J}%R7fF3>-az(U%Wnp zKi$Up3-{+EBk*jR>XFb+;qbv}e9Up~fG2PH1A zuAvm-yhbB&#JUf}L8n}ZT=(Iegij(F&9Px+-t+|57Lv-H`|RmC|L)VBy4K6T&LlkY2a&=AJ@}lDr>4GC#>lXC61+m%)F3dkV?^9@?hKV1{{;6+hRm!RGLl?J?8u|` z;8Nwt3rSw}d31daUSxk}N9k%2#>%>YbaomOlT&uqiu_YUExaVAQV(Mzh3B+{(rIefAX3s-8zrKWO zQ^0dTK1|up>5d~h1>xLRkLuIRG%Rq-Xg6FvSb2~oI~1O>)eC%jy;8`q-0op}Z(!a- zRmh;QVUqsKkM}1#{D77b+kZ%_%QBPLY_F>sNH_xlw)PBmYfQd{2xq^Gmgrgj* zDV1>g7>>VMKg(&iD(r4-AOM#Lh*?z;}54@#fFW4{aDKS6Y(wk zfb5=$YK*Kg5u!?rZ5!pGjdzN#QQey@kBg`cldG=o&Sb2^s8fjqx>&EC{?y0gjPoCe z;azFg4fgA*EA}8#pU7s}F`%br;p?qRURtd_K%}#0^cAPRJf~=bL-@k?HshZ09`+X* zjw2??o5t8(WRs~E^x_%o8!@wo z*$)tnMt{u9^W9x%P*Jt*Mn44%^mXC+&v`Z;b>4B98kyvTTIbTxMXx@ovnoLqyuC{9 z`z6=NC{8wV`8;}iQ@DN0F1+HM@5gPoZ$y@zz4`_MoNu5I? zJrt4mD)x2TF%7A(tn^_;>WporR~wy+sTs6W^fs7Q14Iok-ZO${oc9o%aME#@o*s9f zD7OU~4wmrK?knF8(;e(V9PMY zAE8dVvMFjYz0=T<0+x6bgIy8)@`en4dD9N$;%gDl7Ldp%5Y2O}UDTJRv{PMSRF_2y z6eVHq5j=jwmFxQh^CI>#gjWgnH++fod1q`5vv+{1krFNa74ta!-~;gLmp%s=n?NR? zLza!6Ju%Qz(4g|RK8&6TTToy}>L*V!cgLa_pHAa*U->$&`|+@@Q1fb1CqJ11oe1P6DAA9gT~KWL>r zB{4Oyr)qj?W?l@fYlwWi!EAX3MjJ)%Cqw_I#-WamA`F>U&g zk0eRrk9PAg_U;@yF~e&chm)S?jEmUY;A-D~h-g$BIc+!1&1TUe!W~?#j>)^qMXy^t z?4hUOjc<55GWU$qkpt6$d(YTbY2?|=79{A971DQl@>4~s^a>J~J>*?sv_K<@B@*aQ zMDg*jT!U|Y?}zy7Eq7sfWYWd%5~@IZ9c|fvj8PWyDGaSU1qYw>bQE$i^kIaGrU8*V zICdtC8)vKu=T>`gOgD3$oo^SuY_1Q+C1)drVW**80ld|jKiZIgZ@LGc{o!U{)d0O` zkYPs=(>7h#b&=YK@#+5<6}5#$p2y_vqj>YXo{uw6e-P72+rVX^S7Bc!I&|>hb!%|) z(Rvlm>A&*Vi9TL3YBib?U($Co)rKnrN3*3;(!W{sur?H?ngoBXfi`64c=Q2dn4U@_ zJ*}@e<=7svTu7Ex!erw~e+*jdY#4uUF$c2JtDM?NqbILAhbEEKPP)o)^NkWOAqv~q z!)$!c7Jj$E_*DIOui@!WFxJxkodoe37@I~Ye+>egUbIlAK29$`cdv!PnS*P(1|}DO zGwGD$tiiK_D~{&bodKU;PvLx2)1HN8wgK%P>^)VZ zQcl$&1%-20pKC{TA67-|L8vcwQlJOS0R~Wr6E0bZiBo@(Ouzqm7 zHjql<@)tfEgGVjLWR|57b>oH3mxuI&@!N-1GDxK2*fhKh*KgQ_2`r=a6z4XaQ*hkv zjsXyd)J+{3Q3JER(jdnfkWMH(R*jcVoKgYK?%G^+eTH$zXZ zV)peU@x;epfFmBXj{S}%r+N>c&LrDVz(2Pz5QH=M_;vO60m+{c?_@=YAF-sx8SCgs zdh$`w*$V9Be({ID;OZa#41fOH&6t>&vVh?{Sf@BgC=U^)m5ub^pySR(@6uC|%?@)u zm|#8=#;@bEoUU2U0g`p|tk)hOgrT@BPMM9g_#%5=NtyTx{Pb@lxbe0WmL%ntMK-R3 zX0zt6BM^&5{9$LMFLWLA;MI86GoOsUgmyyd>?6nD-hve?mf_@+js<&oC*wd5X6i%p zaN#siXgz#b-|OmrDB5O{uzD9<=Z;Rq;ZRS$*=&Xr0QXvwyf|-_el0J?N@YE>yoM~o z<*2I`XnK2l(cRU>HmP%YsfBv^^YFY?` z!uWjYx087+#mlQRt4%c<6$Y=$i%-wpcLt2dqAT}#b1D0U4==lFs)R3xa(V3iD3`0x z53hkyPO2~Z&6O5u2)WM`PYKQ`>>(7+eu4y=fW#~vw`)lD;TW8|c?7hGo^$6-8EEfn zeQ+CuY(|~EY^>d=3J|_`F^UIwm5a^|33DlvQNVvQurwNY^&A*0`r%kswka+0)8shu zz80}tV8x(zxqxGjI1C?r+w+jS>n?lv>>d&~SN5%eb(7KBP95q%qJIdVxqd5dzMpj= zPF;wmIRc(Wl#?gOpW*1J(6yH{%e}bDVJzdlUBSMH(R*js7<; zA98oCqgLmn=B#A0im9%ph~tkt3RgVqiHPe2w0w@j*S0Bb>`mADy8xFUSkwua`N8>AS#Mzf(dgWv6 zb&6y$O;%l+TF9xyZfHeYLU|aZUlmVGyJQkQxP4bQ{_DG2fdhsR&8LGyYIQKPeCnO; z>b$iN4T@qB#<^)5-tzj(aO9x}20EutzDuhXn%wH4h`zpV9Cz%|Kwp>pN&xertavhC z;hSclccRsi+q==#)H+;!=v?_NBuKVScRZp_DE1&ue)Qo7apy*SbFag5 z#(apQbI@*@-oU(wy#xzDs}}^`LAuo$I|21-B41 z&ct6fh%Qvw%|W)cNj}R1<;rmGfY!Vgqd1Q(;)d(~gd6^NBmQ>lT^JeF7pGj95GySs zJZRKcjkHH7rX%0Q-{4vt^T-z>GI%2ICJ;-I57}FSJ`cJyVqgx;wT(cYqzGkbUnHSj zx{$(mHr$OJoBJ@pGA!zRpJEir!Zf`mNS#}xaf2RUWaAi~_T0zfyhlGm$D}z?*;Y_> zPkTZ(?IMap4qk_|Pdwb-#?VU_S@<|R9dEPnZGtBc868hCWI0js zZmO4ao2l+$9l%GsA|rJp?t z6B+rjE6c?e>~$l%_T}mGsB73%*)T%cdyMqVt`Ky15FMi_(*tBIEvbkwBg(TMzyR7&DzT@5V zUk{eu5?s24xU-M5QSa?rg5%G*98*JQaqf_|Y{c?u`w~(vlCr~vBN6fE79eVo6Nn@C zSv~P62azP}sPeP9jrk5kJcmEK>xwV}eL_2{SGA&?d`6PE`Q9Qv{e$i3Ue(WX(kDE% zP$SvJkY{J1PkB0?nun5dpPpp?bV@zrkqYEl?$a`)hw+k^JR8dg+##>lAu&xIuBO+X z_9m=ZxeRBYdLneNk6vre+N4?K$}EL-jhC`n`7M){0ZSBkk;G-Adr$S?(+N{0#E+=5 z9O=`3+XB;YhlST5^Pu0xM6VTQM`3EJ?4no zK22=pT_zjcGo|o7mCgC3y}o#8T&S%RjNNd48pD^Ru3CiCxfxzYW%#&Mcf$6~!`>gbs5-3p_HAfTrX5EuJ_1r+0+#fo zU8fJ4IB91SIy*N`>ZZ5dsfY5;FeX=#UhN3NdvK)1KlL~4e`b*4b!Wwd$+zucU8#^c zc~u|oN#3ju@v1%67Kg34a)idKwaON5W}N=&+WXm2Q-@tf99b$d%Yj$LOM4fFq-28p zhwJ(b^6?lHpX?l5PRj87SbkUmqWXGIUgsD}8o{gN## zZ-4JIF>&kt=4MT~>0zJ~x=L?pWo`jVZCgVqT#oVNk+29jpNJI^*Vwvm5a0OmeHfca zaNfW=6Q5$T>Rsae3nerI(s$Nhn>&cVYDg~~mFEK9t`U?OpCMgceU&czyoPB3;HklN z5qk+{)4=@(9NgW(%X{2i>zL8u)j=X2#aR!1FfM)Cdi3;ik`&EzZo^4AJ89MN@)lRc zr)G|SYV_FtC=GYtd~J6_0r#gyC(ed#GM%yWX}U8z!5v}OCDQE)61ZFSu_vwQP2xp z>U=oKB#%jU7L$dgxb`>q0kJ{ESSES`?8-tEHn)gikR{l_E{H<5>DzYVZU6E@Jn)ng z?7&^Kw?T|csg2b35L_My2KsUOX%E1WD+iI2uG`|IbdGvm%DA+)ER)&LiVXaKc2B?! zq8(MB#(lNF8DZK&C_ejTs}M|({lc=^moUQZn&TmegBLeA;#K8H-IQ}O8ApGAA5tlI zhJZ>Z9Bfa)%hS`ofhIKHmme?lI!J67ca^+@Tc=xWU-iY9Fl5~#uhnHslU)tr@}5r_ z>_#*!%iW&Gs`6a`2#dhXVHN{@(3dvNRks0^^hh3dGiK) z(R4fxWu|dYAUBOy<_DD-jp~R1V!l#aM19!&!1Pi&;TE~O5>Y(klBeL92d~5Eq?r1IYVKvtmxtK(5Z7z>qjxT<6BXGkVlN_55aZDURg2Rsl>xUjobQTRV&^G2H z&X(|q4Ogx|D=;r&FTmm=O(p(~^mAvNA85sQNq;Y%a?ypj=-dZl8d)|z1r*o{>5Iy0 zjNH>1EygfFP^aAjjk{L$U(UV`=_$7Dw_xKLjl``XO(mn)F*=5KzxA{D-Jfs6#FQJX z=y|w%I^x2%2Q}jE)gV(YJvp&-3+Ns^2q!)KxybgNjAERUU?OqoOc!!hNLgq@b1nG% zf;>ez@l>aiDo!97>A{T~bNJGAQ|RmOFz-3N@OXMoE|IX%G4cPnfUZW?m=5*F;Icy@fdo0dffsI zEk*8iOD)E^AbUG1^>hJY4(xaxv+{KvP>84-MsD%A6ZtnSV_Gf-nRN}~(?$1Y*CrI9 z{_Q%Kh~^(N#2um;G6-ZoTlY9WSuX2{$+ZQzzO6RR7s4ExnQ19GnSJk)uUhzE&YVG* zC%p;RpL%sjDSH{ai`r1KK(6Na(hk+`!CAn ztnt12^g|9l5dZL+D}cKz7k&C8!$95KJPa-EaL}_`;9x$If&= zVw^W5IZlrib8e^EBAUS)g6kso0t7AJA_Pv1)plG?y4x&Tgzrcj4PtD*!bWA)ia}iV ztf$~n4?G+b1$|!8HGBn|ggaEk!l-SsQv*u19;vNVu8b!|$jQI#3rrKMd+?F}{vxiv z_Bv!UOxFU54_@a0V^fjXAjqwT7m+}&7)RIO!8rVZ&%$IeMqc!a(u0s;As zOxwk3NOTgTnH0YA!+U|{D`?G5A(E$TbyQioOiE7>T1068#*4igpyUuYot^Z#%U7B;0)Hry{R{`3?Mdv+bZ^yoqQG z-CZekcc%g!_2tUAU4x(~_Br^nXs1k?K{(!-Y3SaO+$vpzMUXImGs4e=OCwAHY*N-d zD(iC@o)2?%44NJ}-$9zXaTbL1sC3g1CIchI5>9miqm*}ERj0h!D3C{(%!9vgAI-{i zZ-k`ia#xm-(}}>1;}VmvwM*>ay*?67|HC2Y4?e9KsIZqgZ-=q_JNFsvGJI~`#pk5c zC?cOLU~*a~k~2jUplTU;sbr@T4cIC19Uv?ZD-qu?BqR2av5ZCuE~3+Lr6ieqQn?hM z(-$v1|B-m|v)5zS{SzFsN-s3ODA%XDZ(3%qKq{YnKlo5!YT5w@X6rA9H$Rl$TizgxG0=BR95IR~l?t)I0kzx5YfhN!71^ ze-plT)pzmdzuk&lp6-!2^l9YkwCWBhW+3Rel`#MP`2gCHQi$qZ(->B+Jq>G)e+JT# zaeBxwDW(|ome*f#T*LBA^iH*Vf^4%F~qyw zt6@sly&}dgsf}`}hRNJY*-9G2_f6o5mplp=Jo;=M-@*<^ucnmWla-A3w#sXIKz;7- z@5V_d9E*ci3{u9*Z>a2NK;;t{JA_s{ThkH#>EA9Totep4+0E{pS$6s}T?xos%hU|S zcRB9n5f0n^m81q(D?sgynObZa!K8v&We zneh2>_1Muuhs0NsiEf;2$UHx&8NaN`EReB88I8<}trVxZ ziOe=Ilf1Q{+rZq6Zj}8nz91Qkpoy@%6`m)O$yL`7k7hQ~jh9a~)ki3*8E|gSgVOQT z3R?BQyHVyZ#HZ<gHkecEie_knk>x}LMZu){K!Z$XFWhzn&9|Y zqadZH{$vrm6XlZ8h|`Thb&i<6FS=r|4=;Pk^MR4EU>p$?swz~dd|QW74UcdY8S4S9 zV;XP|_24rsh0^vKt{L9_NgUSm@Z>=6SmX z(P;EDy!@-XYYnq?d~PtH$x9Jki3A>X)|t5Y!ZXm$?BEAOuH z@%zee#5iXob*yS!ZLx+Fk0ordf_MSf|MoBV{MW9=?RRfse6AU3e=XcC$XJ>|95PDL z+(JYK`A8Sm9CZ#N0}o=(63|$w;Jz8VK%o6G%mZbk&S+%nK>W{-cLHnr(3_v6$b!$O zw=1F=aD9QwT?<)^cybb#zwp^OV5r~h9bCyca=&|91=hk=G+MynhaZ9m9(yP<(l=(; z<*2i$s3UV5F?0krPz|URGzu4XlXLjK5u7yWFBo(=C`?s2A6Lnmn$N(Jsq9ogx{?X> zba&ZnPI^tx%iJSu-uqD{A46q+_XJ$(jyEg%6w8#?S=68o6v$CopXT1u)RqwYBhO^D zhqid%*Fd32xAx{bi+{bT{;ZSOVkr}M-$k(s~Z=2)oPH2(lC(hU!8g`WC~HTil;tlJx)I6Af)>GZGx`wB5N2d zP#LW@6!z5tHk@|Cx-~Rz7lv-*F?PN2C?==U`1<#Mg6n_wE9~4g9;DfRN9aO|e+LeN3GMogJ=D%MU93$;TdvOD|fFLk?Vq z7$-dieI8e@*=Q$?`l(RkP_y%8qgeeJ&N3+(EtoJ4k|t7qQl`c(nMfcKi(}KK?fB-^ z-^Y)C`U_-qJ`LS981ST5Qd|^eUTQ;4xLZ7Me9FIu5DFWGKD(`h`io3+<)Now&B;&1 z^fVn~%rDt0>XYG2BOl2j7t8aiu;fwKfGVMM+=05~Lvz8P zqtto1O3wl^|F#;Y7i^eMmYHdm37q$yLYS!=l?cb(2ui}f{77>(%^tco6s}fWo|=Wq zJWR@t%TlepOFoXupO=@M=~u7BQ0JlvEuZRBv|0L64Ui9&hV3OYZzXwX6lCXT=}e{w zQt>$Yy1UWMHY*;dKH7UuZW6@A^lJ#q+?Rp3t1gdfccGTu?2zBGv|StMsM@WX!tIG` zQ@q>E^k>t#=1?vt$uA67&ugWja#Kl=FP)F2a8|bnl@r@em($=%=jMoVu16N1X~hhx z=9^3hywi*dTg zLV0!fUMxE6O|tg2T6vcQtUIZaoyk*wx=M#7r-0NSl}YWZ*Y`3B)+Ul%97?lXZq-#r zaN*=p<-s}=^l|nnabA@@$G80IhxfG8Yw@Lc19%?l!U z(J_R?T_JrcL7p-%6tg(`@I&yfmtO*G+)i!a*qZj?2bsRTE9qz{lGb4HPz&P7ppW%x zc-s)Z|N9*n#{jx8MLo&7V->7_p(d#vEyhc2t%u%PsO;Yx!Rx3Zapp3)bSj~IyZBw) zGMCe+_Pq!3;tf}>Umlnju|Od$TSOhOW6=3DTBy->hL+H5harD@3jOFuor8-X_b3eZ zb=$cPIZmMLlgl>BQ?t|{z6z(=n*ep*dKx0qc@oiR9LZDyKe*v9`0W3D1%LkAO~_=~ z)G{h{!R00DcA6I-#&z{}rzq_b!@6T1grP&vRbNcLv@nw66y6Q{eOL`hI}hc|H?o45 za$IQu64wGwYyiLd^Dg{(<21T8X3i#&*T6%5>!OjHPfIA9m29pU<2WXc{O#NE{?}iI z6OTRI8g|LZOJnbbmy64{o{SxH?2&lr1CBv9)Pq*k8|xIqsJ@?P%t&tT=_`LmA@f{O znh@|>kIJB#|MoPNWQ(*mi4Y&UO6-m&nO)FeKvQsSg1zFDN};#6H#mnz3qT5>{~$l1 zyj7;Z=g}%VohYNuLxW)UQ6yJf`Ux_oOWc`v7w6UKQ0wg19LzDqn=Yk7&;p+(W<=n< zgoe!f@CzRevr!X1Z>qbxFop$@-PUumXA$sgGAs*Fx+#}Z`_v#?WvBWD(70%3FSwfR zw9F*8DBN|P+t+!q{m}MXJ;K=bC7>^ zxT088pL%v-qdIsim&ea1lh6ozMLvDSYw!+kut6NEGyR zAdY;L6IRz#w1LtT)=7Y6>b5Qyk!N}%6B(TL=%exE$6tVyW?$lk<gj<{ zwx@jcdO#h2^8zL*o$=&%57_IwPBY9~g<{COBE<=q4h2=d%(h9iCz(oK+M>2y>cgp#2yX0}`P8FsPJo!w4XSJD=SoYj0~ zauMyo?UalmpU>iu16Sa+FMcL)&wW5F!I6B->9qWHtk^U!P-HIdRD2AXi7x!$H`_2= zJOGhG(stQs4pFcjH1eCX`#lZcch~E`_YhtkToqbws8?l1Eij}vmly-DARNEr$MYo@_kfD`vSSlhi<_BwZ63A4%C2M|b}!ilL}(X) zp_^kfdksioos}UhVl#&=<_6EBOH&j@Hmiqa;)!ma5hf{9WqH?!{CRRA%c#g3Ve@O2 zOIMN;?@$|29ZqOA{Y7*ZPVV}mW0d8U$GML<6VG_w`54}!gM2l<_T|#y^3m&YRG55p z8of)G;s9-za$%%H>)X*DYKUbZzH(a^?g223p1&E** zSVSXm5V?hy3rTZ6LcC^YVx3@w9Z?Y{9e*^Qbm7@py=(vjy$LoedH2Pqj;{o}21`#x z+$&E}B$8eBzF(Yg?ZN89 zPeJcN=VGduqMcrNqPs2BDAjVuUQ>Pz5azR*AI(KYdUsZA*qBJs$5Xg#djVHoGYTBg zg*Y2{?dr)#v_kJEwQZopx(uWs8Z8WsZyU#Bo_;nvxihS@Gk!}uo!U%qfkC-&Ij6~P z@>sKK1s;CpX~3k;Uy@AZgG#8frpf2MT<$ew;jI)Vphob1n(=Fqm-MDmm;8=2Pc!t3 zaod?rp@o<5Vobikx}A4qcJjkN=Pv&)4(~_)eVjhNFw8D6Hv~O7P76pRIH=(SKsL4@ z3+cDcYhs%qd-75w$$v5yMQ>LUJ>5wp<8B9HSlWf-Xq0#FuNJieh6qeTkWX9uGqzlOtmfUR zICU^iSMg)6<}Rb+Xf<6AEi}5ILE06x8{jhOs0ozHqvSo1pgpM$sL6b^D>Efnl9}%u zLsZg(8u5F#aN07fTq}4k#iv`@wTD`1&4eXlRO#w==4#v{KLrkY)W%hLniI-(s~o8> z<5F2S0-dAA9}Pp@Zr8Ky8Jz{S{040=e=PsHF^k%$Eu%83-R+)f+1Y383&y83{N-eq zeVvN1QGyEV;?p&Vi>S!I#SwNOKXpALSzxq^kuC4ff#$ z&%FfLIcjqjw^Ll`RGCRfVpIj~crPFxi5np`fFJ$(7K}!EkdNiaSC(TKdkjqftT{#P z)|{bm0V>;)dI;-oNrzj2_ixwMg3dRd99$Q%0AcO^B4!6CVSnUhUOvn1p>aZgZx^2N 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πk7=9kI_Y>v6(hcGPHr8;74~wKv$LAt(`p`Kd`g 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

!HdkT$?#!qP!I3{vE@dXgCKPTxr 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◊clKu{Y6blN*- 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%0D#A=B)~Xocfb=2vJR|F$;Jti{sFL7Tbv* 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 literal 0 HcmV?d00001 diff --git a/docs/copy_examples.py b/docs/copy_examples.py new file mode 100644 index 0000000..3f22fa3 --- /dev/null +++ b/docs/copy_examples.py @@ -0,0 +1,33 @@ +"""Examples copying utility function.""" + +from pathlib import Path + +import mkdocs_gen_files + +EXAMPLES_DIRECTORY_PATH = Path("examples") + + +def write_file(file_path: Path) -> None: + """ + Copies file from examples directory into mkdocs scope. + + Args: + file_path (Path): Current file path. + """ + root_path = file_path.relative_to(".") + print(f"Copying {root_path} file to {root_path}") + with root_path.open("rb") as src, mkdocs_gen_files.open(root_path, "wb") as dst: + dst.write(src.read()) + + +banned_directories = ["cache", "files", "example_files", "__pycache__", "lightning_logs"] +for i in EXAMPLES_DIRECTORY_PATH.glob("**/*"): + if i.is_file() and i.suffix == ".ipynb": + should_copy = True + for banned_directory in banned_directories: + if banned_directory in i.parts: + should_copy = False + break + + if should_copy: + write_file(i) diff --git a/docs/copy_readme.py b/docs/copy_readme.py new file mode 100644 index 0000000..c22b6f9 --- /dev/null +++ b/docs/copy_readme.py @@ -0,0 +1,8 @@ +"""Readme copying utility function.""" + +from pathlib import Path + +import mkdocs_gen_files + +with Path("README.md").open("rb") as src, mkdocs_gen_files.open("README.md", "wb") as dst: + dst.write(src.read()) diff --git a/docs/gen_cli_docs.py b/docs/gen_cli_docs.py new file mode 100644 index 0000000..5c45859 --- /dev/null +++ b/docs/gen_cli_docs.py @@ -0,0 +1,75 @@ +"""Capture the CLI help page and save it to the docs.""" + +from pathlib import Path +from typing import cast + +import mkdocs_gen_files +import typer +from rich.console import Console +from typer.rich_utils import ( + COLOR_SYSTEM, + FORCE_TERMINAL, + STYLE_METAVAR, + STYLE_METAVAR_SEPARATOR, + STYLE_NEGATIVE_OPTION, + STYLE_NEGATIVE_SWITCH, + STYLE_OPTION, + STYLE_SWITCH, + STYLE_USAGE, + Theme, + highlighter, + rich_format_help, +) + +from overturemaestro.cli import app + +API_DIRECTORY_PATH = Path("api") + +GLOBAL_CONSOLE = None + + +def _get_rich_console_new(stderr: bool = False) -> Console: + global GLOBAL_CONSOLE # noqa: PLW0603 + GLOBAL_CONSOLE = Console( + theme=Theme( + { + "option": STYLE_OPTION, + "switch": STYLE_SWITCH, + "negative_option": STYLE_NEGATIVE_OPTION, + "negative_switch": STYLE_NEGATIVE_SWITCH, + "metavar": STYLE_METAVAR, + "metavar_sep": STYLE_METAVAR_SEPARATOR, + "usage": STYLE_USAGE, + }, + ), + record=True, + highlighter=highlighter, + color_system=COLOR_SYSTEM, + force_terminal=FORCE_TERMINAL, + width=240, + stderr=stderr, + ) + return GLOBAL_CONSOLE + + +typer.rich_utils._get_rich_console = _get_rich_console_new + +typer_obj = app + +click_obj = typer.main.get_command(typer_obj) +ctx = typer.Context(command=click_obj, info_name="OvertureMaestro") +rich_format_help(obj=click_obj, ctx=ctx, markup_mode="rich") +html_text: str = cast(Console, GLOBAL_CONSOLE).export_html( + inline_styles=True, + code_format='

', +) +html_text = html_text.replace( + "font-weight: bold", + ( + "font-weight: normal;" + " text-shadow: calc(-0.06ex) 0 0 currentColor, calc(0.06ex) 0 0 currentColor;" + ), +) + +with mkdocs_gen_files.open(API_DIRECTORY_PATH / "CLI.md", "a") as fd: + print(html_text, file=fd) diff --git a/docs/gen_ref_pages.py b/docs/gen_ref_pages.py new file mode 100644 index 0000000..bd2aa83 --- /dev/null +++ b/docs/gen_ref_pages.py @@ -0,0 +1,41 @@ +"""Generate the code reference pages.""" + +import os +from pathlib import Path + +import mkdocs_gen_files + +FULL_API_DIRECTORY_PATH = Path("full_api") + +nav = mkdocs_gen_files.Nav() + +is_dev = os.getenv("MKDOCS_DEV", "true").lower() == "true" + +if is_dev: + for path in sorted(Path("overturemaestro").rglob("*.py")): + module_path = path.relative_to("overturemaestro").with_suffix("") + doc_path = path.relative_to("overturemaestro").with_suffix(".md") + full_doc_path = Path(FULL_API_DIRECTORY_PATH, doc_path) + + parts = list(module_path.parts) + + if parts[-1] == "__init__": + parts = parts[:-1] + doc_path = doc_path.with_name("index.md") + full_doc_path = full_doc_path.with_name("index.md") + elif parts[-1] == "__main__": + continue + + if not parts: + continue + + nav[parts] = doc_path.as_posix() + + with mkdocs_gen_files.open(full_doc_path, "w") as fd: + identifier = ".".join(parts) + print(f"::: {identifier}", file=fd) + + mkdocs_gen_files.set_edit_path(full_doc_path, path) + + with mkdocs_gen_files.open(f"{FULL_API_DIRECTORY_PATH}/README.md", "w") as nav_file: + nav_file.writelines(nav.build_literate_nav()) diff --git a/docs/javascripts/copy_to_clipboard_patch.js b/docs/javascripts/copy_to_clipboard_patch.js new file mode 100644 index 0000000..8a031ee --- /dev/null +++ b/docs/javascripts/copy_to_clipboard_patch.js @@ -0,0 +1,38 @@ +const SELECTABILITY_PROPERTIES = [ + "user-select", + "-webkit-user-select", + "-ms-user-select", + "-moz-user-select" +]; + +document$.subscribe(function () { + makeButtonsCopySelectableOnly(); +}) + +function makeButtonsCopySelectableOnly() { + const buttonsToFix = document.querySelectorAll(".highlight button.md-clipboard"); + buttonsToFix.forEach((button) => { + button.dataset.clipboardText = extractText(button.dataset.clipboardTarget); + }); +} + +function extractText(selector) { + const element = document.querySelector(selector); + return Array.from(element.childNodes) + .filter(child => includeInOutput(child)) + .map(child => child.textContent) + .join("") + .trimEnd(); +} + +function includeInOutput(element) { + if (element instanceof Element) { + return isSelectable(element); + } + return true; +} + +function isSelectable(element) { + const childStyle = window.getComputedStyle(element); + return !SELECTABILITY_PROPERTIES.some((prop) => childStyle.getPropertyValue(prop) == "none"); +} diff --git a/docs/templates/python/material/class.html b/docs/templates/python/material/class.html new file mode 100644 index 0000000..e7907d9 --- /dev/null +++ b/docs/templates/python/material/class.html @@ -0,0 +1,140 @@ +{{ log.debug("Rendering " + class.path) }} + +
+{% with obj = class, html_id = class.path %} + + {% if root %} + {% set show_full_path = config.show_root_full_path %} + {% set root_members = True %} + {% elif root_members %} + {% set show_full_path = config.show_root_members_full_path or config.show_object_full_path %} + {% set root_members = False %} + {% else %} + {% set show_full_path = config.show_object_full_path %} + {% endif %} + + {% set class_name = class.path if show_full_path else class.name %} + + {% set heading_classes = "doc doc-heading" if config.separate_signature else "doc doc-heading-code" %} + + {% if not root or config.show_root_heading %} + + {% filter heading(heading_level, + role="class", + id=html_id, + class=heading_classes, + toc_label=class.name) %} + + {% block heading scoped %} + {% if config.separate_signature %} + {{ class_name }} + {% elif config.merge_init_into_class and "__init__" in class.all_members %} + {% with function = class.all_members["__init__"] %} + {%+ filter format_signature(function, config.line_length, crossrefs=config.signature_crossrefs) %} + {{ class_name }} + {% endfilter %} + {% endwith %} + {% else %} + {{ class_name|highlight(language="python", linenums=False) }} + {% endif %} + {% endblock heading %} + + {% endfilter %} + + {% block labels scoped %} + {% with labels = class.labels %} + {% include "labels.html" with context %} + {% endwith %} + {% endblock labels %} + + {% block signature scoped %} + {% if config.separate_signature and config.merge_init_into_class %} + {% if "__init__" in class.all_members %} + {% with function = class.all_members["__init__"] %} + {% filter format_signature(function, config.line_length, crossrefs=config.signature_crossrefs) %} + {{ class.name }} + {% endfilter %} + {% endwith %} + {% endif %} + {% endif %} + {% endblock signature %} + + {% else %} + {% if config.show_root_toc_entry %} + {% filter heading(heading_level, + role="class", + id=html_id, + toc_label=class.name, + hidden=True) %} + {% endfilter %} + {% endif %} + {% set heading_level = heading_level - 1 %} + {% endif %} + +
+ {% block contents scoped %} + {% block bases scoped %} + {% if config.show_bases and class.bases %} +

+ Bases: {% for expression in class.bases -%} + {% include "expression.html" with context %}{% if not loop.last %}, {% endif %} + {% endfor -%} +

+ {% endif %} + {% endblock bases %} + + {% block docstring scoped %} + {% with docstring_sections = class.docstring.parsed %} + {% include "docstring.html" with context %} + {% endwith %} + {% if config.merge_init_into_class %} + {% if "__init__" in class.all_members and class.all_members["__init__"].has_docstring %} + {% with docstring_sections = class.all_members["__init__"].docstring.parsed %} + {% include "docstring.html" with context %} + {% endwith %} + {% endif %} + {% endif %} + {% endblock docstring %} + + {% block source scoped %} + {% if config.show_source %} + {% if config.merge_init_into_class %} + {% if "__init__" in class.all_members and class.all_members["__init__"].source %} + {% with init = class.all_members["__init__"] %} +
+ Source code in + {%- if init.relative_filepath.is_absolute() -%} + {{ init.relative_package_filepath }} + {%- else -%} + {{ init.relative_filepath }} + {%- endif -%} + + {{ init.source|highlight(language="python", linestart=init.lineno, linenums=True) }} +
+ {% endwith %} + {% endif %} + {% elif class.source %} +
+ Source code in + {%- if class.relative_filepath.is_absolute() -%} + {{ class.relative_package_filepath }} + {%- else -%} + {{ class.relative_filepath }} + {%- endif -%} + + {{ class.source|highlight(language="python", linestart=class.lineno, linenums=True) }} +
+ {% endif %} + {% endif %} + {% endblock source %} + + {% block children scoped %} + {% set root = False %} + {% set heading_level = heading_level + 1 %} + {% include "children.html" with context %} + {% endblock children %} + {% endblock contents %} +
+ +{% endwith %} +
diff --git a/docs/templates/python/material/function.html b/docs/templates/python/material/function.html new file mode 100644 index 0000000..be7c49c --- /dev/null +++ b/docs/templates/python/material/function.html @@ -0,0 +1,94 @@ +{{ log.debug("Rendering " + function.path) }} + +{% import "language.html" as lang with context %} + +
+{% with obj = function, html_id = function.path %} + + {% if root %} + {% set show_full_path = config.show_root_full_path %} + {% set root_members = True %} + {% elif root_members %} + {% set show_full_path = config.show_root_members_full_path or config.show_object_full_path %} + {% set root_members = False %} + {% else %} + {% set show_full_path = config.show_object_full_path %} + {% endif %} + + {% set function_name = function.path if show_full_path else function.name %} + + {% set heading_classes = "doc doc-heading" if config.separate_signature else "doc doc-heading-code" %} + + {% if not root or config.show_root_heading %} + + {% filter heading(heading_level, + role="function", + id=html_id, + class=heading_classes, + toc_label=function.name ~ "()") %} + + {% block heading scoped %} + {% if config.separate_signature %} + {{ function_name }} + {% else %} + {%+ filter format_signature(function, config.line_length, crossrefs=config.signature_crossrefs) %} + {{ function_name }} + {% endfilter %} + {% endif %} + {% endblock heading %} + + {% endfilter %} + + {% block labels scoped %} + {% with labels = function.labels %} + {% include "labels.html" with context %} + {% endwith %} + {% endblock labels %} + + {% block signature scoped %} + {% if config.separate_signature %} + {% filter format_signature(function, config.line_length, crossrefs=config.signature_crossrefs) %} + {{ function.name }} + {% endfilter %} + {% endif %} + {% endblock signature %} + + {% else %} + {% if config.show_root_toc_entry %} + {% filter heading(heading_level, + role="function", + id=html_id, + toc_label=function.name, + hidden=True) %} + {% endfilter %} + {% endif %} + {% set heading_level = heading_level - 1 %} + {% endif %} + +
+ {% block contents scoped %} + {% block docstring scoped %} + {% with docstring_sections = function.docstring.parsed %} + {% include "docstring.html" with context %} + {% endwith %} + {% endblock docstring %} + + {% block source scoped %} + {% if config.show_source and function.source %} +
+ {{ lang.t("Source code in") }} + {%- if function.relative_filepath.is_absolute() -%} + {{ function.relative_package_filepath }} + {%- else -%} + {{ function.relative_filepath }} + {%- endif -%} + + {{ function.source|highlight(language="python", linestart=function.lineno, linenums=True) }} +
+ {% endif %} + {% endblock source %} + {% endblock contents %} +
+ +{% endwith %} +
diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..ebe138f --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,140 @@ +site_name: "OvertureMaestro" +site_url: null + +repo_url: https://github.com/kraina-ai/overturemaestro +repo_name: kraina-ai/overturemaestro + +edit_uri: "edit/main/docs/" + +watch: + - examples + + +theme: + name: material + features: + - navigation.tabs + - navigation.tabs.sticky + - navigation.instant + - navigation.tracking + - navigation.top + - navigation.indexes + - navigation.path + - toc.integrate + - content.code.annotate + - content.action.edit + - content.action.view + - content.code.copy + favicon: assets/logos/favicon.ico + logo: assets/logos/overturemaestro_logo.png + icon: + repo: material/github + palette: + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + scheme: default + primary: blue grey + accent: amber + toggle: + icon: material/brightness-7 + name: Switch to dark mode + + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: blue grey + accent: amber + toggle: + icon: material/brightness-4 + name: Switch to light mode + +extra: + consent: + title: Cookie consent + description: >- + We use cookies to recognize your repeated visits and preferences, as well + as to measure the effectiveness of our documentation and whether users + find what they're searching for. With your consent, you're helping us to + make our documentation better. + cookies: + github: + name: Github + checked: true + actions: + - accept + - manage + version: + provider: mike + +extra_css: + - assets/css/docstrings.css + - assets/css/font.css + - assets/css/palette.css + - assets/css/jupyter.css + - assets/css/logo.css + +extra_javascript: + - javascripts/copy_to_clipboard_patch.js + +copyright: > + Copyright © 2022 - {current_year} Kraina AI – +
Change cookie settings + +plugins: + - mike: + canonical_version: "latest" + version_selector: true + - gen-files: + scripts: + - docs/copy_readme.py + - docs/copy_examples.py + - docs/gen_ref_pages.py + - docs/gen_cli_docs.py + - search + - mkdocstrings: + custom_templates: docs/templates + handlers: + python: + paths: [overturemaestro] + options: + show_source: true + show_root_heading: false + show_root_toc_entry: false + docstring_section_style: "spacy" + show_signature: true + show_signature_annotations: false + line_length: 60 + members_order: "source" + docstring_options: + ignore_init_summary: true + merge_init_into_class: true + inherited_members: true + show_root_full_path: true + show_root_members_full_path: false + show_object_full_path: false + - mkdocs-jupyter: + include: ["*.ipynb"] + ignore_h1_titles: true + execute: !ENV [MKDOCS_EXECUTE_JUPYTER, false] + include_source: false + allow_errors: false + - mermaid2 + - awesome-pages + +markdown_extensions: + - attr_list + - md_in_html + - toc: + permalink: true + - footnotes + - pymdownx.magiclink + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets: + check_paths: true + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format diff --git a/overturemaestro/__init__.py b/overturemaestro/__init__.py new file mode 100644 index 0000000..b817f44 --- /dev/null +++ b/overturemaestro/__init__.py @@ -0,0 +1,25 @@ +""" +OvertureMaestro. + +OvertureMaestro is a Python library used for downloading Overture Maps datasets with quality of life +features. +""" + +from overturemaestro.functions import ( + convert_geometry_to_geodataframe, + convert_geometry_to_geodataframe_for_multiple_types, + convert_geometry_to_parquet, + convert_geometry_to_parquet_for_multiple_types, +) +from overturemaestro.release_index import get_available_theme_type_pairs + +__app_name__ = "OvertureMaestro" +__version__ = "0.0.1" + +__all__ = [ + "convert_geometry_to_geodataframe", + "convert_geometry_to_geodataframe_for_multiple_types", + "convert_geometry_to_parquet", + "convert_geometry_to_parquet_for_multiple_types", + "get_available_theme_type_pairs", +] diff --git a/overturemaestro/_geometry_clustering.py b/overturemaestro/_geometry_clustering.py new file mode 100644 index 0000000..4fa2c6a --- /dev/null +++ b/overturemaestro/_geometry_clustering.py @@ -0,0 +1,77 @@ +import itertools +from collections.abc import Generator, Iterable +from typing import Any + +import polars as pl +from sklearn.cluster import Birch + +EARTH_RADIUS_KM = 6371 +CLUSTERING_THRESHOLD = 20 / EARTH_RADIUS_KM # calculate 20 kilometers threshold + + +def calculate_row_group_bounding_box( + parquet_filename: str, parquet_row_group: int, pyarrow_table: Any +) -> Any: + df = ( + pl.from_arrow(pyarrow_table) + .with_row_index(name="row_index") + .unnest("bbox") + .select( + [ + pl.col("row_index"), + pl.col("xmin"), + pl.col("xmax"), + pl.col("ymin"), + pl.col("ymax"), + pl.sum_horizontal("xmin", "xmax").truediv(2).radians().alias("x_rad"), + pl.sum_horizontal("ymin", "ymax").truediv(2).radians().alias("y_rad"), + ] + ) + ) + + cluster_labels = ( + Birch(n_clusters=None, threshold=CLUSTERING_THRESHOLD).fit(df[["x_rad", "y_rad"]]).labels_ + ) + + aggregated_bounding_boxes = ( + df.with_columns(pl.Series(name="label", values=cluster_labels)) + .group_by("label") + .agg( + pl.col("xmin").min(), + pl.col("xmax").max(), + pl.col("ymin").min(), + pl.col("ymax").max(), + pl.col("row_index").alias("row_indexes"), + ) + .select( + pl.lit(parquet_filename).alias("filename"), + pl.lit(parquet_row_group).alias("row_group"), + pl.col("xmin"), + pl.col("xmax"), + pl.col("ymin"), + pl.col("ymax"), + pl.col("row_indexes") + .map_elements( + lambda lst: list(calculate_ranges(lst)), return_dtype=pl.List(pl.List(pl.Int64)) + ) + .cast(pl.List(pl.List(pl.UInt32))) + .alias("row_indexes_ranges"), + ) + ) + + return aggregated_bounding_boxes.to_arrow() + + +# https://stackoverflow.com/a/4629241 +def calculate_ranges(i: Iterable[int]) -> Generator[tuple[int, int]]: + for _a, b in itertools.groupby(enumerate(i), lambda pair: pair[1] - pair[0]): + b_lst = list(b) + yield b_lst[0][1], b_lst[-1][1] + + +def decompress_ranges(ranges: list[list[int]]) -> list[int]: + return list( + itertools.chain.from_iterable( + range(range_bounds[0], range_bounds[1] + 1) for range_bounds in ranges + ) + ) diff --git a/overturemaestro/_parquet_multiprocessing.py b/overturemaestro/_parquet_multiprocessing.py new file mode 100644 index 0000000..ef9d0ef --- /dev/null +++ b/overturemaestro/_parquet_multiprocessing.py @@ -0,0 +1,274 @@ +import multiprocessing +from pathlib import Path +from queue import Empty, Queue +from time import sleep, time +from typing import TYPE_CHECKING, Any, Callable, Optional, Union + +if TYPE_CHECKING: + from multiprocessing.managers import ValueProxy + from threading import Lock + + import pyarrow as pa + import pyarrow.fs as fs + from rich.progress import Progress + +# Using `spawn` method to enable integration with Polars and probably other Rust-based libraries +# https://docs.pola.rs/user-guide/misc/multiprocessing/ +ctx: multiprocessing.context.SpawnContext = multiprocessing.get_context("spawn") + + +class MultiprocessingRuntimeError(RuntimeError): ... + + +def _job( + queue: Queue[tuple[str, int]], + tracker: "ValueProxy[int]", + tracker_lock: "Lock", + save_path: Path, + function: Callable[[str, int, "pa.Table"], "pa.Table"], + columns: Optional[list[str]], + filesystem: "fs.FileSystem", +) -> None: # pragma: no cover + import pyarrow.dataset as ds + import pyarrow.parquet as pq + + current_pid = multiprocessing.current_process().pid + + filepath = save_path / f"{current_pid}.parquet" + writer = None + while not queue.empty(): + try: + file_name, row_group_index = None, None + file_name, row_group_index = queue.get_nowait() + + fragment_manual = ds.ParquetFileFormat().make_fragment( + file=file_name, + filesystem=filesystem, + row_groups=[row_group_index], + ) + row_group_table = fragment_manual.to_table(columns=columns) + if row_group_table.num_rows == 0: + with tracker_lock: + tracker.value += 1 + continue + + result_table = function(file_name, row_group_index, row_group_table) + + if result_table.num_rows == 0: + with tracker_lock: + tracker.value += 1 + continue + + if not writer: + writer = pq.ParquetWriter(filepath, result_table.schema) + + writer.write_table(result_table) + + with tracker_lock: + tracker.value += 1 + except Empty: + pass + except Exception as ex: + if file_name is not None and row_group_index is not None: + queue.put((file_name, row_group_index)) + + msg = ( + f"Error in worker (PID: {current_pid}," + f" Parquet: {file_name}, Row group: {row_group_index})" + ) + raise MultiprocessingRuntimeError(msg) from ex + + if writer: + writer.close() + + +class WorkerProcess(ctx.Process): # type: ignore[name-defined,misc] + def __init__(self, *args: Any, **kwargs: Any): + multiprocessing.Process.__init__(self, *args, **kwargs) + self._pconn, self._cconn = multiprocessing.Pipe() + self._exception: Optional[tuple[Exception, str]] = None + + def run(self) -> None: # pragma: no cover + try: + multiprocessing.Process.run(self) + self._cconn.send(None) + except Exception as e: + import traceback + + tb: str = traceback.format_exc() + self._cconn.send((e, tb)) + + @property + def exception(self) -> Optional[tuple[Exception, str]]: + if self._pconn.poll(): + self._exception = self._pconn.recv() + return self._exception + + +def _read_row_group_number(path: str, filesystem: "fs.FileSystem") -> int: + import pyarrow.parquet as pq + + return int(pq.ParquetFile(path, filesystem=filesystem).num_row_groups) + + +def map_parquet_dataset( + dataset_path: Union[str, list[str]], + destination_path: Path, + function: Callable[[str, int, "pa.Table"], "pa.Table"], + progress_description: str, + columns: Optional[list[str]] = None, + filesystem: Optional["fs.FileSystem"] = None, + report_progress_as_text: bool = True, +) -> None: + """ + Apply a function over parquet dataset in a multiprocessing environment. + + Will save results in multiple files in a destination path. + + Args: + dataset_path (Union[str, list[str]]): Path(s) of the parquet dataset. + destination_path (Path): Path of the destination. + function (Callable[[str, pa.Table], pa.Table]): Function to apply over a parquet file name + and a row group table. Will save resulting table in a new parquet file. + progress_description (str): Progress bar description. + columns (Optional[list[str]], optional): List of columns to read. Defaults to `None`. + progress_bar (Optional[TaskProgressBar], optional): Progress bar to show task status. + Defaults to `None`. + filesystem (Optional[fs.FileSystem], optional): Filesystem for the dataset. + Defaults to `None`. + report_progress_as_text (bool, optional): Whether to report task progress every minute. + Defaults to `True`. + """ + from concurrent.futures import ProcessPoolExecutor + from functools import partial + + import pyarrow.parquet as pq + + from overturemaestro._rich_progress import TrackProgressBar + + manager = ctx.Manager() + queue: Queue[tuple[str, int]] = manager.Queue() + tracker: ValueProxy[int] = manager.Value("i", 0) + tracker_lock: Lock = manager.Lock() + + dataset = pq.ParquetDataset(dataset_path, filesystem=filesystem) + + no_cpus = multiprocessing.cpu_count() + min_no_workers = 32 if no_cpus >= 8 else 16 + no_workers = min( + max(min_no_workers, multiprocessing.cpu_count() + 4), 64 + ) # minimum 16 / 32 workers, but not more than 64 + + with TrackProgressBar() as progress: + total_files = len(dataset.files) + with ProcessPoolExecutor(max_workers=min(no_workers, total_files)) as ex: + fn = partial(_read_row_group_number, filesystem=dataset.filesystem) + row_group_numbers = list( + progress.track( + ex.map(fn, dataset.files, chunksize=1), + description="Reading all parquet files row groups", + total=total_files, + ) + ) + + for pq_file, row_group_number in zip(dataset.files, row_group_numbers): + for row_group in range(row_group_number): + queue.put((pq_file, row_group)) + + total = queue.qsize() + + destination_path.mkdir(parents=True, exist_ok=True) + + try: + processes = [ + WorkerProcess( + target=_job, + args=( + queue, + tracker, + tracker_lock, + destination_path, + function, + columns, + dataset.filesystem, + ), + ) + for _ in range(min(no_workers, total)) + ] + with TrackProgressBar() as progress_bar: + progress_bar.add_task(description=progress_description, total=total) + _run_processes( + processes=processes, + queue=queue, + tracker=tracker, + tracker_lock=tracker_lock, + total=total, + progress_bar=progress_bar, + report_progress_as_text=report_progress_as_text, + ) + finally: # pragma: no cover + _report_exceptions(processes=processes) + + +def _run_processes( + processes: list[WorkerProcess], + queue: Queue[tuple[str, int]], + tracker: "ValueProxy[int]", + tracker_lock: "Lock", + total: int, + progress_bar: "Progress", + report_progress_as_text: bool, +) -> None: + # Run processes + for p in processes: + if queue.empty(): + break + p.start() + + sleep_time = 0.1 + next_update_time = time() + while any(process.is_alive() for process in processes): + if any(p.exception for p in processes): # pragma: no cover + break + + with tracker_lock: + completed = tracker.value + + progress_bar.update(task_id=progress_bar.task_ids[0], completed=completed, refresh=True) + + if report_progress_as_text: + current_time = time() + if time() >= next_update_time: + progress_bar.print_progress() + next_update_time = current_time + 60 + + sleep(sleep_time) + sleep_time = min(1.0, sleep_time + 0.1) + + progress_bar.update(task_id=progress_bar.task_ids[0], completed=total, refresh=True) + + +def _report_exceptions(processes: list[WorkerProcess]) -> None: + # In case of exception + exceptions = [] + for p in processes: + if p.is_alive(): + p.terminate() + + if p.exception: + exceptions.append(p.exception) + + if exceptions: + # use ExceptionGroup in Python3.11 + _raise_multiple(exceptions) + + +def _raise_multiple(exceptions: list[tuple[Exception, str]]) -> None: + if not exceptions: + return + try: + error, traceback = exceptions.pop() + msg = f"{error}\n\nOriginal {traceback}" + raise type(error)(msg) + finally: + _raise_multiple(exceptions) diff --git a/overturemaestro/_rich_progress.py b/overturemaestro/_rich_progress.py new file mode 100644 index 0000000..eae36be --- /dev/null +++ b/overturemaestro/_rich_progress.py @@ -0,0 +1,60 @@ +from typing import Any + +from rich.progress import ( + BarColumn, + MofNCompleteColumn, + Progress, + ProgressColumn, + SpinnerColumn, + Task, + Text, + TextColumn, + TimeElapsedColumn, + TimeRemainingColumn, +) + + +class SpeedColumn(ProgressColumn): # type: ignore[misc] + def render(self, task: "Task") -> Text: + if task.speed is None: + return Text("0 it/s") + elif task.speed >= 1: + return Text(f"{task.speed:.2f} it/s") + else: + return Text(f"{1/task.speed:.2f} s/it") # noqa: FURB126 + + +class TrackProgressBar(Progress): # type: ignore[misc] + def __init__( + self, + **kwargs: Any, + ) -> None: + super().__init__( + SpinnerColumn(), + TextColumn( + "[progress.description]{task.description}" + " [progress.percentage]{task.percentage:>3.0f}%" + ), + BarColumn(), + MofNCompleteColumn(), + TextColumn("•"), + TimeElapsedColumn(), + TextColumn("<"), + TimeRemainingColumn(), + TextColumn("•"), + SpeedColumn(), + refresh_per_second=1, + speed_estimate_period=3600, + **kwargs, + ) + + def print_progress(self) -> None: + current_task = self.tasks[0] + mofn = self.columns[3].render(current_task) + elapsed = self.columns[5].render(current_task) + remaining = self.columns[7].render(current_task) + speed = self.columns[9].render(current_task) + self.print( + f"{current_task.description} {current_task.percentage:>6.2f}% • " + f"{mofn} • {elapsed} < {remaining} • {speed}" + ) diff --git a/overturemaestro/conftest.py b/overturemaestro/conftest.py new file mode 100644 index 0000000..75479ca --- /dev/null +++ b/overturemaestro/conftest.py @@ -0,0 +1,35 @@ +"""Fixtures for doctests.""" + +import doctest +from doctest import OutputChecker + +import pandas +import pytest + +IGNORE_RESULT = doctest.register_optionflag("IGNORE_RESULT") + + +class CustomOutputChecker(OutputChecker): + """Custom doctest OutputChecker for ignoring logs from functions.""" + + def check_output(self: doctest.OutputChecker, want: str, got: str, optionflags: int) -> bool: + """Skips output checking if IGNORE_RESULT flag is present.""" + if IGNORE_RESULT & optionflags: + return True + return OutputChecker.check_output(self, want, got, optionflags) + + +doctest.OutputChecker = CustomOutputChecker # type: ignore + + +# @pytest.fixture(autouse=True, scope="session") +# def install_spatial_extension(): # type: ignore +# """Install duckdb spatial extension.""" +# duckdb.install_extension("spatial") + + +@pytest.fixture(autouse=True, scope="session") # type: ignore +def pandas_terminal_width() -> None: + """Change pandas dataframe display options.""" + pandas.set_option("display.width", 90) + pandas.set_option("display.max_colwidth", 35) diff --git a/overturemaestro/data_downloader.py b/overturemaestro/data_downloader.py new file mode 100644 index 0000000..7702924 --- /dev/null +++ b/overturemaestro/data_downloader.py @@ -0,0 +1,422 @@ +""" +Data downloader utilities. + +Functions used to download Overture Maps data before local filtering. +""" + +import multiprocessing +from pathlib import Path +from typing import TYPE_CHECKING, Any, Optional, Union, cast + +if TYPE_CHECKING: + from pyarrow.compute import Expression + from shapely.geometry.base import BaseGeometry + +pyarrow_expression = tuple[Any, Any, Any] +pyarrow_filters = Union["Expression", list[pyarrow_expression], list[list[pyarrow_expression]]] + +__all__ = [ + "download_data", + "download_data_for_multiple_types", +] + + +def download_data_for_multiple_types( + release: str, + theme_type_pairs: list[tuple[str, str]], + geometry_filter: "BaseGeometry", + ignore_cache: bool = False, + working_directory: Union[str, Path] = "files", +) -> list[Path]: + """ + Downloads the data for the given release for multiple types. + + Args: + release (str): Release version. + theme_type_pairs (list[tuple[str, str]]): Pairs of themes and types of the dataset. + geometry_filter (BaseGeometry): Geometry used to filter data. + ignore_cache (bool, optional): Whether to ignore precalculated geoparquet files or not. + Defaults to False. + working_directory (Union[str, Path], optional): Directory where to save + the downloaded `*.parquet` files. Defaults to "files". + + Returns: + list[Path]: List of saved Geoparquet files paths. + """ + paths = [] + for theme_value, type_value in theme_type_pairs: + paths.append( + download_data( + release=release, + theme=theme_value, + type=type_value, + geometry_filter=geometry_filter, + ignore_cache=ignore_cache, + working_directory=working_directory, + ) + ) + + return paths + + +def download_data( + release: str, + theme: str, + type: str, + geometry_filter: "BaseGeometry", + pyarrow_filter: Optional[pyarrow_filters] = None, + result_file_path: Optional[Union[str, Path]] = None, + ignore_cache: bool = False, + working_directory: Union[str, Path] = "files", +) -> Path: + """ + Downloads the data for the given release. + + Args: + release (str): Release version. + theme (str): Theme of the dataset. + type (str): Type of the dataset. + geometry_filter (BaseGeometry): Geometry used to filter data. + pyarrow_filter (Optional[pyarrow_filters], optional): Filters to apply on a pyarrow dataset. + Can be pyarrow.compute.Expression or List[Tuple] or List[List[Tuple]]. Defaults to None. + result_file_path (Union[str, Path], optional): Where to save + the geoparquet file. If not provided, will be generated based on hashes + from filters. Defaults to `None`. + ignore_cache (bool, optional): Whether to ignore precalculated geoparquet files or not. + Defaults to False. + working_directory (Union[str, Path], optional): Directory where to save + the downloaded `*.parquet` files. Defaults to "files". + + Returns: + Path: Saved Geoparquet file path. + """ + import tempfile + + working_directory = Path(working_directory) + working_directory.mkdir(parents=True, exist_ok=True) + + if pyarrow_filter is not None: + from pyarrow.parquet import filters_to_expression + + pyarrow_filter = filters_to_expression(pyarrow_filter) + + if result_file_path is None: + result_file_path = working_directory / _generate_result_file_path( + release=release, + theme=theme, + type=type, + geometry_filter=geometry_filter, + pyarrow_filter=pyarrow_filter, + ) + + result_file_path = Path(result_file_path) + + if not result_file_path.exists() or ignore_cache: + with tempfile.TemporaryDirectory( + dir=Path(Path(working_directory)).resolve() + ) as tmp_dir_name: + tmp_dir_path = Path(tmp_dir_name) + _download_data( + release=release, + theme=theme, + type=type, + geometry_filter=geometry_filter, + pyarrow_filter=pyarrow_filter, + result_file_path=result_file_path, + work_directory=tmp_dir_path, + ) + return result_file_path + + +def _download_data( + release: str, + theme: str, + type: str, + geometry_filter: "BaseGeometry", + pyarrow_filter: Optional["Expression"], + result_file_path: Path, + work_directory: Path, +) -> None: + from concurrent.futures import ProcessPoolExecutor + from functools import partial + + import pyarrow.dataset as ds + import pyarrow.parquet as pq + + from overturemaestro._parquet_multiprocessing import map_parquet_dataset + from overturemaestro._rich_progress import TrackProgressBar + from overturemaestro.release_index import load_release_index + + dataset_index = load_release_index(release, theme, type, geometry_filter) + + dataset_index = ( + dataset_index.explode("row_indexes_ranges") + .groupby(["filename", "row_group"])["row_indexes_ranges"] + .apply(list) + .reset_index() + ) + + row_groups_to_download = dataset_index[["filename", "row_group", "row_indexes_ranges"]].to_dict( + orient="records" + ) + + no_cpus = multiprocessing.cpu_count() + min_no_workers = 32 if no_cpus >= 8 else 16 + no_workers = min( + max(min_no_workers, multiprocessing.cpu_count() + 4), 64 + ) # minimum 16 / 32 workers, but not more than 64 + + with TrackProgressBar() as progress: + total_row_groups = len(row_groups_to_download) + with ProcessPoolExecutor(max_workers=min(no_workers, total_row_groups)) as ex: + fn = partial( + _download_single_parquet_row_group_multiprocessing, + bbox=geometry_filter.bounds, + pyarrow_filter=pyarrow_filter, + work_directory=work_directory, + ) + downloaded_parquet_files = list( + progress.track( + ex.map( + fn, + row_groups_to_download, + chunksize=1, + ), + description=f"Downloading parquet files ({theme}/{type})", + total=total_row_groups, + ) + ) + + if not geometry_filter.equals(geometry_filter.envelope): + destination_path = work_directory / Path("intersected_data") + + fn = partial(_filter_data_properly, geometry_filter=geometry_filter) + map_parquet_dataset( + dataset_path=downloaded_parquet_files, + destination_path=destination_path, + function=fn, + progress_description=f"Filtering data by geometry ({theme}/{type})", + report_progress_as_text=False, + ) + + filtered_parquet_files = list(destination_path.glob("*.parquet")) + else: + filtered_parquet_files = downloaded_parquet_files + + final_dataset = ds.dataset(filtered_parquet_files) + + result_file_path.parent.mkdir(exist_ok=True, parents=True) + + with pq.ParquetWriter(result_file_path, final_dataset.schema) as writer: + for batch in final_dataset.to_batches(): + writer.write_batch(batch) + + +def _download_single_parquet_row_group_multiprocessing( + params: dict[str, Any], + bbox: tuple[float, float, float, float], + pyarrow_filter: Optional["Expression"], + work_directory: Path, +) -> Path: + return _download_single_parquet_row_group( + **params, bbox=bbox, pyarrow_filter=pyarrow_filter, work_directory=work_directory + ) + + +def _download_single_parquet_row_group( + filename: str, + row_group: int, + row_indexes_ranges: list[list[int]], + bbox: tuple[float, float, float, float], + pyarrow_filter: Optional["Expression"], + work_directory: Path, +) -> Path: + import pyarrow.compute as pc + import pyarrow.dataset as ds + import pyarrow.fs as fs + from overturemaps.cli import get_writer + from overturemaps.core import geoarrow_schema_adapter + + from overturemaestro._geometry_clustering import decompress_ranges + + row_indexes = decompress_ranges(row_indexes_ranges) + xmin, ymin, xmax, ymax = bbox + bbox_filter = ( + (pc.field("bbox", "xmin") < xmax) + & (pc.field("bbox", "xmax") > xmin) + & (pc.field("bbox", "ymin") < ymax) + & (pc.field("bbox", "ymax") > ymin) + ) + + if pyarrow_filter is not None: + bbox_filter = bbox_filter & pyarrow_filter + + fragment_manual = ds.ParquetFileFormat().make_fragment( + file=filename, + filesystem=fs.S3FileSystem(anonymous=True, region="us-west-2"), + row_groups=[row_group], + ) + geoarrow_schema = geoarrow_schema_adapter(fragment_manual.physical_schema) + + file_path = work_directory / _generate_row_group_file_name( + filename, row_group, row_indexes_ranges, bbox + ) + file_path.parent.mkdir(parents=True, exist_ok=True) + + with get_writer(output_format="geoparquet", path=file_path, schema=geoarrow_schema) as writer: + writer.write_table( + fragment_manual.scanner(schema=geoarrow_schema).take(row_indexes).filter(bbox_filter) + ) + + return file_path + + +def _generate_row_group_file_name( + filename: str, + row_group: int, + row_indexes_ranges: list[list[int]], + bbox: tuple[float, float, float, float], +) -> Path: + import hashlib + + row_indexes_ranges_str = str( + [ + (int(range_pair[0]), int(range_pair[1])) + for range_pair in sorted(row_indexes_ranges, key=lambda x: x[0]) + ] + ) + h = hashlib.new("sha256") + h.update(row_indexes_ranges_str.encode()) + row_indexes_ranges_hash_part = h.hexdigest() + + h = hashlib.new("sha256") + h.update(",".join(str(round(value, 7)) for value in bbox).encode()) + bbox_hash_part = h.hexdigest() + + stripped_filename_part = Path(filename.split("/", 2)[-1]) + stem = stripped_filename_part.stem.split(".")[0] + stem = f"{stem}_{row_group}_{row_indexes_ranges_hash_part[:8]}_{bbox_hash_part[:8]}" + return stripped_filename_part.with_stem(stem) + + +def _filter_data_properly( + parquet_filename: str, + parquet_row_group: int, + pyarrow_table: Any, + geometry_filter: "BaseGeometry", +) -> Any: + import geopandas as gpd + import numpy as np + from geoarrow.rust.core import WKBArray + from shapely import Point, STRtree, get_coordinates + + geoseries = gpd.GeoSeries.from_arrow( + WKBArray.from_arrow(pyarrow_table["geometry"].combine_chunks()) + ) + + # First pass - find all simple examples - any point inside geometry filter + exploded_coords = ( + geoseries.apply(get_coordinates).rename("coords").reset_index().explode("coords") + ) + tree = STRtree(exploded_coords["coords"].apply(Point)) + matching_indexes = ( + exploded_coords["index"].iloc[tree.query(geometry_filter, predicate="intersects")].unique() + ) + + # Second pass - find harder examples - geometries bigger than filter or cross intersecting + non_matching_indexes = np.setdiff1d(exploded_coords["index"].unique(), matching_indexes) + non_matching_geometries = geoseries.iloc[non_matching_indexes].reset_index() + matching_geometries = non_matching_geometries[ + non_matching_geometries.intersects(geometry_filter) + ] + + joined_matching_indexes = np.concat([matching_indexes, matching_geometries["index"]]) + return pyarrow_table.take(joined_matching_indexes) + + +def _generate_result_file_path( + release: str, + theme: str, + type: str, + geometry_filter: "BaseGeometry", + pyarrow_filter: Optional["Expression"], + # keep_all_tags: bool, + # explode_tags: bool, + # filter_osm_ids: list[str], + # save_as_wkt: bool, +) -> Path: + import hashlib + + clipping_geometry_hash_part = _generate_geometry_hash(geometry_filter) + + pyarrow_filter_hash_part = "nofilter" + if pyarrow_filter is not None: + h = hashlib.new("sha256") + h.update(str(pyarrow_filter).encode()) + pyarrow_filter_hash_part = h.hexdigest() + + return ( + Path(release) + / f"theme={theme}" + / f"type={type}" + / f"{clipping_geometry_hash_part}_{pyarrow_filter_hash_part}.parquet" + ) + + +def _generate_geometry_hash(geometry_filter: "BaseGeometry") -> str: + import hashlib + + import shapely.wkt as wktlib + + oriented_geometry = _get_oriented_geometry_filter(geometry_filter) + h = hashlib.new("sha256") + h.update(wktlib.dumps(oriented_geometry).encode()) + clipping_geometry_hash_part = h.hexdigest() + + return clipping_geometry_hash_part + + +def _get_oriented_geometry_filter(geometry_filter: "BaseGeometry") -> "BaseGeometry": + import itertools + + from shapely import LinearRing, Polygon + from shapely.geometry.base import BaseGeometry, BaseMultipartGeometry + + geometry = geometry_filter + + if isinstance(geometry, LinearRing): + # https://stackoverflow.com/a/73073112/7766101 + new_coords = [] + if geometry.is_ccw: + perimeter = list(geometry.coords) + else: + perimeter = list(geometry.coords)[::-1] + smallest_point = sorted(perimeter)[0] + double_iteration = itertools.chain(perimeter[:-1], perimeter) + for point in double_iteration: + if point == smallest_point: + new_coords.append((round(point[0], 7), round(point[1], 7))) + while len(new_coords) < len(perimeter): + next_point = next(double_iteration) + new_coords.append((round(next_point[0], 7), round(next_point[1], 7))) + break + return LinearRing(new_coords) + if isinstance(geometry, Polygon): + oriented_exterior = _get_oriented_geometry_filter(geometry.exterior) + oriented_interiors = [ + cast(BaseGeometry, _get_oriented_geometry_filter(interior)) + for interior in geometry.interiors + ] + return Polygon( + oriented_exterior, + sorted(oriented_interiors, key=lambda geom: (geom.centroid.x, geom.centroid.y)), + ) + elif isinstance(geometry, BaseMultipartGeometry): + oriented_geoms = [ + cast(BaseGeometry, _get_oriented_geometry_filter(geom)) for geom in geometry.geoms + ] + return geometry.__class__( + sorted(oriented_geoms, key=lambda geom: (geom.centroid.x, geom.centroid.y)) + ) + + return geometry diff --git a/overturemaestro/functions.py b/overturemaestro/functions.py new file mode 100644 index 0000000..156acab --- /dev/null +++ b/overturemaestro/functions.py @@ -0,0 +1,297 @@ +""" +Functions. + +This module contains helper functions to simplify the usage. +""" + +from pathlib import Path +from typing import Optional, Union + +import geopandas as gpd +from shapely.geometry.base import BaseGeometry + +from overturemaestro.data_downloader import ( + download_data, + download_data_for_multiple_types, + pyarrow_filters, +) + +__all__ = [ + "convert_geometry_to_parquet", + "convert_geometry_to_parquet_for_multiple_types", + "convert_geometry_to_geodataframe", + "convert_geometry_to_geodataframe_for_multiple_types", +] + +# TODO: add verbosity_mode, debug_memory, debug_times +# TODO: prepare examples + + +def convert_geometry_to_parquet( + release: str, + theme: str, + type: str, + geometry_filter: BaseGeometry, + pyarrow_filter: Optional[pyarrow_filters] = None, + result_file_path: Optional[Union[str, Path]] = None, + ignore_cache: bool = False, + working_directory: Union[str, Path] = "files", +) -> Path: + """ + Get a GeoParquet file with Overture Maps data within given geometry. + + Automatically downloads Overture Maps dataset for a given release and theme/type + in a concurrent manner and returns a single file as a result. + + Args: + release (str): Release version. + theme (str): Theme of the dataset. + type (str): Type of the dataset. + geometry_filter (BaseGeometry): Geometry used to filter data. + pyarrow_filter (Optional[pyarrow_filters], optional): Filters to apply on a pyarrow dataset. + Can be pyarrow.compute.Expression or List[Tuple] or List[List[Tuple]]. Defaults to None. + result_file_path (Union[str, Path], optional): Where to save + the geoparquet file. If not provided, will be generated based on hashes + from filters. Defaults to `None`. + ignore_cache (bool, optional): Whether to ignore precalculated geoparquet files or not. + Defaults to False. + working_directory (Union[str, Path], optional): Directory where to save + the downloaded `*.parquet` files. Defaults to "files". + + Returns: + Path: Path to the generated GeoParquet file. + + Examples: + Get buildings in the center of London. + + >>> import overturemaestro as om + >>> from shapely import box + >>> london_bbox = box(-0.120077, 51.498164, -0.090809, 51.508849) + >>> gpq_path = om.convert_geometry_to_parquet( + ... release="2024-08-20.0", + ... theme="buildings", + ... type="building", + ... geometry_filter=london_bbox, + ... ) # doctest: +IGNORE_RESULT + >>> gpq_path.as_posix() + 'files/2024-08-20.0/theme=buildings/type=building/7ed1...3f41_nofilter.parquet' + + Inspect the content + >>> import geopandas as gpd + >>> gdf = gpd.read_parquet(gpq_path) + >>> len(gdf) + 1863 + >>> list(gdf.columns) + ['id', 'geometry', 'bbox', 'version', 'sources', 'subtype', 'class', 'names', 'level', + 'has_parts', 'height', 'is_underground', 'num_floors', 'num_floors_underground', + 'min_height', 'min_floor', 'facade_color', 'facade_material', 'roof_material', 'roof_shape', + 'roof_direction', 'roof_orientation', 'roof_color', 'roof_height', 'theme', 'type'] + + Download museums in the same area from places dataset with a filter. + + >>> gpq_path = om.convert_geometry_to_parquet( + ... release="2024-08-20.0", + ... theme="places", + ... type="place", + ... geometry_filter=london_bbox, + ... pyarrow_filter=[[ + ... (("categories", "primary"), "=", "museum"), + ... ("confidence", ">", 0.95), + ... ]], + ... ) # doctest: +IGNORE_RESULT + >>> gdf = gpd.read_parquet(gpq_path) + >>> len(gdf) + 5 + >>> gdf[["id", "names", "confidence"]] # doctest: +IGNORE_RESULT + id names confidence + 0 08f194ad1499c8b1038ff3e213d81456 {'primary': 'Florence Nightinga... 0.982253 + 1 08f194ad149044c6037575af3681766f {'primary': 'Philip Simpson Des... 0.969941 + 2 08f194ad32a0d494030fdddc1b405fb1 {'primary': 'Shakespeare's Glob... 0.991993 + 3 08f194ad30695784036410e184708927 {'primary': 'Clink Street Londo... 0.965185 + 4 08f194ad30690a42034312e00c0254a2 {'primary': 'The Clink Prison M... 0.982253 + """ + return download_data( + release=release, + theme=theme, + type=type, + geometry_filter=geometry_filter, + pyarrow_filter=pyarrow_filter, + result_file_path=result_file_path, + ignore_cache=ignore_cache, + working_directory=working_directory, + ) + + +def convert_geometry_to_parquet_for_multiple_types( + release: str, + theme_type_pairs: list[tuple[str, str]], + geometry_filter: BaseGeometry, + ignore_cache: bool = False, + working_directory: Union[str, Path] = "files", +) -> list[Path]: + """ + Get GeoParquet files with Overture Maps data within given geometry for multiple types. + + Automatically downloads Overture Maps dataset for a given release and theme/type pairs + in a concurrent manner and returns a list of files as a result. + + Order of paths is the same as the input theme_type_pairs list. + + Args: + release (str): Release version. + theme_type_pairs (list[tuple[str, str]]): Pairs of themes and types of the dataset. + geometry_filter (BaseGeometry): Geometry used to filter data. + pyarrow_filter (Optional[pyarrow_filters], optional): Filters to apply on a pyarrow dataset. + Can be pyarrow.compute.Expression or List[Tuple] or List[List[Tuple]]. Defaults to None. + result_file_path (Union[str, Path], optional): Where to save + the geoparquet file. If not provided, will be generated based on hashes + from filters. Defaults to `None`. + ignore_cache (bool, optional): Whether to ignore precalculated geoparquet files or not. + Defaults to False. + working_directory (Union[str, Path], optional): Directory where to save + the downloaded `*.parquet` files. Defaults to "files". + + Returns: + list[Path]: List of paths to the generated GeoParquet files. + """ + return download_data_for_multiple_types( + release=release, + theme_type_pairs=theme_type_pairs, + geometry_filter=geometry_filter, + ignore_cache=ignore_cache, + working_directory=working_directory, + ) + + +def convert_geometry_to_geodataframe( + release: str, + theme: str, + type: str, + geometry_filter: BaseGeometry, + pyarrow_filter: Optional[pyarrow_filters] = None, + ignore_cache: bool = False, + working_directory: Union[str, Path] = "files", +) -> gpd.GeoDataFrame: + """ + Get a GeoDataFrame with Overture Maps data within given geometry. + + Automatically downloads Overture Maps dataset for a given release and theme/type + in a concurrent manner and returns a single GeoDataFrame as a result. + + Args: + release (str): Release version. + theme (str): Theme of the dataset. + type (str): Type of the dataset. + geometry_filter (BaseGeometry): Geometry used to filter data. + pyarrow_filter (Optional[pyarrow_filters], optional): Filters to apply on a pyarrow dataset. + Can be pyarrow.compute.Expression or List[Tuple] or List[List[Tuple]]. Defaults to None. + ignore_cache (bool, optional): Whether to ignore precalculated geoparquet files or not. + Defaults to False. + working_directory (Union[str, Path], optional): Directory where to save + the downloaded `*.parquet` files. Defaults to "files". + + Returns: + gpd.GeoDataFrame: GeoDataFrame with Overture Maps features. + + Examples: + Get buildings in the center of London. + + >>> import overturemaestro as om + >>> from shapely import box + >>> london_bbox = box(-0.120077, 51.498164, -0.090809, 51.508849) + >>> gdf = om.convert_geometry_to_geodataframe( + ... release="2024-08-20.0", + ... theme="buildings", + ... type="building", + ... geometry_filter=london_bbox, + ... ) # doctest: +IGNORE_RESULT + >>> gdf[['names', 'subtype']].sort_index() + names subtype + id + 08b194ad14804fff0200fea269f9879c {'primary': 'Park Plaza London ... None + 08b194ad14812fff02006b5f7b4749e1 None None + 08b194ad14814fff02002e44dac80f43 {'primary': 'The Barn', 'common... agricultural + 08b194ad14814fff0200c77856a66cd7 None None + 08b194ad14814fff0200dbc14b9a6d57 None None + ... ... ... + 08b194ad33db2fff02006a3ce00700f9 {'primary': 'citizenM hotel Lon... None + 08b194ad33db3fff02008b05d22745ed {'primary': 'Metal Box Factory'... None + 08b194ad33db4fff0200cb2043a25c3c None commercial + 08b194ad33db4fff0200f2ead15d53ac None residential + 08b194ad33db5fff02005eaafd2ff033 {'primary': 'Cooper & Southwark... commercial + + [1863 rows x 2 columns] + + Download museums in the same area from places dataset with a filter. + + >>> gdf = om.convert_geometry_to_geodataframe( + ... release="2024-08-20.0", + ... theme="places", + ... type="place", + ... geometry_filter=london_bbox, + ... pyarrow_filter=[[ + ... (("categories", "primary"), "=", "museum"), + ... ("confidence", ">", 0.95), + ... ]], + ... ) # doctest: +IGNORE_RESULT + >>> gdf[["names", "confidence"]] + names confidence + id + 08f194ad149044c6037575af3681766f {'primary': 'Philip Simpson Des... 0.969941 + 08f194ad1499c8b1038ff3e213d81456 {'primary': 'Florence Nightinga... 0.982253 + 08f194ad30690a42034312e00c0254a2 {'primary': 'The Clink Prison M... 0.982253 + 08f194ad30695784036410e184708927 {'primary': 'Clink Street Londo... 0.965185 + 08f194ad32a0d494030fdddc1b405fb1 {'primary': 'Shakespeare's Glob... 0.991993 + """ + parsed_geoparquet_file = download_data( + release=release, + theme=theme, + type=type, + geometry_filter=geometry_filter, + pyarrow_filter=pyarrow_filter, + ignore_cache=ignore_cache, + working_directory=working_directory, + ) + return gpd.read_parquet(parsed_geoparquet_file).set_index("id") + + +def convert_geometry_to_geodataframe_for_multiple_types( + release: str, + theme_type_pairs: list[tuple[str, str]], + geometry_filter: BaseGeometry, + ignore_cache: bool = False, + working_directory: Union[str, Path] = "files", +) -> list[gpd.GeoDataFrame]: + """ + Get GeoDataFrames list with Overture Maps data within given geometry for multiple types. + + Automatically downloads Overture Maps dataset for a given release and theme/type pairs + in a concurrent manner and returns a list of GeoDataFrames as a result. + + Order of GeoDataFrames is the same as the input theme_type_pairs list. + + Args: + release (str): Release version. + theme_type_pairs (list[tuple[str, str]]): Pairs of themes and types of the dataset. + geometry_filter (BaseGeometry): Geometry used to filter data. + pyarrow_filter (Optional[pyarrow_filters], optional): Filters to apply on a pyarrow dataset. + Can be pyarrow.compute.Expression or List[Tuple] or List[List[Tuple]]. Defaults to None. + ignore_cache (bool, optional): Whether to ignore precalculated geoparquet files or not. + Defaults to False. + working_directory (Union[str, Path], optional): Directory where to save + the downloaded `*.parquet` files. Defaults to "files". + + Returns: + list[gpd.GeoDataFrame]: List of GeoDataFrames with Overture Maps features. + """ + parsed_geoparquet_files = download_data_for_multiple_types( + release=release, + theme_type_pairs=theme_type_pairs, + geometry_filter=geometry_filter, + ignore_cache=ignore_cache, + working_directory=working_directory, + ) + return [ + gpd.read_parquet(parsed_geoparquet_file).set_index("id") + for parsed_geoparquet_file in parsed_geoparquet_files + ] diff --git a/overturemaestro/release_index.py b/overturemaestro/release_index.py new file mode 100644 index 0000000..7048a03 --- /dev/null +++ b/overturemaestro/release_index.py @@ -0,0 +1,384 @@ +""" +Release index cache utilities. + +Functions used to load cached release index, download it from a dedicated repository or to generate +it on demand. +""" + +import json +import tempfile +import urllib.error +import urllib.request +from pathlib import Path +from typing import Optional, Union + +import fsspec.implementations.http +import geopandas as gpd +import numpy as np +import pandas as pd +import pyarrow.fs as fs +from pooch import file_hash, retrieve +from pooch import get_logger as get_pooch_logger +from rich import print as rprint +from shapely import box +from shapely.geometry.base import BaseGeometry + +from overturemaestro._geometry_clustering import calculate_row_group_bounding_box +from overturemaestro._parquet_multiprocessing import map_parquet_dataset +from overturemaestro._rich_progress import TrackProgressBar + +__all__ = [ + "download_existing_release_index", + "generate_release_index", + "get_available_theme_type_pairs", + "load_release_index", + "load_release_indexes", +] + +# This is the release with bbox with proper naming convention +MINIMAL_SUPPORTED_RELEASE_VERSION = "2024-04-16-beta.0" + +# Dedicated GitHub repository with precalculated indexes +LFS_DIRECTORY_URL = ( + "https://raw.githubusercontent.com/kraina-ai/overturemaps-releases-indexes/main/" +) + + +class ReleaseVersionNotSupportedError(ValueError): ... # noqa: D101 + + +def load_release_indexes( + release: str, + theme_type_pairs: list[tuple[str, str]], + geometry_filter: Optional[BaseGeometry] = None, + remote_index: bool = False, +) -> gpd.GeoDataFrame: + """ + Load multiple release indexes as a GeoDataFrame. + + Args: + release (str): Release version. + theme_type_pairs (list[tuple[str, str]]): Pairs of themes and types of the dataset. + geometry_filter (Optional[BaseGeometry], optional): Geometry to pre-filter resulting rows. + Defaults to None. + remote_index (bool, optional): Avoid downloading the index and stream it from remote source. + Defaults to False. + + Returns: + gpd.GeoDataFrame: Index with bounding boxes for each row group for each parquet file. + """ + return gpd.pd.concat( + load_release_index(release, theme_value, type_value, geometry_filter, remote_index) + for theme_value, type_value in theme_type_pairs + ) + + +def load_release_index( + release: str, + theme: str, + type: str, + geometry_filter: Optional[BaseGeometry] = None, + remote_index: bool = False, +) -> gpd.GeoDataFrame: + """ + Load release index as a GeoDataFrame. + + Args: + release (str): Release version. + theme (str): Theme of the dataset. + type (str): Type of the dataset. + geometry_filter (Optional[BaseGeometry], optional): Geometry to pre-filter resulting rows. + Defaults to None. + remote_index (bool, optional): Avoid downloading the index and stream it from remote source. + Defaults to False. + + Returns: + gpd.GeoDataFrame: Index with bounding boxes for each row group for each parquet file. + """ + _check_release_version(release) + cache_directory = _get_release_cache_directory(release) + index_file_path: Union[Path, str] = cache_directory / _get_index_file_name(theme, type) + + file_exists = Path(index_file_path).exists() + filesystem = None + + if not file_exists: + if remote_index: + filesystem = fsspec.implementations.http.HTTPFileSystem() + index_file_path = LFS_DIRECTORY_URL + str(index_file_path) + else: + # Download or generate the index if cannot be downloaded + download_existing_release_index(release) or generate_release_index(release) + + if geometry_filter is None: + return gpd.read_parquet(path=index_file_path, filesystem=filesystem) + + xmin, ymin, xmax, ymax = geometry_filter.bounds + + df = gpd.read_parquet( + path=index_file_path, bbox=(xmin, ymin, xmax, ymax), filesystem=filesystem + ) + df = df[df.intersects(geometry_filter)] + return df + + +def get_available_theme_type_pairs(release: str) -> list[tuple[str, str]]: + """ + Get a list of available theme and type objects for a given release. + + Args: + release (str): Release version. + + Returns: + list[tuple[str, str]]: List of theme and type pairs. + """ + _check_release_version(release) + + cache_directory = _get_release_cache_directory(release) + release_index_path = cache_directory / "release_index_content.json" + if not release_index_path.exists(): + raise FileNotFoundError( + f"Index for release {release} isn't cached locally. " + "Please download or generate the index first using " + "download_existing_release_index or generate_release_index function." + ) + theme_type_tuples = json.loads(release_index_path.read_text()) + return sorted( + (theme_type_tuple["theme"], theme_type_tuple["type"]) + for theme_type_tuple in theme_type_tuples + ) + + +def download_existing_release_index(release: str) -> bool: + """ + Download a pregenerated index for an Overture Maps dataset release. + + Args: + release (str): Release version. + + Returns: + bool: Information whether index have been downloaded or not. + """ + return _download_existing_release_index(release=release) + + +def _download_existing_release_index( + release: str, theme: Optional[str] = None, type: Optional[str] = None +) -> bool: + """ + Download a pregenerated index for an Overture Maps dataset release. + + Args: + release (str): Release version. + theme (Optional[str], optional): Specify a theme to be downloaded. Defaults to None. + type (Optional[str], optional): Specify a type to be downloaded. Defaults to None. + + Returns: + bool: Information whether index have been downloaded or not. + """ + _check_release_version(release) + if (theme is None and type is not None) or (theme is not None and type is None): + raise ValueError("Theme and type both have to be present or None.") + + cache_directory = _get_release_cache_directory(release) + + logger = get_pooch_logger() + logger.setLevel("WARNING") + + try: + index_content_file_name = "release_index_content.json" + index_content_file_url = LFS_DIRECTORY_URL + str(cache_directory / index_content_file_name) + retrieve( + index_content_file_url, + fname=index_content_file_name, + path=cache_directory, + progressbar=False, + known_hash=None, + ) + rprint("Downloaded index metadata file") + + theme_type_tuples = json.loads((cache_directory / index_content_file_name).read_text()) + + with TrackProgressBar() as progress: + for theme_type_tuple in progress.track( + theme_type_tuples, + description="Downloading release indexes", + ): + theme_value = theme_type_tuple["theme"] + type_value = theme_type_tuple["type"] + sha_value = theme_type_tuple["sha"] + file_name = _get_index_file_name(theme_value, type_value) + + if theme_value == theme and type_value == type: + continue + + index_file_url = LFS_DIRECTORY_URL + str(cache_directory / file_name) + retrieve( + index_file_url, + fname=file_name, + path=cache_directory, + progressbar=False, + known_hash=sha_value, + ) + rprint(f"Downloaded index file {release}/{file_name}") + + except urllib.error.HTTPError as ex: + if ex.code == 404: + return False + + raise + + return True + + +def generate_release_index(release: str) -> bool: + """ + Generate an index for an Overture Maps dataset release. + + Args: + release (str): Release version. + + Returns: + bool: Information whether index have been generated or not. + """ + return _generate_release_index(release=release) + + +def _generate_release_index( + release: str, theme: Optional[str] = None, type: Optional[str] = None +) -> bool: + """ + Generate an index for an Overture Maps dataset release. + + Args: + release (str): Release version. + theme (Optional[str], optional): Specify a theme to be generated. Defaults to None. + type (Optional[str], optional): Specify a type to be generated. Defaults to None. + + Returns: + bool: Information whether index have been generated or not. + """ + _check_release_version(release) + if (theme is None and type is not None) or (theme is not None and type is None): + raise ValueError("Theme and type both have to be present or None.") + + cache_directory = _get_release_cache_directory(release) + release_index_path = cache_directory / "release_index_content.json" + if theme is not None and type is not None: + release_index_path = cache_directory / f"release_index_content_{theme}_{type}.json" + + if release_index_path.exists(): + rprint("Cache exists. Skipping generation.") + return False + + cache_directory.mkdir(exist_ok=True, parents=True) + + with tempfile.TemporaryDirectory(dir=Path(".").resolve()) as tmp_dir_name: + tmp_dir_path = Path(tmp_dir_name) + bounding_boxes_path = tmp_dir_path / "overture_bounding_boxes" + + dataset_path = f"overturemaps-us-west-2/release/{release}" + if theme is not None and type is not None: + dataset_path += f"/theme={theme}/type={type}" + + map_parquet_dataset( + dataset_path=dataset_path, + destination_path=bounding_boxes_path, + function=calculate_row_group_bounding_box, + progress_description="Generating Overture Maps release cache index", + columns=["bbox"], + filesystem=fs.S3FileSystem( + anonymous=True, region="us-west-2", request_timeout=30, connect_timeout=10 + ), + ) + + df = pd.read_parquet(bounding_boxes_path) + df["split_filename"] = df["filename"].str.split("/") + df["theme"] = df["split_filename"].apply(lambda x: x[3].split("=")[1]) + df["type"] = df["split_filename"].apply(lambda x: x[4].split("=")[1]) + df = gpd.GeoDataFrame( + df, + geometry=np.apply_along_axis( + lambda row: box(*row), 1, df[["xmin", "ymin", "xmax", "ymax"]].to_numpy() + ), + crs=4326, + ) + + with TrackProgressBar() as progress: + theme_type_tuples = df[["theme", "type"]].drop_duplicates().reset_index(drop=True) + file_hashes = [] + for value_tuple in progress.track( + theme_type_tuples.to_dict(orient="records"), + description="Saving geoparquet indexes", + ): + theme_value = value_tuple["theme"] + type_value = value_tuple["type"] + file_name = _get_index_file_name(theme_value, type_value) + + df_subset = df[ + (df["theme"] == theme_value) & (df["type"] == type_value) + ].sort_values(["filename", "row_group"]) + cache_file_path = cache_directory / file_name + + df_subset[ + [ + "filename", + "row_group", + "row_indexes_ranges", + "geometry", + ] + ].to_parquet( + cache_file_path, + geometry_encoding="geoarrow", + schema_version="1.1.0", + write_covering_bbox=True, + ) + file_hashes.append(file_hash(str(cache_file_path))) + rprint(f"Saved index file {cache_file_path}") + + theme_type_tuples["sha"] = pd.Series(file_hashes) + theme_type_tuples.to_json(release_index_path, orient="records") + + return True + + +def _check_release_version(release: str) -> None: + if release < MINIMAL_SUPPORTED_RELEASE_VERSION: + raise ReleaseVersionNotSupportedError( + f"Release version {release} is not supported." + f" Minimal supported version is {MINIMAL_SUPPORTED_RELEASE_VERSION}." + ) + + +def _get_release_cache_directory(release: str) -> Path: + return Path(f"release_indexes/{release}") + + +def _get_index_file_name(theme_value: str, type_value: str) -> str: + return f"{theme_value}_{type_value}.parquet" + + +def _consolidate_release_index_files(release: str, remove_other_files: bool = False) -> bool: + _check_release_version(release) + + cache_directory = _get_release_cache_directory(release) + release_index_path = cache_directory / "release_index_content.json" + if release_index_path.exists(): + rprint("Cache exists. Skipping generation.") + return False + + index_content_json_files = list(cache_directory.glob("*.json")) + + all_indexes = [ + index_metadata + for index_file in index_content_json_files + for index_metadata in json.loads(index_file.read_text()) + ] + + release_index_path.write_text(json.dumps(all_indexes)) + + if remove_other_files: + for index_file in index_content_json_files: + index_file.unlink() + + return True diff --git a/pdm.lock b/pdm.lock new file mode 100644 index 0000000..0638adb --- /dev/null +++ b/pdm.lock @@ -0,0 +1,4830 @@ +# This file is @generated by PDM. +# It is not intended for manual editing. + +[metadata] +groups = ["default", "cli-dev", "dev", "docs", "license", "lint", "test"] +strategy = ["inherit_metadata"] +lock_version = "4.5.0" +content_hash = "sha256:c5f092beeb624ea2cecde04325e8330daa063989e323c246cdd2bafb4aa8f4cd" + +[[metadata.targets]] +requires_python = ">=3.9" + +[[package]] +name = "adjusttext" +version = "1.2.0" +summary = "Iteratively adjust text position in matplotlib plots to minimize overlaps" +groups = ["docs"] +dependencies = [ + "matplotlib", + "numpy", + "scipy", +] +files = [ + {file = "adjustText-1.2.0-py3-none-any.whl", hash = "sha256:53212d5ea02b224ba56a1929d30264c8f6ea35d18a39f0fc351cff0bca66a214"}, + {file = "adjusttext-1.2.0.tar.gz", hash = "sha256:d76f509f0dbc1ccd2fb28908364427f0dccfc4bc95a5f466b228209a10585e18"}, +] + +[[package]] +name = "affine" +version = "2.4.0" +requires_python = ">=3.7" +summary = "Matrices describing affine transformation of the plane" +groups = ["docs"] +files = [ + {file = "affine-2.4.0-py3-none-any.whl", hash = "sha256:8a3df80e2b2378aef598a83c1392efd47967afec4242021a0b06b4c7cbc61a92"}, + {file = "affine-2.4.0.tar.gz", hash = "sha256:a24d818d6a836c131976d22f8c27b8d3ca32d0af64c1d8d29deb7bafa4da1eea"}, +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.4.0" +requires_python = ">=3.8" +summary = "Happy Eyeballs for asyncio" +groups = ["default"] +files = [ + {file = "aiohappyeyeballs-2.4.0-py3-none-any.whl", hash = "sha256:7ce92076e249169a13c2f49320d1967425eaf1f407522d707d59cac7628d62bd"}, + {file = "aiohappyeyeballs-2.4.0.tar.gz", hash = "sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2"}, +] + +[[package]] +name = "aiohttp" +version = "3.10.5" +requires_python = ">=3.8" +summary = "Async http client/server framework (asyncio)" +groups = ["default"] +dependencies = [ + "aiohappyeyeballs>=2.3.0", + "aiosignal>=1.1.2", + "async-timeout<5.0,>=4.0; python_version < \"3.11\"", + "attrs>=17.3.0", + "frozenlist>=1.1.1", + "multidict<7.0,>=4.5", + "yarl<2.0,>=1.0", +] +files = [ + {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:18a01eba2574fb9edd5f6e5fb25f66e6ce061da5dab5db75e13fe1558142e0a3"}, + {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:94fac7c6e77ccb1ca91e9eb4cb0ac0270b9fb9b289738654120ba8cebb1189c6"}, + {file = "aiohttp-3.10.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f1f1c75c395991ce9c94d3e4aa96e5c59c8356a15b1c9231e783865e2772699"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f7acae3cf1a2a2361ec4c8e787eaaa86a94171d2417aae53c0cca6ca3118ff6"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94c4381ffba9cc508b37d2e536b418d5ea9cfdc2848b9a7fea6aebad4ec6aac1"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c31ad0c0c507894e3eaa843415841995bf8de4d6b2d24c6e33099f4bc9fc0d4f"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0912b8a8fadeb32ff67a3ed44249448c20148397c1ed905d5dac185b4ca547bb"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d93400c18596b7dc4794d48a63fb361b01a0d8eb39f28800dc900c8fbdaca91"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d00f3c5e0d764a5c9aa5a62d99728c56d455310bcc288a79cab10157b3af426f"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d742c36ed44f2798c8d3f4bc511f479b9ceef2b93f348671184139e7d708042c"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:814375093edae5f1cb31e3407997cf3eacefb9010f96df10d64829362ae2df69"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8224f98be68a84b19f48e0bdc14224b5a71339aff3a27df69989fa47d01296f3"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9a487ef090aea982d748b1b0d74fe7c3950b109df967630a20584f9a99c0683"}, + {file = "aiohttp-3.10.5-cp310-cp310-win32.whl", hash = "sha256:d9ef084e3dc690ad50137cc05831c52b6ca428096e6deb3c43e95827f531d5ef"}, + {file = "aiohttp-3.10.5-cp310-cp310-win_amd64.whl", hash = "sha256:66bf9234e08fe561dccd62083bf67400bdbf1c67ba9efdc3dac03650e97c6088"}, + {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c6a4e5e40156d72a40241a25cc226051c0a8d816610097a8e8f517aeacd59a2"}, + {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c634a3207a5445be65536d38c13791904fda0748b9eabf908d3fe86a52941cf"}, + {file = "aiohttp-3.10.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4aff049b5e629ef9b3e9e617fa6e2dfeda1bf87e01bcfecaf3949af9e210105e"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1942244f00baaacaa8155eca94dbd9e8cc7017deb69b75ef67c78e89fdad3c77"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e04a1f2a65ad2f93aa20f9ff9f1b672bf912413e5547f60749fa2ef8a644e061"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f2bfc0032a00405d4af2ba27f3c429e851d04fad1e5ceee4080a1c570476697"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:424ae21498790e12eb759040bbb504e5e280cab64693d14775c54269fd1d2bb7"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:975218eee0e6d24eb336d0328c768ebc5d617609affaca5dbbd6dd1984f16ed0"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4120d7fefa1e2d8fb6f650b11489710091788de554e2b6f8347c7a20ceb003f5"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b90078989ef3fc45cf9221d3859acd1108af7560c52397ff4ace8ad7052a132e"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ba5a8b74c2a8af7d862399cdedce1533642fa727def0b8c3e3e02fcb52dca1b1"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:02594361128f780eecc2a29939d9dfc870e17b45178a867bf61a11b2a4367277"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8fb4fc029e135859f533025bc82047334e24b0d489e75513144f25408ecaf058"}, + {file = "aiohttp-3.10.5-cp311-cp311-win32.whl", hash = "sha256:e1ca1ef5ba129718a8fc827b0867f6aa4e893c56eb00003b7367f8a733a9b072"}, + {file = "aiohttp-3.10.5-cp311-cp311-win_amd64.whl", hash = "sha256:349ef8a73a7c5665cca65c88ab24abe75447e28aa3bc4c93ea5093474dfdf0ff"}, + {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:305be5ff2081fa1d283a76113b8df7a14c10d75602a38d9f012935df20731487"}, + {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3a1c32a19ee6bbde02f1cb189e13a71b321256cc1d431196a9f824050b160d5a"}, + {file = "aiohttp-3.10.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:61645818edd40cc6f455b851277a21bf420ce347baa0b86eaa41d51ef58ba23d"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c225286f2b13bab5987425558baa5cbdb2bc925b2998038fa028245ef421e75"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ba01ebc6175e1e6b7275c907a3a36be48a2d487549b656aa90c8a910d9f3178"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8eaf44ccbc4e35762683078b72bf293f476561d8b68ec8a64f98cf32811c323e"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c43eb1ab7cbf411b8e387dc169acb31f0ca0d8c09ba63f9eac67829585b44f"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de7a5299827253023c55ea549444e058c0eb496931fa05d693b95140a947cb73"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4790f0e15f00058f7599dab2b206d3049d7ac464dc2e5eae0e93fa18aee9e7bf"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44b324a6b8376a23e6ba25d368726ee3bc281e6ab306db80b5819999c737d820"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0d277cfb304118079e7044aad0b76685d30ecb86f83a0711fc5fb257ffe832ca"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:54d9ddea424cd19d3ff6128601a4a4d23d54a421f9b4c0fff740505813739a91"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4f1c9866ccf48a6df2b06823e6ae80573529f2af3a0992ec4fe75b1a510df8a6"}, + {file = "aiohttp-3.10.5-cp312-cp312-win32.whl", hash = "sha256:dc4826823121783dccc0871e3f405417ac116055bf184ac04c36f98b75aacd12"}, + {file = "aiohttp-3.10.5-cp312-cp312-win_amd64.whl", hash = "sha256:22c0a23a3b3138a6bf76fc553789cb1a703836da86b0f306b6f0dc1617398abc"}, + {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7f6b639c36734eaa80a6c152a238242bedcee9b953f23bb887e9102976343092"}, + {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f29930bc2921cef955ba39a3ff87d2c4398a0394ae217f41cb02d5c26c8b1b77"}, + {file = "aiohttp-3.10.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f489a2c9e6455d87eabf907ac0b7d230a9786be43fbe884ad184ddf9e9c1e385"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:123dd5b16b75b2962d0fff566effb7a065e33cd4538c1692fb31c3bda2bfb972"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b98e698dc34966e5976e10bbca6d26d6724e6bdea853c7c10162a3235aba6e16"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3b9162bab7e42f21243effc822652dc5bb5e8ff42a4eb62fe7782bcbcdfacf6"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1923a5c44061bffd5eebeef58cecf68096e35003907d8201a4d0d6f6e387ccaa"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d55f011da0a843c3d3df2c2cf4e537b8070a419f891c930245f05d329c4b0689"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:afe16a84498441d05e9189a15900640a2d2b5e76cf4efe8cbb088ab4f112ee57"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8112fb501b1e0567a1251a2fd0747baae60a4ab325a871e975b7bb67e59221f"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1e72589da4c90337837fdfe2026ae1952c0f4a6e793adbbfbdd40efed7c63599"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4d46c7b4173415d8e583045fbc4daa48b40e31b19ce595b8d92cf639396c15d5"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:33e6bc4bab477c772a541f76cd91e11ccb6d2efa2b8d7d7883591dfb523e5987"}, + {file = "aiohttp-3.10.5-cp313-cp313-win32.whl", hash = "sha256:c58c6837a2c2a7cf3133983e64173aec11f9c2cd8e87ec2fdc16ce727bcf1a04"}, + {file = "aiohttp-3.10.5-cp313-cp313-win_amd64.whl", hash = "sha256:38172a70005252b6893088c0f5e8a47d173df7cc2b2bd88650957eb84fcf5022"}, + {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7e2fe37ac654032db1f3499fe56e77190282534810e2a8e833141a021faaab0e"}, + {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f5bf3ead3cb66ab990ee2561373b009db5bc0e857549b6c9ba84b20bc462e172"}, + {file = "aiohttp-3.10.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b2c16a919d936ca87a3c5f0e43af12a89a3ce7ccbce59a2d6784caba945b68b"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad146dae5977c4dd435eb31373b3fe9b0b1bf26858c6fc452bf6af394067e10b"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c5c6fa16412b35999320f5c9690c0f554392dc222c04e559217e0f9ae244b92"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95c4dc6f61d610bc0ee1edc6f29d993f10febfe5b76bb470b486d90bbece6b22"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da452c2c322e9ce0cfef392e469a26d63d42860f829026a63374fde6b5c5876f"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:898715cf566ec2869d5cb4d5fb4be408964704c46c96b4be267442d265390f32"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:391cc3a9c1527e424c6865e087897e766a917f15dddb360174a70467572ac6ce"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:380f926b51b92d02a34119d072f178d80bbda334d1a7e10fa22d467a66e494db"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce91db90dbf37bb6fa0997f26574107e1b9d5ff939315247b7e615baa8ec313b"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9093a81e18c45227eebe4c16124ebf3e0d893830c6aca7cc310bfca8fe59d857"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ee40b40aa753d844162dcc80d0fe256b87cba48ca0054f64e68000453caead11"}, + {file = "aiohttp-3.10.5-cp39-cp39-win32.whl", hash = "sha256:03f2645adbe17f274444953bdea69f8327e9d278d961d85657cb0d06864814c1"}, + {file = "aiohttp-3.10.5-cp39-cp39-win_amd64.whl", hash = "sha256:d17920f18e6ee090bdd3d0bfffd769d9f2cb4c8ffde3eb203777a3895c128862"}, + {file = "aiohttp-3.10.5.tar.gz", hash = "sha256:f071854b47d39591ce9a17981c46790acb30518e2f83dfca8db2dfa091178691"}, +] + +[[package]] +name = "aiosignal" +version = "1.3.1" +requires_python = ">=3.7" +summary = "aiosignal: a list of registered asynchronous callbacks" +groups = ["default"] +dependencies = [ + "frozenlist>=1.1.0", +] +files = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] + +[[package]] +name = "anyio" +version = "4.4.0" +requires_python = ">=3.8" +summary = "High level compatibility layer for multiple asynchronous event loop implementations" +groups = ["docs"] +dependencies = [ + "exceptiongroup>=1.0.2; python_version < \"3.11\"", + "idna>=2.8", + "sniffio>=1.1", + "typing-extensions>=4.1; python_version < \"3.11\"", +] +files = [ + {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, + {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, +] + +[[package]] +name = "appdirs" +version = "1.4.4" +summary = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +groups = ["license"] +files = [ + {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, + {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, +] + +[[package]] +name = "appnope" +version = "0.1.4" +requires_python = ">=3.6" +summary = "Disable App Nap on macOS >= 10.9" +groups = ["docs"] +marker = "platform_system == \"Darwin\"" +files = [ + {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, + {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, +] + +[[package]] +name = "argon2-cffi" +version = "23.1.0" +requires_python = ">=3.7" +summary = "Argon2 for Python" +groups = ["docs"] +dependencies = [ + "argon2-cffi-bindings", + "typing-extensions; python_version < \"3.8\"", +] +files = [ + {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, + {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "21.2.0" +requires_python = ">=3.6" +summary = "Low-level CFFI bindings for Argon2" +groups = ["docs"] +dependencies = [ + "cffi>=1.0.1", +] +files = [ + {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"}, + {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"}, +] + +[[package]] +name = "arrow" +version = "1.3.0" +requires_python = ">=3.8" +summary = "Better dates & times for Python" +groups = ["docs"] +dependencies = [ + "python-dateutil>=2.7.0", + "types-python-dateutil>=2.8.10", +] +files = [ + {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, + {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, +] + +[[package]] +name = "asttokens" +version = "2.4.1" +summary = "Annotate AST trees with source code positions" +groups = ["cli-dev", "docs"] +dependencies = [ + "six>=1.12.0", + "typing; python_version < \"3.5\"", +] +files = [ + {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, + {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, +] + +[[package]] +name = "async-lru" +version = "2.0.4" +requires_python = ">=3.8" +summary = "Simple LRU cache for asyncio" +groups = ["docs"] +dependencies = [ + "typing-extensions>=4.0.0; python_version < \"3.11\"", +] +files = [ + {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, + {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, +] + +[[package]] +name = "async-timeout" +version = "4.0.3" +requires_python = ">=3.7" +summary = "Timeout context manager for asyncio programs" +groups = ["default"] +marker = "python_version < \"3.11\"" +dependencies = [ + "typing-extensions>=3.6.5; python_version < \"3.8\"", +] +files = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] + +[[package]] +name = "attrs" +version = "23.2.0" +requires_python = ">=3.7" +summary = "Classes Without Boilerplate" +groups = ["default", "docs", "license"] +dependencies = [ + "importlib-metadata; python_version < \"3.8\"", +] +files = [ + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, +] + +[[package]] +name = "babel" +version = "2.16.0" +requires_python = ">=3.8" +summary = "Internationalization utilities" +groups = ["docs"] +dependencies = [ + "pytz>=2015.7; python_version < \"3.9\"", +] +files = [ + {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, + {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, +] + +[[package]] +name = "beautifulsoup4" +version = "4.12.3" +requires_python = ">=3.6.0" +summary = "Screen-scraping library" +groups = ["docs"] +dependencies = [ + "soupsieve>1.2", +] +files = [ + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, +] + +[[package]] +name = "black" +version = "24.8.0" +requires_python = ">=3.8" +summary = "The uncompromising code formatter." +groups = ["docs"] +dependencies = [ + "click>=8.0.0", + "mypy-extensions>=0.4.3", + "packaging>=22.0", + "pathspec>=0.9.0", + "platformdirs>=2", + "tomli>=1.1.0; python_version < \"3.11\"", + "typing-extensions>=4.0.1; python_version < \"3.11\"", +] +files = [ + {file = "black-24.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6"}, + {file = "black-24.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb"}, + {file = "black-24.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42"}, + {file = "black-24.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a"}, + {file = "black-24.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1"}, + {file = "black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af"}, + {file = "black-24.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4"}, + {file = "black-24.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af"}, + {file = "black-24.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368"}, + {file = "black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed"}, + {file = "black-24.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018"}, + {file = "black-24.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2"}, + {file = "black-24.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c"}, + {file = "black-24.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e"}, + {file = "black-24.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47"}, + {file = "black-24.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb"}, + {file = "black-24.8.0-py3-none-any.whl", hash = "sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed"}, + {file = "black-24.8.0.tar.gz", hash = "sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f"}, +] + +[[package]] +name = "bleach" +version = "6.1.0" +requires_python = ">=3.8" +summary = "An easy safelist-based HTML-sanitizing tool." +groups = ["docs"] +dependencies = [ + "six>=1.9.0", + "webencodings", +] +files = [ + {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, + {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, +] + +[[package]] +name = "bracex" +version = "2.5" +requires_python = ">=3.8" +summary = "Bash style brace expander." +groups = ["docs"] +files = [ + {file = "bracex-2.5-py3-none-any.whl", hash = "sha256:d2fcf4b606a82ac325471affe1706dd9bbaa3536c91ef86a31f6b766f3dad1d0"}, + {file = "bracex-2.5.tar.gz", hash = "sha256:0725da5045e8d37ea9592ab3614d8b561e22c3c5fde3964699be672e072ab611"}, +] + +[[package]] +name = "branca" +version = "0.7.2" +requires_python = ">=3.7" +summary = "Generate complex HTML+JS pages with Python" +groups = ["cli-dev"] +dependencies = [ + "jinja2>=3", +] +files = [ + {file = "branca-0.7.2-py3-none-any.whl", hash = "sha256:853a359c34d08fd06498be762d8be9932750db4049cac11e25dd6f23562e25c2"}, + {file = "branca-0.7.2.tar.gz", hash = "sha256:ca4c94643ef31b819987ca5bd19c6009ea17b440baa3aac04628545f7a4da023"}, +] + +[[package]] +name = "bumpver" +version = "2023.1129" +requires_python = ">=2.7" +summary = "Bump version numbers in project files." +groups = ["dev"] +dependencies = [ + "click; python_version >= \"3.6\"", + "click<8.0; python_version < \"3.6\"", + "colorama>=0.4", + "enum34; python_version < \"3.4\"", + "lexid", + "looseversion; python_version >= \"3.5\"", + "pathlib2; python_version < \"3.4\"", + "setuptools<45.0.0; python_version < \"3.5\"", + "toml", + "typing; python_version < \"3.5\"", +] +files = [ + {file = "bumpver-2023.1129-py2.py3-none-any.whl", hash = "sha256:b2a55c0224215b6ca1c3a0c99827749927b7c61cbb5dfef75565dbda8e75f687"}, + {file = "bumpver-2023.1129.tar.gz", hash = "sha256:2a09813066d92ae2eabf882d4f9a88ebd60135e828c424bdf7800e1723e15010"}, +] + +[[package]] +name = "cachetools" +version = "5.5.0" +requires_python = ">=3.7" +summary = "Extensible memoizing collections and decorators" +groups = ["test"] +files = [ + {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, + {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, +] + +[[package]] +name = "cattrs" +version = "24.1.0" +requires_python = ">=3.8" +summary = "Composable complex class support for attrs and dataclasses." +groups = ["license"] +dependencies = [ + "attrs>=23.1.0", + "exceptiongroup>=1.1.1; python_version < \"3.11\"", + "typing-extensions!=4.6.3,>=4.1.0; python_version < \"3.11\"", +] +files = [ + {file = "cattrs-24.1.0-py3-none-any.whl", hash = "sha256:043bb8af72596432a7df63abcff0055ac0f198a4d2e95af8db5a936a7074a761"}, + {file = "cattrs-24.1.0.tar.gz", hash = "sha256:8274f18b253bf7674a43da851e3096370d67088165d23138b04a1c04c8eaf48e"}, +] + +[[package]] +name = "certifi" +version = "2024.8.30" +requires_python = ">=3.6" +summary = "Python package for providing Mozilla's CA Bundle." +groups = ["default", "cli-dev", "docs", "license", "test"] +files = [ + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, +] + +[[package]] +name = "cffi" +version = "1.17.0" +requires_python = ">=3.8" +summary = "Foreign Function Interface for Python calling C code." +groups = ["docs"] +dependencies = [ + "pycparser", +] +files = [ + {file = "cffi-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f9338cc05451f1942d0d8203ec2c346c830f8e86469903d5126c1f0a13a2bcbb"}, + {file = "cffi-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0ce71725cacc9ebf839630772b07eeec220cbb5f03be1399e0457a1464f8e1a"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c815270206f983309915a6844fe994b2fa47e5d05c4c4cef267c3b30e34dbe42"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6bdcd415ba87846fd317bee0774e412e8792832e7805938987e4ede1d13046d"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a98748ed1a1df4ee1d6f927e151ed6c1a09d5ec21684de879c7ea6aa96f58f2"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0a048d4f6630113e54bb4b77e315e1ba32a5a31512c31a273807d0027a7e69ab"}, + {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24aa705a5f5bd3a8bcfa4d123f03413de5d86e497435693b638cbffb7d5d8a1b"}, + {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:856bf0924d24e7f93b8aee12a3a1095c34085600aa805693fb7f5d1962393206"}, + {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4304d4416ff032ed50ad6bb87416d802e67139e31c0bde4628f36a47a3164bfa"}, + {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:331ad15c39c9fe9186ceaf87203a9ecf5ae0ba2538c9e898e3a6967e8ad3db6f"}, + {file = "cffi-1.17.0-cp310-cp310-win32.whl", hash = "sha256:669b29a9eca6146465cc574659058ed949748f0809a2582d1f1a324eb91054dc"}, + {file = "cffi-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:48b389b1fd5144603d61d752afd7167dfd205973a43151ae5045b35793232aa2"}, + {file = "cffi-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5d97162c196ce54af6700949ddf9409e9833ef1003b4741c2b39ef46f1d9720"}, + {file = "cffi-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ba5c243f4004c750836f81606a9fcb7841f8874ad8f3bf204ff5e56332b72b9"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb9333f58fc3a2296fb1d54576138d4cf5d496a2cc118422bd77835e6ae0b9cb"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:435a22d00ec7d7ea533db494da8581b05977f9c37338c80bc86314bec2619424"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1df34588123fcc88c872f5acb6f74ae59e9d182a2707097f9e28275ec26a12d"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df8bb0010fdd0a743b7542589223a2816bdde4d94bb5ad67884348fa2c1c67e8"}, + {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8b5b9712783415695663bd463990e2f00c6750562e6ad1d28e072a611c5f2a6"}, + {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ffef8fd58a36fb5f1196919638f73dd3ae0db1a878982b27a9a5a176ede4ba91"}, + {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e67d26532bfd8b7f7c05d5a766d6f437b362c1bf203a3a5ce3593a645e870b8"}, + {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45f7cd36186db767d803b1473b3c659d57a23b5fa491ad83c6d40f2af58e4dbb"}, + {file = "cffi-1.17.0-cp311-cp311-win32.whl", hash = "sha256:a9015f5b8af1bb6837a3fcb0cdf3b874fe3385ff6274e8b7925d81ccaec3c5c9"}, + {file = "cffi-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:b50aaac7d05c2c26dfd50c3321199f019ba76bb650e346a6ef3616306eed67b0"}, + {file = "cffi-1.17.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aec510255ce690d240f7cb23d7114f6b351c733a74c279a84def763660a2c3bc"}, + {file = "cffi-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2770bb0d5e3cc0e31e7318db06efcbcdb7b31bcb1a70086d3177692a02256f59"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db9a30ec064129d605d0f1aedc93e00894b9334ec74ba9c6bdd08147434b33eb"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a47eef975d2b8b721775a0fa286f50eab535b9d56c70a6e62842134cf7841195"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3e0992f23bbb0be00a921eae5363329253c3b86287db27092461c887b791e5e"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6107e445faf057c118d5050560695e46d272e5301feffda3c41849641222a828"}, + {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb862356ee9391dc5a0b3cbc00f416b48c1b9a52d252d898e5b7696a5f9fe150"}, + {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c1c13185b90bbd3f8b5963cd8ce7ad4ff441924c31e23c975cb150e27c2bf67a"}, + {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:17c6d6d3260c7f2d94f657e6872591fe8733872a86ed1345bda872cfc8c74885"}, + {file = "cffi-1.17.0-cp312-cp312-win32.whl", hash = "sha256:c3b8bd3133cd50f6b637bb4322822c94c5ce4bf0d724ed5ae70afce62187c492"}, + {file = "cffi-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:dca802c8db0720ce1c49cce1149ff7b06e91ba15fa84b1d59144fef1a1bc7ac2"}, + {file = "cffi-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6ce01337d23884b21c03869d2f68c5523d43174d4fc405490eb0091057943118"}, + {file = "cffi-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cab2eba3830bf4f6d91e2d6718e0e1c14a2f5ad1af68a89d24ace0c6b17cced7"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14b9cbc8f7ac98a739558eb86fabc283d4d564dafed50216e7f7ee62d0d25377"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b00e7bcd71caa0282cbe3c90966f738e2db91e64092a877c3ff7f19a1628fdcb"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:41f4915e09218744d8bae14759f983e466ab69b178de38066f7579892ff2a555"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4760a68cab57bfaa628938e9c2971137e05ce48e762a9cb53b76c9b569f1204"}, + {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:011aff3524d578a9412c8b3cfaa50f2c0bd78e03eb7af7aa5e0df59b158efb2f"}, + {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:a003ac9edc22d99ae1286b0875c460351f4e101f8c9d9d2576e78d7e048f64e0"}, + {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ef9528915df81b8f4c7612b19b8628214c65c9b7f74db2e34a646a0a2a0da2d4"}, + {file = "cffi-1.17.0-cp313-cp313-win32.whl", hash = "sha256:70d2aa9fb00cf52034feac4b913181a6e10356019b18ef89bc7c12a283bf5f5a"}, + {file = "cffi-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:b7b6ea9e36d32582cda3465f54c4b454f62f23cb083ebc7a94e2ca6ef011c3a7"}, + {file = "cffi-1.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1a2ddbac59dc3716bc79f27906c010406155031a1c801410f1bafff17ea304d2"}, + {file = "cffi-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6327b572f5770293fc062a7ec04160e89741e8552bf1c358d1a23eba68166759"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbc183e7bef690c9abe5ea67b7b60fdbca81aa8da43468287dae7b5c046107d4"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bdc0f1f610d067c70aa3737ed06e2726fd9d6f7bfee4a351f4c40b6831f4e82"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6d872186c1617d143969defeadac5a904e6e374183e07977eedef9c07c8953bf"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d46ee4764b88b91f16661a8befc6bfb24806d885e27436fdc292ed7e6f6d058"}, + {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f76a90c345796c01d85e6332e81cab6d70de83b829cf1d9762d0a3da59c7932"}, + {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0e60821d312f99d3e1569202518dddf10ae547e799d75aef3bca3a2d9e8ee693"}, + {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:eb09b82377233b902d4c3fbeeb7ad731cdab579c6c6fda1f763cd779139e47c3"}, + {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:24658baf6224d8f280e827f0a50c46ad819ec8ba380a42448e24459daf809cf4"}, + {file = "cffi-1.17.0-cp39-cp39-win32.whl", hash = "sha256:0fdacad9e0d9fc23e519efd5ea24a70348305e8d7d85ecbb1a5fa66dc834e7fb"}, + {file = "cffi-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:7cbc78dc018596315d4e7841c8c3a7ae31cc4d638c9b627f87d52e8abaaf2d29"}, + {file = "cffi-1.17.0.tar.gz", hash = "sha256:f3157624b7558b914cb039fd1af735e5e8049a87c817cc215109ad1c8779df76"}, +] + +[[package]] +name = "cfgv" +version = "3.4.0" +requires_python = ">=3.8" +summary = "Validate configuration and produce human readable error messages." +groups = ["lint"] +files = [ + {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, + {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, +] + +[[package]] +name = "chardet" +version = "5.2.0" +requires_python = ">=3.7" +summary = "Universal encoding detector for Python 3" +groups = ["test"] +files = [ + {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, + {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +requires_python = ">=3.7.0" +summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +groups = ["cli-dev", "docs", "license", "lint", "test"] +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "click" +version = "8.1.7" +requires_python = ">=3.7" +summary = "Composable command line interface toolkit" +groups = ["default", "dev", "docs"] +dependencies = [ + "colorama; platform_system == \"Windows\"", + "importlib-metadata; python_version < \"3.8\"", +] +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[[package]] +name = "click-plugins" +version = "1.1.1" +summary = "An extension module for click to enable registering CLI commands via setuptools entry-points." +groups = ["docs"] +dependencies = [ + "click>=4.0", +] +files = [ + {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, + {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, +] + +[[package]] +name = "cligj" +version = "0.7.2" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4" +summary = "Click params for commmand line interfaces to GeoJSON" +groups = ["docs"] +dependencies = [ + "click>=4.0", +] +files = [ + {file = "cligj-0.7.2-py3-none-any.whl", hash = "sha256:c1ca117dbce1fe20a5809dc96f01e1c2840f6dcc939b3ddbb1111bf330ba82df"}, + {file = "cligj-0.7.2.tar.gz", hash = "sha256:a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27"}, +] + +[[package]] +name = "colorama" +version = "0.4.6" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +summary = "Cross-platform colored terminal text." +groups = ["default", "cli-dev", "dev", "docs", "license", "test"] +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "comm" +version = "0.2.2" +requires_python = ">=3.8" +summary = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." +groups = ["cli-dev", "docs"] +dependencies = [ + "traitlets>=4", +] +files = [ + {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, + {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, +] + +[[package]] +name = "contextily" +version = "1.6.1" +requires_python = ">=3.9" +summary = "Context geo-tiles in Python" +groups = ["docs"] +dependencies = [ + "geopy", + "joblib", + "matplotlib", + "mercantile", + "pillow", + "rasterio", + "requests", + "xyzservices", +] +files = [ + {file = "contextily-1.6.1-py3-none-any.whl", hash = "sha256:d5cb97e15a4c1ba388823da11ab2cea6b1f9389469200723bd352f5aee6b85c0"}, + {file = "contextily-1.6.1.tar.gz", hash = "sha256:992a667ea73357e166d757e0892ae6943d97df80e5b0b77c03a755513642f403"}, +] + +[[package]] +name = "contourpy" +version = "1.3.0" +requires_python = ">=3.9" +summary = "Python library for calculating contours of 2D quadrilateral grids" +groups = ["cli-dev", "docs"] +dependencies = [ + "numpy>=1.23", +] +files = [ + {file = "contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7"}, + {file = "contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589"}, + {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d"}, + {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223"}, + {file = "contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f"}, + {file = "contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad"}, + {file = "contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1"}, + {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c"}, + {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb"}, + {file = "contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c"}, + {file = "contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f"}, + {file = "contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06"}, + {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd"}, + {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35"}, + {file = "contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb"}, + {file = "contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3"}, + {file = "contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b"}, + {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14"}, + {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8"}, + {file = "contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294"}, + {file = "contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8"}, + {file = "contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8"}, + {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2"}, + {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8"}, + {file = "contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc"}, + {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e"}, + {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800"}, + {file = "contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5"}, + {file = "contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779"}, + {file = "contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102"}, + {file = "contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb"}, + {file = "contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4"}, +] + +[[package]] +name = "cycler" +version = "0.12.1" +requires_python = ">=3.8" +summary = "Composable style cycles" +groups = ["cli-dev", "docs"] +files = [ + {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, + {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, +] + +[[package]] +name = "debugpy" +version = "1.8.5" +requires_python = ">=3.8" +summary = "An implementation of the Debug Adapter Protocol for Python" +groups = ["docs"] +files = [ + {file = "debugpy-1.8.5-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:7e4d594367d6407a120b76bdaa03886e9eb652c05ba7f87e37418426ad2079f7"}, + {file = "debugpy-1.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4413b7a3ede757dc33a273a17d685ea2b0c09dbd312cc03f5534a0fd4d40750a"}, + {file = "debugpy-1.8.5-cp310-cp310-win32.whl", hash = "sha256:dd3811bd63632bb25eda6bd73bea8e0521794cda02be41fa3160eb26fc29e7ed"}, + {file = "debugpy-1.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:b78c1250441ce893cb5035dd6f5fc12db968cc07f91cc06996b2087f7cefdd8e"}, + {file = "debugpy-1.8.5-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:606bccba19f7188b6ea9579c8a4f5a5364ecd0bf5a0659c8a5d0e10dcee3032a"}, + {file = "debugpy-1.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db9fb642938a7a609a6c865c32ecd0d795d56c1aaa7a7a5722d77855d5e77f2b"}, + {file = "debugpy-1.8.5-cp311-cp311-win32.whl", hash = "sha256:4fbb3b39ae1aa3e5ad578f37a48a7a303dad9a3d018d369bc9ec629c1cfa7408"}, + {file = "debugpy-1.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:345d6a0206e81eb68b1493ce2fbffd57c3088e2ce4b46592077a943d2b968ca3"}, + {file = "debugpy-1.8.5-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:5b5c770977c8ec6c40c60d6f58cacc7f7fe5a45960363d6974ddb9b62dbee156"}, + {file = "debugpy-1.8.5-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0a65b00b7cdd2ee0c2cf4c7335fef31e15f1b7056c7fdbce9e90193e1a8c8cb"}, + {file = "debugpy-1.8.5-cp312-cp312-win32.whl", hash = "sha256:c9f7c15ea1da18d2fcc2709e9f3d6de98b69a5b0fff1807fb80bc55f906691f7"}, + {file = "debugpy-1.8.5-cp312-cp312-win_amd64.whl", hash = "sha256:28ced650c974aaf179231668a293ecd5c63c0a671ae6d56b8795ecc5d2f48d3c"}, + {file = "debugpy-1.8.5-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:0a1029a2869d01cb777216af8c53cda0476875ef02a2b6ff8b2f2c9a4b04176c"}, + {file = "debugpy-1.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84c276489e141ed0b93b0af648eef891546143d6a48f610945416453a8ad406"}, + {file = "debugpy-1.8.5-cp39-cp39-win32.whl", hash = "sha256:ad84b7cde7fd96cf6eea34ff6c4a1b7887e0fe2ea46e099e53234856f9d99a34"}, + {file = "debugpy-1.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:7b0fe36ed9d26cb6836b0a51453653f8f2e347ba7348f2bbfe76bfeb670bfb1c"}, + {file = "debugpy-1.8.5-py2.py3-none-any.whl", hash = "sha256:55919dce65b471eff25901acf82d328bbd5b833526b6c1364bd5133754777a44"}, + {file = "debugpy-1.8.5.zip", hash = "sha256:b2112cfeb34b4507399d298fe7023a16656fc553ed5246536060ca7bd0e668d0"}, +] + +[[package]] +name = "decorator" +version = "5.1.1" +requires_python = ">=3.5" +summary = "Decorators for Humans" +groups = ["cli-dev", "docs"] +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +summary = "XML bomb protection for Python stdlib modules" +groups = ["docs"] +files = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] + +[[package]] +name = "dill" +version = "0.3.8" +requires_python = ">=3.8" +summary = "serialize all of Python" +groups = ["test"] +files = [ + {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, + {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, +] + +[[package]] +name = "distlib" +version = "0.3.8" +summary = "Distribution utilities" +groups = ["lint", "test"] +files = [ + {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, + {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, +] + +[[package]] +name = "docformatter" +version = "1.7.5" +requires_python = ">=3.7,<4.0" +summary = "Formats docstrings to follow PEP 257" +groups = ["lint"] +dependencies = [ + "charset-normalizer<4.0.0,>=3.0.0", + "untokenize<0.2.0,>=0.1.1", +] +files = [ + {file = "docformatter-1.7.5-py3-none-any.whl", hash = "sha256:a24f5545ed1f30af00d106f5d85dc2fce4959295687c24c8f39f5263afaf9186"}, + {file = "docformatter-1.7.5.tar.gz", hash = "sha256:ffed3da0daffa2e77f80ccba4f0e50bfa2755e1c10e130102571c890a61b246e"}, +] + +[[package]] +name = "docformatter" +version = "1.7.5" +extras = ["tomli"] +requires_python = ">=3.7,<4.0" +summary = "Formats docstrings to follow PEP 257" +groups = ["lint"] +dependencies = [ + "docformatter==1.7.5", + "tomli<3.0.0,>=2.0.0; python_version < \"3.11\"", +] +files = [ + {file = "docformatter-1.7.5-py3-none-any.whl", hash = "sha256:a24f5545ed1f30af00d106f5d85dc2fce4959295687c24c8f39f5263afaf9186"}, + {file = "docformatter-1.7.5.tar.gz", hash = "sha256:ffed3da0daffa2e77f80ccba4f0e50bfa2755e1c10e130102571c890a61b246e"}, +] + +[[package]] +name = "editorconfig" +version = "0.12.4" +summary = "EditorConfig File Locator and Interpreter for Python" +groups = ["docs"] +files = [ + {file = "EditorConfig-0.12.4.tar.gz", hash = "sha256:24857fa1793917dd9ccf0c7810a07e05404ce9b823521c7dce22a4fb5d125f80"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +requires_python = ">=3.7" +summary = "Backport of PEP 654 (exception groups)" +groups = ["cli-dev", "docs", "license", "test"] +marker = "python_version < \"3.11\"" +files = [ + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, +] + +[[package]] +name = "executing" +version = "2.1.0" +requires_python = ">=3.8" +summary = "Get the currently executing AST node of a frame, and other information" +groups = ["cli-dev", "docs"] +files = [ + {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, + {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, +] + +[[package]] +name = "fastjsonschema" +version = "2.20.0" +summary = "Fastest Python implementation of JSON schema" +groups = ["docs"] +files = [ + {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"}, + {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"}, +] + +[[package]] +name = "fhconfparser" +version = "2024.1" +requires_python = ">=3.8,<4.0" +summary = "Provides a config language independent way to read a config file." +groups = ["license"] +dependencies = [ + "attrs<24,>=23.2.0", + "tomli<3,>=2.0.1", +] +files = [ + {file = "fhconfparser-2024.1-py3-none-any.whl", hash = "sha256:f6048cb646e69a3422a581bc0102150c2b79fe7ff26b82233e5ef52f72820e3e"}, + {file = "fhconfparser-2024.1.tar.gz", hash = "sha256:de8af019f0071e614d523985e1d93e0fce20a409d1c64dead03b1b665d4b2e4d"}, +] + +[[package]] +name = "filelock" +version = "3.15.4" +requires_python = ">=3.8" +summary = "A platform independent file lock." +groups = ["lint", "test"] +files = [ + {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, + {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, +] + +[[package]] +name = "folium" +version = "0.17.0" +requires_python = ">=3.8" +summary = "Make beautiful maps with Leaflet.js & Python" +groups = ["cli-dev"] +dependencies = [ + "branca>=0.6.0", + "jinja2>=2.9", + "numpy", + "requests", + "xyzservices", +] +files = [ + {file = "folium-0.17.0-py2.py3-none-any.whl", hash = "sha256:14210d054e9afad6ebac037495508297d78805fcfa16f859fdee10bb7f85c2c1"}, + {file = "folium-0.17.0.tar.gz", hash = "sha256:48385df9a3f6ceca23647c2e8d87850c8a6e05b40db63266e7b8c6d2d734d4c6"}, +] + +[[package]] +name = "fonttools" +version = "4.53.1" +requires_python = ">=3.8" +summary = "Tools to manipulate font files" +groups = ["cli-dev", "docs"] +files = [ + {file = "fonttools-4.53.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0679a30b59d74b6242909945429dbddb08496935b82f91ea9bf6ad240ec23397"}, + {file = "fonttools-4.53.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8bf06b94694251861ba7fdeea15c8ec0967f84c3d4143ae9daf42bbc7717fe3"}, + {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b96cd370a61f4d083c9c0053bf634279b094308d52fdc2dd9a22d8372fdd590d"}, + {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1c7c5aa18dd3b17995898b4a9b5929d69ef6ae2af5b96d585ff4005033d82f0"}, + {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e013aae589c1c12505da64a7d8d023e584987e51e62006e1bb30d72f26522c41"}, + {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9efd176f874cb6402e607e4cc9b4a9cd584d82fc34a4b0c811970b32ba62501f"}, + {file = "fonttools-4.53.1-cp310-cp310-win32.whl", hash = "sha256:c8696544c964500aa9439efb6761947393b70b17ef4e82d73277413f291260a4"}, + {file = "fonttools-4.53.1-cp310-cp310-win_amd64.whl", hash = "sha256:8959a59de5af6d2bec27489e98ef25a397cfa1774b375d5787509c06659b3671"}, + {file = "fonttools-4.53.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da33440b1413bad53a8674393c5d29ce64d8c1a15ef8a77c642ffd900d07bfe1"}, + {file = "fonttools-4.53.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ff7e5e9bad94e3a70c5cd2fa27f20b9bb9385e10cddab567b85ce5d306ea923"}, + {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6e7170d675d12eac12ad1a981d90f118c06cf680b42a2d74c6c931e54b50719"}, + {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bee32ea8765e859670c4447b0817514ca79054463b6b79784b08a8df3a4d78e3"}, + {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6e08f572625a1ee682115223eabebc4c6a2035a6917eac6f60350aba297ccadb"}, + {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b21952c092ffd827504de7e66b62aba26fdb5f9d1e435c52477e6486e9d128b2"}, + {file = "fonttools-4.53.1-cp311-cp311-win32.whl", hash = "sha256:9dfdae43b7996af46ff9da520998a32b105c7f098aeea06b2226b30e74fbba88"}, + {file = "fonttools-4.53.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4d0096cb1ac7a77b3b41cd78c9b6bc4a400550e21dc7a92f2b5ab53ed74eb02"}, + {file = "fonttools-4.53.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d92d3c2a1b39631a6131c2fa25b5406855f97969b068e7e08413325bc0afba58"}, + {file = "fonttools-4.53.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3b3c8ebafbee8d9002bd8f1195d09ed2bd9ff134ddec37ee8f6a6375e6a4f0e8"}, + {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32f029c095ad66c425b0ee85553d0dc326d45d7059dbc227330fc29b43e8ba60"}, + {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10f5e6c3510b79ea27bb1ebfcc67048cde9ec67afa87c7dd7efa5c700491ac7f"}, + {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f677ce218976496a587ab17140da141557beb91d2a5c1a14212c994093f2eae2"}, + {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9e6ceba2a01b448e36754983d376064730690401da1dd104ddb543519470a15f"}, + {file = "fonttools-4.53.1-cp312-cp312-win32.whl", hash = "sha256:791b31ebbc05197d7aa096bbc7bd76d591f05905d2fd908bf103af4488e60670"}, + {file = "fonttools-4.53.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ed170b5e17da0264b9f6fae86073be3db15fa1bd74061c8331022bca6d09bab"}, + {file = "fonttools-4.53.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75a157d8d26c06e64ace9df037ee93a4938a4606a38cb7ffaf6635e60e253b7a"}, + {file = "fonttools-4.53.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4824c198f714ab5559c5be10fd1adf876712aa7989882a4ec887bf1ef3e00e31"}, + {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:becc5d7cb89c7b7afa8321b6bb3dbee0eec2b57855c90b3e9bf5fb816671fa7c"}, + {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84ec3fb43befb54be490147b4a922b5314e16372a643004f182babee9f9c3407"}, + {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:73379d3ffdeecb376640cd8ed03e9d2d0e568c9d1a4e9b16504a834ebadc2dfb"}, + {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:02569e9a810f9d11f4ae82c391ebc6fb5730d95a0657d24d754ed7763fb2d122"}, + {file = "fonttools-4.53.1-cp39-cp39-win32.whl", hash = "sha256:aae7bd54187e8bf7fd69f8ab87b2885253d3575163ad4d669a262fe97f0136cb"}, + {file = "fonttools-4.53.1-cp39-cp39-win_amd64.whl", hash = "sha256:e5b708073ea3d684235648786f5f6153a48dc8762cdfe5563c57e80787c29fbb"}, + {file = "fonttools-4.53.1-py3-none-any.whl", hash = "sha256:f1f8758a2ad110bd6432203a344269f445a2907dc24ef6bccfd0ac4e14e0d71d"}, + {file = "fonttools-4.53.1.tar.gz", hash = "sha256:e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4"}, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +requires_python = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" +summary = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" +groups = ["docs"] +dependencies = [ + "cached-property>=1.3.0; python_version < \"3.8\"", +] +files = [ + {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, + {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, +] + +[[package]] +name = "frozenlist" +version = "1.4.1" +requires_python = ">=3.8" +summary = "A list-like structure which implements collections.abc.MutableSequence" +groups = ["default"] +files = [ + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, + {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, + {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, + {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, + {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, + {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, + {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, + {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, + {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, + {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, + {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, +] + +[[package]] +name = "fsspec" +version = "2024.6.1" +requires_python = ">=3.8" +summary = "File-system specification" +groups = ["default"] +files = [ + {file = "fsspec-2024.6.1-py3-none-any.whl", hash = "sha256:3cb443f8bcd2efb31295a5b9fdb02aee81d8452c80d28f97a6d0959e6cee101e"}, + {file = "fsspec-2024.6.1.tar.gz", hash = "sha256:fad7d7e209dd4c1208e3bbfda706620e0da5142bebbd9c384afb95b07e798e49"}, +] + +[[package]] +name = "future" +version = "1.0.0" +requires_python = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +summary = "Clean single-source support for Python 3 and 2" +groups = ["test"] +files = [ + {file = "future-1.0.0-py3-none-any.whl", hash = "sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216"}, + {file = "future-1.0.0.tar.gz", hash = "sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05"}, +] + +[[package]] +name = "geographiclib" +version = "2.0" +requires_python = ">=3.7" +summary = "The geodesic routines from GeographicLib" +groups = ["docs"] +files = [ + {file = "geographiclib-2.0-py3-none-any.whl", hash = "sha256:6b7225248e45ff7edcee32becc4e0a1504c606ac5ee163a5656d482e0cd38734"}, + {file = "geographiclib-2.0.tar.gz", hash = "sha256:f7f41c85dc3e1c2d3d935ec86660dc3b2c848c83e17f9a9e51ba9d5146a15859"}, +] + +[[package]] +name = "geopandas" +version = "1.0.1" +requires_python = ">=3.9" +summary = "Geographic pandas extensions" +groups = ["default", "test"] +dependencies = [ + "numpy>=1.22", + "packaging", + "pandas>=1.4.0", + "pyogrio>=0.7.2", + "pyproj>=3.3.0", + "shapely>=2.0.0", +] +files = [ + {file = "geopandas-1.0.1-py3-none-any.whl", hash = "sha256:01e147d9420cc374d26f51fc23716ac307f32b49406e4bd8462c07e82ed1d3d6"}, + {file = "geopandas-1.0.1.tar.gz", hash = "sha256:b8bf70a5534588205b7a56646e2082fb1de9a03599651b3d80c99ea4c2ca08ab"}, +] + +[[package]] +name = "geopy" +version = "2.4.1" +requires_python = ">=3.7" +summary = "Python Geocoding Toolbox" +groups = ["docs"] +dependencies = [ + "geographiclib<3,>=1.52", +] +files = [ + {file = "geopy-2.4.1-py3-none-any.whl", hash = "sha256:ae8b4bc5c1131820f4d75fce9d4aaaca0c85189b3aa5d64c3dcaf5e3b7b882a7"}, + {file = "geopy-2.4.1.tar.gz", hash = "sha256:50283d8e7ad07d89be5cb027338c6365a32044df3ae2556ad3f52f4840b3d0d1"}, +] + +[[package]] +name = "ghp-import" +version = "2.1.0" +summary = "Copy your docs directly to the gh-pages branch." +groups = ["docs"] +dependencies = [ + "python-dateutil>=2.8.1", +] +files = [ + {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, + {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, +] + +[[package]] +name = "griffe" +version = "1.2.0" +requires_python = ">=3.8" +summary = "Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API." +groups = ["docs"] +dependencies = [ + "astunparse>=1.6; python_version < \"3.9\"", + "colorama>=0.4", +] +files = [ + {file = "griffe-1.2.0-py3-none-any.whl", hash = "sha256:a8b2fcb1ecdc5a412e646b0b4375eb20a5d2eac3a11dd8c10c56967a4097663c"}, + {file = "griffe-1.2.0.tar.gz", hash = "sha256:1c9f6ef7455930f3f9b0c4145a961c90385d1e2cbc496f7796fbff560ec60d31"}, +] + +[[package]] +name = "h11" +version = "0.14.0" +requires_python = ">=3.7" +summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +groups = ["docs"] +dependencies = [ + "typing-extensions; python_version < \"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"}, +] + +[[package]] +name = "h3" +version = "4.0.0b5" +summary = "Hierarchical hexagonal geospatial indexing system" +groups = ["test"] +files = [ + {file = "h3-4.0.0b5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7f2faa1affac39f72151217e0b05db8c92cc889aa60156cc60ece0947954760"}, + {file = "h3-4.0.0b5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:113d64ddaa77135deed5358d9c5a1348d202da3eac9c3887ebe618c8ab3891ac"}, + {file = "h3-4.0.0b5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96376862c3830da548e0f4b21fc46caf2fa2815412e3df673065da829f8fdfa0"}, + {file = "h3-4.0.0b5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92aed04bfd8d1188f37f5a2ea35d8a75742cc3ac5623e96879d968ddb5c34458"}, + {file = "h3-4.0.0b5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2cc951bff1c31f873ab553b0a29f9679b33bf62f9254c7c3388f022b085f7afe"}, + {file = "h3-4.0.0b5-cp310-cp310-win_amd64.whl", hash = "sha256:cff707ec83a60d430ba67eb99a27eb3285f98fdb219839bf08723711e60504d1"}, + {file = "h3-4.0.0b5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fd61a6e8cc3310495189dfcab4713d2a45926d4af5ffd6bd525c6e4fa190eed1"}, + {file = "h3-4.0.0b5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:63a49476b737926c2e134b49666429e45972b81abcba9fd8e09a3f3bdd7f027f"}, + {file = "h3-4.0.0b5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6077817e0172b93c565c4d15b9680b661b1cca441b43d1c26c3ab20b6a49b603"}, + {file = "h3-4.0.0b5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acca06614c695e25c2d5ccc4c7eef684870530e926049665e0d0b0643c5621cd"}, + {file = "h3-4.0.0b5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c02610496db3fee4fb754aebbbf8b09731afa39ba2fd0e26b5045940ef7b4cf3"}, + {file = "h3-4.0.0b5-cp311-cp311-win_amd64.whl", hash = "sha256:6a5cedb8c4e2766c518cd8089d2c47285b4b55b36addd2260c9bf49b2e76b8a5"}, + {file = "h3-4.0.0b5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a7a015011cf21679440eba57eedc71d2880416fab734e5594ef49875ef83969b"}, + {file = "h3-4.0.0b5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:15210d0c4f7691ac161f1bd3a111c6605f2005e8f395313ee91fad425551cbc5"}, + {file = "h3-4.0.0b5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ebac3e8daf8f573f55ca196d7c08087ff543062bd9c30c60e9d7fdb5e7068cb"}, + {file = "h3-4.0.0b5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77cebeeb4a39ef471179e17e95f583861baeefb3514c651ee29ece58299225be"}, + {file = "h3-4.0.0b5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:dd0407a022f01c3ee7be3b3513227d21dae4beafcb583018f545bef20f9f7c90"}, + {file = "h3-4.0.0b5-cp312-cp312-win_amd64.whl", hash = "sha256:21fe5ec68a3784f96e8cea1b50800290be3ea441c3ce382427d91c08ae1b9807"}, + {file = "h3-4.0.0b5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:86931ddbba5a34415b2e454580a3c9fddd0f51324b7c1b78f84d859f3868d673"}, + {file = "h3-4.0.0b5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ebbfb1138e0b9a6f4a5d3cb1aafd2070150b2146f5bd73cd46179d499e50ea32"}, + {file = "h3-4.0.0b5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:225b319ad9a3399296094b3dee026923a280adcca77e864144254e54a5d353bc"}, + {file = "h3-4.0.0b5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d4c67eb1c1d81627567010af73ac41f58a94217e4b66d413b3be6349993278c"}, + {file = "h3-4.0.0b5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1da967fff0c91664578de18831c9172aaceaf0c661b82fe55e0c809147e27e89"}, + {file = "h3-4.0.0b5-cp39-cp39-win_amd64.whl", hash = "sha256:1ff74c15bde588f98da9aa91106c88b3de3e9af3dbb6543b80db09cff9a815da"}, + {file = "h3-4.0.0b5.tar.gz", hash = "sha256:f194e1e4e88a7904ab4aef8835ba7e65839f1f1138bd349181a4d2784e4beb54"}, +] + +[[package]] +name = "h3ronpy" +version = "0.21.0" +summary = "Data science toolkit for the H3 geospatial grid" +groups = ["test"] +dependencies = [ + "Shapely>=1.7", + "numpy<2", + "pyarrow>=10.0", +] +files = [ + {file = "h3ronpy-0.21.0-cp38-abi3-macosx_10_14_x86_64.whl", hash = "sha256:49ac8d38a0cb8e2c9ea598473268b22fa99787669a141c8a20fc006ae1879602"}, + {file = "h3ronpy-0.21.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ca20696ea508268c1666f6aa9ebb4df4563e5c6dedb50e158dcafcca19ababf0"}, + {file = "h3ronpy-0.21.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c38489065e325da510fc1d552e4f096d0c7886ca3c52aeae5f7d5d720577462c"}, + {file = "h3ronpy-0.21.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5161bc3b4678df105fdb966e8561d5f28fbd6e6d2a0c0bffc6d798611a0857b0"}, + {file = "h3ronpy-0.21.0-cp38-abi3-win_amd64.whl", hash = "sha256:a76042a1c13ddfc35d37b0180b56e1a293744fe14b81205b3d5e15222a98dc17"}, +] + +[[package]] +name = "httpcore" +version = "1.0.5" +requires_python = ">=3.8" +summary = "A minimal low-level HTTP client." +groups = ["docs"] +dependencies = [ + "certifi", + "h11<0.15,>=0.13", +] +files = [ + {file = "httpcore-1.0.5-py3-none-any.whl", hash = "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5"}, + {file = "httpcore-1.0.5.tar.gz", hash = "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61"}, +] + +[[package]] +name = "httpx" +version = "0.27.2" +requires_python = ">=3.8" +summary = "The next generation HTTP client." +groups = ["docs"] +dependencies = [ + "anyio", + "certifi", + "httpcore==1.*", + "idna", + "sniffio", +] +files = [ + {file = "httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0"}, + {file = "httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2"}, +] + +[[package]] +name = "identify" +version = "2.6.0" +requires_python = ">=3.8" +summary = "File identification library for Python" +groups = ["lint"] +files = [ + {file = "identify-2.6.0-py2.py3-none-any.whl", hash = "sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0"}, + {file = "identify-2.6.0.tar.gz", hash = "sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf"}, +] + +[[package]] +name = "idna" +version = "3.8" +requires_python = ">=3.6" +summary = "Internationalized Domain Names in Applications (IDNA)" +groups = ["default", "cli-dev", "docs", "license", "test"] +files = [ + {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, + {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, +] + +[[package]] +name = "importlib-metadata" +version = "8.4.0" +requires_python = ">=3.8" +summary = "Read metadata from Python packages" +groups = ["docs", "license", "test"] +marker = "python_version < \"3.10\"" +dependencies = [ + "typing-extensions>=3.6.4; python_version < \"3.8\"", + "zipp>=0.5", +] +files = [ + {file = "importlib_metadata-8.4.0-py3-none-any.whl", hash = "sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1"}, + {file = "importlib_metadata-8.4.0.tar.gz", hash = "sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5"}, +] + +[[package]] +name = "importlib-resources" +version = "6.4.4" +requires_python = ">=3.8" +summary = "Read resources from Python packages" +groups = ["cli-dev", "docs"] +marker = "python_version < \"3.10\"" +dependencies = [ + "zipp>=3.1.0; python_version < \"3.10\"", +] +files = [ + {file = "importlib_resources-6.4.4-py3-none-any.whl", hash = "sha256:dda242603d1c9cd836c3368b1174ed74cb4049ecd209e7a1a0104620c18c5c11"}, + {file = "importlib_resources-6.4.4.tar.gz", hash = "sha256:20600c8b7361938dc0bb2d5ec0297802e575df486f5a544fa414da65e13721f7"}, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +requires_python = ">=3.7" +summary = "brain-dead simple config-ini parsing" +groups = ["test"] +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "ipykernel" +version = "6.29.5" +requires_python = ">=3.8" +summary = "IPython Kernel for Jupyter" +groups = ["docs"] +dependencies = [ + "appnope; platform_system == \"Darwin\"", + "comm>=0.1.1", + "debugpy>=1.6.5", + "ipython>=7.23.1", + "jupyter-client>=6.1.12", + "jupyter-core!=5.0.*,>=4.12", + "matplotlib-inline>=0.1", + "nest-asyncio", + "packaging", + "psutil", + "pyzmq>=24", + "tornado>=6.1", + "traitlets>=5.4.0", +] +files = [ + {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, + {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, +] + +[[package]] +name = "ipython" +version = "8.18.1" +requires_python = ">=3.9" +summary = "IPython: Productive Interactive Computing" +groups = ["cli-dev", "docs"] +dependencies = [ + "colorama; sys_platform == \"win32\"", + "decorator", + "exceptiongroup; python_version < \"3.11\"", + "jedi>=0.16", + "matplotlib-inline", + "pexpect>4.3; sys_platform != \"win32\"", + "prompt-toolkit<3.1.0,>=3.0.41", + "pygments>=2.4.0", + "stack-data", + "traitlets>=5", + "typing-extensions; python_version < \"3.10\"", +] +files = [ + {file = "ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397"}, + {file = "ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27"}, +] + +[[package]] +name = "ipywidgets" +version = "8.1.5" +requires_python = ">=3.7" +summary = "Jupyter interactive widgets" +groups = ["cli-dev", "docs"] +dependencies = [ + "comm>=0.1.3", + "ipython>=6.1.0", + "jupyterlab-widgets~=3.0.12", + "traitlets>=4.3.1", + "widgetsnbextension~=4.0.12", +] +files = [ + {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, + {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +requires_python = ">=3.7" +summary = "Operations with ISO 8601 durations" +groups = ["docs"] +dependencies = [ + "arrow>=0.15.0", +] +files = [ + {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, + {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, +] + +[[package]] +name = "jedi" +version = "0.19.1" +requires_python = ">=3.6" +summary = "An autocompletion tool for Python that can be used for text editors." +groups = ["cli-dev", "docs"] +dependencies = [ + "parso<0.9.0,>=0.8.3", +] +files = [ + {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, + {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, +] + +[[package]] +name = "jinja2" +version = "3.1.4" +requires_python = ">=3.7" +summary = "A very fast and expressive template engine." +groups = ["cli-dev", "docs"] +dependencies = [ + "MarkupSafe>=2.0", +] +files = [ + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, +] + +[[package]] +name = "joblib" +version = "1.4.2" +requires_python = ">=3.8" +summary = "Lightweight pipelining with Python functions" +groups = ["default", "cli-dev", "docs"] +files = [ + {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, + {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, +] + +[[package]] +name = "jsbeautifier" +version = "1.15.1" +summary = "JavaScript unobfuscator and beautifier." +groups = ["docs"] +dependencies = [ + "editorconfig>=0.12.2", + "six>=1.13.0", +] +files = [ + {file = "jsbeautifier-1.15.1.tar.gz", hash = "sha256:ebd733b560704c602d744eafc839db60a1ee9326e30a2a80c4adb8718adc1b24"}, +] + +[[package]] +name = "json5" +version = "0.9.25" +requires_python = ">=3.8" +summary = "A Python implementation of the JSON5 data format." +groups = ["docs"] +files = [ + {file = "json5-0.9.25-py3-none-any.whl", hash = "sha256:34ed7d834b1341a86987ed52f3f76cd8ee184394906b6e22a1e0deb9ab294e8f"}, + {file = "json5-0.9.25.tar.gz", hash = "sha256:548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae"}, +] + +[[package]] +name = "jsonpointer" +version = "3.0.0" +requires_python = ">=3.7" +summary = "Identify specific nodes in a JSON document (RFC 6901) " +groups = ["docs"] +files = [ + {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, + {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, +] + +[[package]] +name = "jsonschema" +version = "4.23.0" +requires_python = ">=3.8" +summary = "An implementation of JSON Schema validation for Python" +groups = ["docs"] +dependencies = [ + "attrs>=22.2.0", + "importlib-resources>=1.4.0; python_version < \"3.9\"", + "jsonschema-specifications>=2023.03.6", + "pkgutil-resolve-name>=1.3.10; python_version < \"3.9\"", + "referencing>=0.28.4", + "rpds-py>=0.7.1", +] +files = [ + {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, + {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, +] + +[[package]] +name = "jsonschema-specifications" +version = "2023.12.1" +requires_python = ">=3.8" +summary = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +groups = ["docs"] +dependencies = [ + "importlib-resources>=1.4.0; python_version < \"3.9\"", + "referencing>=0.31.0", +] +files = [ + {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, + {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, +] + +[[package]] +name = "jsonschema" +version = "4.23.0" +extras = ["format-nongpl"] +requires_python = ">=3.8" +summary = "An implementation of JSON Schema validation for Python" +groups = ["docs"] +dependencies = [ + "fqdn", + "idna", + "isoduration", + "jsonpointer>1.13", + "jsonschema==4.23.0", + "rfc3339-validator", + "rfc3986-validator>0.1.0", + "uri-template", + "webcolors>=24.6.0", +] +files = [ + {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, + {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, +] + +[[package]] +name = "jupyter" +version = "1.1.1" +summary = "Jupyter metapackage. Install all the Jupyter components in one go." +groups = ["docs"] +dependencies = [ + "ipykernel", + "ipywidgets", + "jupyter-console", + "jupyterlab", + "nbconvert", + "notebook", +] +files = [ + {file = "jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83"}, + {file = "jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a"}, +] + +[[package]] +name = "jupyter-client" +version = "8.6.2" +requires_python = ">=3.8" +summary = "Jupyter protocol implementation and client libraries" +groups = ["docs"] +dependencies = [ + "importlib-metadata>=4.8.3; python_version < \"3.10\"", + "jupyter-core!=5.0.*,>=4.12", + "python-dateutil>=2.8.2", + "pyzmq>=23.0", + "tornado>=6.2", + "traitlets>=5.3", +] +files = [ + {file = "jupyter_client-8.6.2-py3-none-any.whl", hash = "sha256:50cbc5c66fd1b8f65ecb66bc490ab73217993632809b6e505687de18e9dea39f"}, + {file = "jupyter_client-8.6.2.tar.gz", hash = "sha256:2bda14d55ee5ba58552a8c53ae43d215ad9868853489213f37da060ced54d8df"}, +] + +[[package]] +name = "jupyter-console" +version = "6.6.3" +requires_python = ">=3.7" +summary = "Jupyter terminal console" +groups = ["docs"] +dependencies = [ + "ipykernel>=6.14", + "ipython", + "jupyter-client>=7.0.0", + "jupyter-core!=5.0.*,>=4.12", + "prompt-toolkit>=3.0.30", + "pygments", + "pyzmq>=17", + "traitlets>=5.4", +] +files = [ + {file = "jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485"}, + {file = "jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539"}, +] + +[[package]] +name = "jupyter-core" +version = "5.7.2" +requires_python = ">=3.8" +summary = "Jupyter core package. A base package on which Jupyter projects rely." +groups = ["docs"] +dependencies = [ + "platformdirs>=2.5", + "pywin32>=300; sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"", + "traitlets>=5.3", +] +files = [ + {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, + {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, +] + +[[package]] +name = "jupyter-events" +version = "0.10.0" +requires_python = ">=3.8" +summary = "Jupyter Event System library" +groups = ["docs"] +dependencies = [ + "jsonschema[format-nongpl]>=4.18.0", + "python-json-logger>=2.0.4", + "pyyaml>=5.3", + "referencing", + "rfc3339-validator", + "rfc3986-validator>=0.1.1", + "traitlets>=5.3", +] +files = [ + {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, + {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, +] + +[[package]] +name = "jupyter-lsp" +version = "2.2.5" +requires_python = ">=3.8" +summary = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" +groups = ["docs"] +dependencies = [ + "importlib-metadata>=4.8.3; python_version < \"3.10\"", + "jupyter-server>=1.1.2", +] +files = [ + {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"}, + {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"}, +] + +[[package]] +name = "jupyter-server" +version = "2.14.2" +requires_python = ">=3.8" +summary = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." +groups = ["docs"] +dependencies = [ + "anyio>=3.1.0", + "argon2-cffi>=21.1", + "jinja2>=3.0.3", + "jupyter-client>=7.4.4", + "jupyter-core!=5.0.*,>=4.12", + "jupyter-events>=0.9.0", + "jupyter-server-terminals>=0.4.4", + "nbconvert>=6.4.4", + "nbformat>=5.3.0", + "overrides>=5.0", + "packaging>=22.0", + "prometheus-client>=0.9", + "pywinpty>=2.0.1; os_name == \"nt\"", + "pyzmq>=24", + "send2trash>=1.8.2", + "terminado>=0.8.3", + "tornado>=6.2.0", + "traitlets>=5.6.0", + "websocket-client>=1.7", +] +files = [ + {file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"}, + {file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"}, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.3" +requires_python = ">=3.8" +summary = "A Jupyter Server Extension Providing Terminals." +groups = ["docs"] +dependencies = [ + "pywinpty>=2.0.3; os_name == \"nt\"", + "terminado>=0.8.3", +] +files = [ + {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, + {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, +] + +[[package]] +name = "jupyterlab" +version = "4.2.5" +requires_python = ">=3.8" +summary = "JupyterLab computational environment" +groups = ["docs"] +dependencies = [ + "async-lru>=1.0.0", + "httpx>=0.25.0", + "importlib-metadata>=4.8.3; python_version < \"3.10\"", + "importlib-resources>=1.4; python_version < \"3.9\"", + "ipykernel>=6.5.0", + "jinja2>=3.0.3", + "jupyter-core", + "jupyter-lsp>=2.0.0", + "jupyter-server<3,>=2.4.0", + "jupyterlab-server<3,>=2.27.1", + "notebook-shim>=0.2", + "packaging", + "setuptools>=40.1.0", + "tomli>=1.2.2; python_version < \"3.11\"", + "tornado>=6.2.0", + "traitlets", +] +files = [ + {file = "jupyterlab-4.2.5-py3-none-any.whl", hash = "sha256:73b6e0775d41a9fee7ee756c80f58a6bed4040869ccc21411dc559818874d321"}, + {file = "jupyterlab-4.2.5.tar.gz", hash = "sha256:ae7f3a1b8cb88b4f55009ce79fa7c06f99d70cd63601ee4aa91815d054f46f75"}, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +requires_python = ">=3.8" +summary = "Pygments theme using JupyterLab CSS variables" +groups = ["docs"] +files = [ + {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, + {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, +] + +[[package]] +name = "jupyterlab-server" +version = "2.27.3" +requires_python = ">=3.8" +summary = "A set of server components for JupyterLab and JupyterLab like applications." +groups = ["docs"] +dependencies = [ + "babel>=2.10", + "importlib-metadata>=4.8.3; python_version < \"3.10\"", + "jinja2>=3.0.3", + "json5>=0.9.0", + "jsonschema>=4.18.0", + "jupyter-server<3,>=1.21", + "packaging>=21.3", + "requests>=2.31", +] +files = [ + {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"}, + {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"}, +] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.13" +requires_python = ">=3.7" +summary = "Jupyter interactive widgets for JupyterLab" +groups = ["cli-dev", "docs"] +files = [ + {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, + {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, +] + +[[package]] +name = "jupytext" +version = "1.16.4" +requires_python = ">=3.8" +summary = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts" +groups = ["docs"] +dependencies = [ + "markdown-it-py>=1.0", + "mdit-py-plugins", + "nbformat", + "packaging", + "pyyaml", + "tomli; python_version < \"3.11\"", +] +files = [ + {file = "jupytext-1.16.4-py3-none-any.whl", hash = "sha256:76989d2690e65667ea6fb411d8056abe7cd0437c07bd774660b83d62acf9490a"}, + {file = "jupytext-1.16.4.tar.gz", hash = "sha256:28e33f46f2ce7a41fb9d677a4a2c95327285579b64ca104437c4b9eb1e4174e9"}, +] + +[[package]] +name = "kiwisolver" +version = "1.4.5" +requires_python = ">=3.7" +summary = "A fast implementation of the Cassowary constraint solver" +groups = ["cli-dev", "docs"] +dependencies = [ + "typing-extensions; python_version < \"3.8\"", +] +files = [ + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"}, + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"}, + {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"}, + {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"}, + {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"}, + {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"}, + {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"}, + {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"}, + {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"}, + {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"}, + {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"}, + {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"}, + {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"}, + {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"}, + {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"}, + {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"}, + {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"}, + {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"}, + {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"}, + {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"}, + {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"}, + {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"}, + {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"}, + {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, +] + +[[package]] +name = "lexid" +version = "2021.1006" +requires_python = ">=2.7" +summary = "Variable width build numbers with lexical ordering." +groups = ["dev"] +dependencies = [ + "typing; python_version < \"3.5\"", +] +files = [ + {file = "lexid-2021.1006-py2.py3-none-any.whl", hash = "sha256:5526bb5606fd74c7add23320da5f02805bddd7c77916f2dc1943e6bada8605ed"}, + {file = "lexid-2021.1006.tar.gz", hash = "sha256:509a3a4cc926d3dbf22b203b18a4c66c25e6473fb7c0e0d30374533ac28bafe5"}, +] + +[[package]] +name = "licensecheck" +version = "2024.3" +requires_python = "<4.0,>=3.8" +summary = "Output the licenses used by dependencies and check if these are compatible with the project license" +groups = ["license"] +dependencies = [ + "appdirs<2,>=1.4.4", + "fhconfparser<2026,>=2024.1", + "loguru<2,>=0.7.2", + "markdown<4,>=3.6", + "packaging<25,>=24.0", + "requests-cache<2,>=1.2.0", + "requests<3,>=2.31.0", + "requirements-parser<2,>=0.11.0", + "rich<14,>=13.7.1", + "tomli<3,>=2.0.1", + "uv<2,>=0.3.3", +] +files = [ + {file = "licensecheck-2024.3-py3-none-any.whl", hash = "sha256:0baef4c1865e0325a35ff25ed12a0c7094035b7dcfbab9a1abfe43d7735adebe"}, + {file = "licensecheck-2024.3.tar.gz", hash = "sha256:e838e1c87a7ede553df376ad35a69d7c4b02676df0fba9dd1c6a6866eb0e0ee5"}, +] + +[[package]] +name = "loguru" +version = "0.7.2" +requires_python = ">=3.5" +summary = "Python logging made (stupidly) simple" +groups = ["license"] +dependencies = [ + "aiocontextvars>=0.2.0; python_version < \"3.7\"", + "colorama>=0.3.4; sys_platform == \"win32\"", + "win32-setctime>=1.0.0; sys_platform == \"win32\"", +] +files = [ + {file = "loguru-0.7.2-py3-none-any.whl", hash = "sha256:003d71e3d3ed35f0f8984898359d65b79e5b21943f78af86aa5491210429b8eb"}, + {file = "loguru-0.7.2.tar.gz", hash = "sha256:e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac"}, +] + +[[package]] +name = "looseversion" +version = "1.3.0" +summary = "Version numbering for anarchists and software realists" +groups = ["dev"] +marker = "python_version >= \"3.5\"" +files = [ + {file = "looseversion-1.3.0-py2.py3-none-any.whl", hash = "sha256:781ef477b45946fc03dd4c84ea87734b21137ecda0e1e122bcb3c8d16d2a56e0"}, + {file = "looseversion-1.3.0.tar.gz", hash = "sha256:ebde65f3f6bb9531a81016c6fef3eb95a61181adc47b7f949e9c0ea47911669e"}, +] + +[[package]] +name = "mapclassify" +version = "2.8.0" +requires_python = ">=3.9" +summary = "Classification Schemes for Choropleth Maps." +groups = ["cli-dev"] +dependencies = [ + "networkx>=2.7", + "numpy>=1.23", + "pandas!=1.5.0,>=1.4", + "scikit-learn>=1.0", + "scipy>=1.8", +] +files = [ + {file = "mapclassify-2.8.0-py3-none-any.whl", hash = "sha256:fa99b107aeead9862607af7ff9bafaa15ee8e485d432be3140f3fd3b878b9451"}, + {file = "mapclassify-2.8.0.tar.gz", hash = "sha256:b53a5f1d0d43342a333420aa5946c76ea1c3f97f38857f39b5e9f99c35272a3f"}, +] + +[[package]] +name = "markdown" +version = "3.7" +requires_python = ">=3.8" +summary = "Python implementation of John Gruber's Markdown." +groups = ["docs", "license"] +dependencies = [ + "importlib-metadata>=4.4; python_version < \"3.10\"", +] +files = [ + {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, + {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, +] + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +requires_python = ">=3.8" +summary = "Python port of markdown-it. Markdown parsing, done right!" +groups = ["default", "docs", "license"] +dependencies = [ + "mdurl~=0.1", +] +files = [ + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, +] + +[[package]] +name = "markupsafe" +version = "2.1.5" +requires_python = ">=3.7" +summary = "Safely add untrusted strings to HTML/XML markup." +groups = ["cli-dev", "docs"] +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "matplotlib" +version = "3.9.2" +requires_python = ">=3.9" +summary = "Python plotting package" +groups = ["cli-dev", "docs"] +dependencies = [ + "contourpy>=1.0.1", + "cycler>=0.10", + "fonttools>=4.22.0", + "importlib-resources>=3.2.0; python_version < \"3.10\"", + "kiwisolver>=1.3.1", + "numpy>=1.23", + "packaging>=20.0", + "pillow>=8", + "pyparsing>=2.3.1", + "python-dateutil>=2.7", +] +files = [ + {file = "matplotlib-3.9.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb"}, + {file = "matplotlib-3.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64"}, + {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66"}, + {file = "matplotlib-3.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a"}, + {file = "matplotlib-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"}, + {file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"}, + {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"}, + {file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"}, + {file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9"}, + {file = "matplotlib-3.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7"}, + {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c"}, + {file = "matplotlib-3.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e"}, + {file = "matplotlib-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9"}, + {file = "matplotlib-3.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b"}, + {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"}, + {file = "matplotlib-3.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b"}, + {file = "matplotlib-3.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03"}, + {file = "matplotlib-3.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51"}, + {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c"}, + {file = "matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2"}, + {file = "matplotlib-3.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5"}, + {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca"}, + {file = "matplotlib-3.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea"}, + {file = "matplotlib-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc"}, + {file = "matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697"}, + {file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"}, +] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +requires_python = ">=3.8" +summary = "Inline Matplotlib backend for Jupyter" +groups = ["cli-dev", "docs"] +dependencies = [ + "traitlets", +] +files = [ + {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, + {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, +] + +[[package]] +name = "mdit-py-plugins" +version = "0.4.1" +requires_python = ">=3.8" +summary = "Collection of plugins for markdown-it-py" +groups = ["docs"] +dependencies = [ + "markdown-it-py<4.0.0,>=1.0.0", +] +files = [ + {file = "mdit_py_plugins-0.4.1-py3-none-any.whl", hash = "sha256:1020dfe4e6bfc2c79fb49ae4e3f5b297f5ccd20f010187acc52af2921e27dc6a"}, + {file = "mdit_py_plugins-0.4.1.tar.gz", hash = "sha256:834b8ac23d1cd60cec703646ffd22ae97b7955a6d596eb1d304be1e251ae499c"}, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +requires_python = ">=3.7" +summary = "Markdown URL utilities" +groups = ["default", "docs", "license"] +files = [ + {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, + {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, +] + +[[package]] +name = "mercantile" +version = "1.2.1" +summary = "Web mercator XYZ tile utilities" +groups = ["docs"] +dependencies = [ + "click>=3.0", +] +files = [ + {file = "mercantile-1.2.1-py3-none-any.whl", hash = "sha256:30f457a73ee88261aab787b7069d85961a5703bb09dc57a170190bc042cd023f"}, + {file = "mercantile-1.2.1.tar.gz", hash = "sha256:fa3c6db15daffd58454ac198b31887519a19caccee3f9d63d17ae7ff61b3b56b"}, +] + +[[package]] +name = "mergedeep" +version = "1.3.4" +requires_python = ">=3.6" +summary = "A deep merge function for 🐍." +groups = ["docs"] +files = [ + {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, + {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, +] + +[[package]] +name = "mike" +version = "1.1.2" +summary = "Manage multiple versions of your MkDocs-powered documentation" +groups = ["docs"] +dependencies = [ + "jinja2", + "mkdocs>=1.0", + "pyyaml>=5.1", + "verspec", +] +files = [ + {file = "mike-1.1.2-py3-none-any.whl", hash = "sha256:4c307c28769834d78df10f834f57f810f04ca27d248f80a75f49c6fa2d1527ca"}, + {file = "mike-1.1.2.tar.gz", hash = "sha256:56c3f1794c2d0b5fdccfa9b9487beb013ca813de2e3ad0744724e9d34d40b77b"}, +] + +[[package]] +name = "mistune" +version = "3.0.2" +requires_python = ">=3.7" +summary = "A sane and fast Markdown parser with useful plugins and renderers" +groups = ["docs"] +files = [ + {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, + {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, +] + +[[package]] +name = "mkdocs" +version = "1.6.1" +requires_python = ">=3.8" +summary = "Project documentation with Markdown." +groups = ["docs"] +dependencies = [ + "click>=7.0", + "colorama>=0.4; platform_system == \"Windows\"", + "ghp-import>=1.0", + "importlib-metadata>=4.4; python_version < \"3.10\"", + "jinja2>=2.11.1", + "markdown>=3.3.6", + "markupsafe>=2.0.1", + "mergedeep>=1.3.4", + "mkdocs-get-deps>=0.2.0", + "packaging>=20.5", + "pathspec>=0.11.1", + "pyyaml-env-tag>=0.1", + "pyyaml>=5.1", + "watchdog>=2.0", +] +files = [ + {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, + {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, +] + +[[package]] +name = "mkdocs-autorefs" +version = "1.2.0" +requires_python = ">=3.8" +summary = "Automatically link across pages in MkDocs." +groups = ["docs"] +dependencies = [ + "Markdown>=3.3", + "markupsafe>=2.0.1", + "mkdocs>=1.1", +] +files = [ + {file = "mkdocs_autorefs-1.2.0-py3-none-any.whl", hash = "sha256:d588754ae89bd0ced0c70c06f58566a4ee43471eeeee5202427da7de9ef85a2f"}, + {file = "mkdocs_autorefs-1.2.0.tar.gz", hash = "sha256:a86b93abff653521bda71cf3fc5596342b7a23982093915cb74273f67522190f"}, +] + +[[package]] +name = "mkdocs-awesome-pages-plugin" +version = "2.9.3" +requires_python = ">=3.8.1" +summary = "An MkDocs plugin that simplifies configuring page titles and their order" +groups = ["docs"] +dependencies = [ + "mkdocs>=1", + "natsort>=8.1.0", + "wcmatch>=7", +] +files = [ + {file = "mkdocs_awesome_pages_plugin-2.9.3-py3-none-any.whl", hash = "sha256:1ba433d4e7edaf8661b15b93267f78f78e2e06ca590fc0e651ea36b191d64ae4"}, + {file = "mkdocs_awesome_pages_plugin-2.9.3.tar.gz", hash = "sha256:bdf6369871f41bb17f09c3cfb573367732dfcceb5673d7a2c5c76ac2567b242f"}, +] + +[[package]] +name = "mkdocs-gen-files" +version = "0.5.0" +requires_python = ">=3.7" +summary = "MkDocs plugin to programmatically generate documentation pages during the build" +groups = ["docs"] +dependencies = [ + "mkdocs>=1.0.3", +] +files = [ + {file = "mkdocs_gen_files-0.5.0-py3-none-any.whl", hash = "sha256:7ac060096f3f40bd19039e7277dd3050be9a453c8ac578645844d4d91d7978ea"}, + {file = "mkdocs_gen_files-0.5.0.tar.gz", hash = "sha256:4c7cf256b5d67062a788f6b1d035e157fc1a9498c2399be9af5257d4ff4d19bc"}, +] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.0" +requires_python = ">=3.8" +summary = "MkDocs extension that lists all dependencies according to a mkdocs.yml file" +groups = ["docs"] +dependencies = [ + "importlib-metadata>=4.3; python_version < \"3.10\"", + "mergedeep>=1.3.4", + "platformdirs>=2.2.0", + "pyyaml>=5.1", +] +files = [ + {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, + {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, +] + +[[package]] +name = "mkdocs-jupyter" +version = "0.24.8" +requires_python = ">=3.8" +summary = "Use Jupyter in mkdocs websites" +groups = ["docs"] +dependencies = [ + "ipykernel<7.0.0,>6.0.0", + "jupytext<2,>1.13.8", + "mkdocs-material>9.0.0", + "mkdocs<2,>=1.4.0", + "nbconvert<8,>=7.2.9", + "pygments>2.12.0", +] +files = [ + {file = "mkdocs_jupyter-0.24.8-py3-none-any.whl", hash = "sha256:36438a0a653eee2c27c6a8f7006e645f18693699c9b8ac44ffde830ddb08fa16"}, + {file = "mkdocs_jupyter-0.24.8.tar.gz", hash = "sha256:09a762f484d540d9c0e944d34b28cb536a32869e224b460e2fc791b143f76940"}, +] + +[[package]] +name = "mkdocs-material" +version = "9.5.34" +requires_python = ">=3.8" +summary = "Documentation that simply works" +groups = ["docs"] +dependencies = [ + "babel~=2.10", + "colorama~=0.4", + "jinja2~=3.0", + "markdown~=3.2", + "mkdocs-material-extensions~=1.3", + "mkdocs~=1.6", + "paginate~=0.5", + "pygments~=2.16", + "pymdown-extensions~=10.2", + "regex>=2022.4", + "requests~=2.26", +] +files = [ + {file = "mkdocs_material-9.5.34-py3-none-any.whl", hash = "sha256:54caa8be708de2b75167fd4d3b9f3d949579294f49cb242515d4653dbee9227e"}, + {file = "mkdocs_material-9.5.34.tar.gz", hash = "sha256:1e60ddf716cfb5679dfd65900b8a25d277064ed82d9a53cd5190e3f894df7840"}, +] + +[[package]] +name = "mkdocs-material-extensions" +version = "1.3.1" +requires_python = ">=3.8" +summary = "Extension pack for Python Markdown and MkDocs Material." +groups = ["docs"] +files = [ + {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, + {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, +] + +[[package]] +name = "mkdocs-mermaid2-plugin" +version = "1.1.1" +requires_python = ">=3.6" +summary = "A MkDocs plugin for including mermaid graphs in markdown sources" +groups = ["docs"] +dependencies = [ + "beautifulsoup4>=4.6.3", + "jsbeautifier", + "mkdocs>=1.0.4", + "pymdown-extensions>=8.0", + "requests", + "setuptools>=18.5", +] +files = [ + {file = "mkdocs-mermaid2-plugin-1.1.1.tar.gz", hash = "sha256:bea5f3cbe6cb76bad21b81e49a01e074427ed466666c5d404e62fe8698bc2d7c"}, + {file = "mkdocs_mermaid2_plugin-1.1.1-py3-none-any.whl", hash = "sha256:4e25876b59d1e151ca33a467207b346404b4a246f4f24af5e44c32408e175882"}, +] + +[[package]] +name = "mkdocstrings" +version = "0.26.0" +requires_python = ">=3.8" +summary = "Automatic documentation from sources, for MkDocs." +groups = ["docs"] +dependencies = [ + "Jinja2>=2.11.1", + "Markdown>=3.6", + "MarkupSafe>=1.1", + "click>=7.0", + "importlib-metadata>=4.6; python_version < \"3.10\"", + "mkdocs-autorefs>=1.2", + "mkdocs>=1.4", + "platformdirs>=2.2", + "pymdown-extensions>=6.3", + "typing-extensions>=4.1; python_version < \"3.10\"", +] +files = [ + {file = "mkdocstrings-0.26.0-py3-none-any.whl", hash = "sha256:1aa227fe94f88e80737d37514523aacd473fc4b50a7f6852ce41447ab23f2654"}, + {file = "mkdocstrings-0.26.0.tar.gz", hash = "sha256:ff9d0de28c8fa877ed9b29a42fe407cfe6736d70a1c48177aa84fcc3dc8518cd"}, +] + +[[package]] +name = "mkdocstrings-python" +version = "1.10.9" +requires_python = ">=3.8" +summary = "A Python handler for mkdocstrings." +groups = ["docs"] +dependencies = [ + "griffe>=0.49", + "mkdocs-autorefs>=1.0", + "mkdocstrings>=0.25", +] +files = [ + {file = "mkdocstrings_python-1.10.9-py3-none-any.whl", hash = "sha256:cbe98710a6757dfd4dff79bf36cb9731908fb4c69dd2736b15270ae7a488243d"}, + {file = "mkdocstrings_python-1.10.9.tar.gz", hash = "sha256:f344aaa47e727d8a2dc911e063025e58e2b7fb31a41110ccc3902aa6be7ca196"}, +] + +[[package]] +name = "mkdocstrings" +version = "0.26.0" +extras = ["python"] +requires_python = ">=3.8" +summary = "Automatic documentation from sources, for MkDocs." +groups = ["docs"] +dependencies = [ + "mkdocstrings-python>=0.5.2", + "mkdocstrings==0.26.0", +] +files = [ + {file = "mkdocstrings-0.26.0-py3-none-any.whl", hash = "sha256:1aa227fe94f88e80737d37514523aacd473fc4b50a7f6852ce41447ab23f2654"}, + {file = "mkdocstrings-0.26.0.tar.gz", hash = "sha256:ff9d0de28c8fa877ed9b29a42fe407cfe6736d70a1c48177aa84fcc3dc8518cd"}, +] + +[[package]] +name = "multidict" +version = "6.0.5" +requires_python = ">=3.7" +summary = "multidict implementation" +groups = ["default"] +files = [ + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, + {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, + {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, + {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, + {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, + {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, + {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, + {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, + {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, + {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, + {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, +] + +[[package]] +name = "mypy" +version = "1.11.2" +requires_python = ">=3.8" +summary = "Optional static typing for Python" +groups = ["lint"] +dependencies = [ + "mypy-extensions>=1.0.0", + "tomli>=1.1.0; python_version < \"3.11\"", + "typing-extensions>=4.6.0", +] +files = [ + {file = "mypy-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d42a6dd818ffce7be66cce644f1dff482f1d97c53ca70908dff0b9ddc120b77a"}, + {file = "mypy-1.11.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:801780c56d1cdb896eacd5619a83e427ce436d86a3bdf9112527f24a66618fef"}, + {file = "mypy-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41ea707d036a5307ac674ea172875f40c9d55c5394f888b168033177fce47383"}, + {file = "mypy-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6e658bd2d20565ea86da7d91331b0eed6d2eee22dc031579e6297f3e12c758c8"}, + {file = "mypy-1.11.2-cp310-cp310-win_amd64.whl", hash = "sha256:478db5f5036817fe45adb7332d927daa62417159d49783041338921dcf646fc7"}, + {file = "mypy-1.11.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:75746e06d5fa1e91bfd5432448d00d34593b52e7e91a187d981d08d1f33d4385"}, + {file = "mypy-1.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a976775ab2256aadc6add633d44f100a2517d2388906ec4f13231fafbb0eccca"}, + {file = "mypy-1.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd953f221ac1379050a8a646585a29574488974f79d8082cedef62744f0a0104"}, + {file = "mypy-1.11.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:57555a7715c0a34421013144a33d280e73c08df70f3a18a552938587ce9274f4"}, + {file = "mypy-1.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:36383a4fcbad95f2657642a07ba22ff797de26277158f1cc7bd234821468b1b6"}, + {file = "mypy-1.11.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8960dbbbf36906c5c0b7f4fbf2f0c7ffb20f4898e6a879fcf56a41a08b0d318"}, + {file = "mypy-1.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06d26c277962f3fb50e13044674aa10553981ae514288cb7d0a738f495550b36"}, + {file = "mypy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e7184632d89d677973a14d00ae4d03214c8bc301ceefcdaf5c474866814c987"}, + {file = "mypy-1.11.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a66169b92452f72117e2da3a576087025449018afc2d8e9bfe5ffab865709ca"}, + {file = "mypy-1.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:969ea3ef09617aff826885a22ece0ddef69d95852cdad2f60c8bb06bf1f71f70"}, + {file = "mypy-1.11.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:801ca29f43d5acce85f8e999b1e431fb479cb02d0e11deb7d2abb56bdaf24fd6"}, + {file = "mypy-1.11.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af8d155170fcf87a2afb55b35dc1a0ac21df4431e7d96717621962e4b9192e70"}, + {file = "mypy-1.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7821776e5c4286b6a13138cc935e2e9b6fde05e081bdebf5cdb2bb97c9df81d"}, + {file = "mypy-1.11.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:539c570477a96a4e6fb718b8d5c3e0c0eba1f485df13f86d2970c91f0673148d"}, + {file = "mypy-1.11.2-cp39-cp39-win_amd64.whl", hash = "sha256:3f14cd3d386ac4d05c5a39a51b84387403dadbd936e17cb35882134d4f8f0d24"}, + {file = "mypy-1.11.2-py3-none-any.whl", hash = "sha256:b499bc07dbdcd3de92b0a8b29fdf592c111276f6a12fe29c30f6c417dd546d12"}, + {file = "mypy-1.11.2.tar.gz", hash = "sha256:7f9993ad3e0ffdc95c2a14b66dee63729f021968bff8ad911867579c65d13a79"}, +] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +requires_python = ">=3.5" +summary = "Type system extensions for programs checked with the mypy type checker." +groups = ["docs", "lint"] +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "natsort" +version = "8.4.0" +requires_python = ">=3.7" +summary = "Simple yet flexible natural sorting in Python." +groups = ["docs"] +files = [ + {file = "natsort-8.4.0-py3-none-any.whl", hash = "sha256:4732914fb471f56b5cce04d7bae6f164a592c7712e1c85f9ef585e197299521c"}, + {file = "natsort-8.4.0.tar.gz", hash = "sha256:45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581"}, +] + +[[package]] +name = "nbclient" +version = "0.10.0" +requires_python = ">=3.8.0" +summary = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." +groups = ["docs"] +dependencies = [ + "jupyter-client>=6.1.12", + "jupyter-core!=5.0.*,>=4.12", + "nbformat>=5.1", + "traitlets>=5.4", +] +files = [ + {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"}, + {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"}, +] + +[[package]] +name = "nbconvert" +version = "7.16.4" +requires_python = ">=3.8" +summary = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." +groups = ["docs"] +dependencies = [ + "beautifulsoup4", + "bleach!=5.0.0", + "defusedxml", + "importlib-metadata>=3.6; python_version < \"3.10\"", + "jinja2>=3.0", + "jupyter-core>=4.7", + "jupyterlab-pygments", + "markupsafe>=2.0", + "mistune<4,>=2.0.3", + "nbclient>=0.5.0", + "nbformat>=5.7", + "packaging", + "pandocfilters>=1.4.1", + "pygments>=2.4.1", + "tinycss2", + "traitlets>=5.1", +] +files = [ + {file = "nbconvert-7.16.4-py3-none-any.whl", hash = "sha256:05873c620fe520b6322bf8a5ad562692343fe3452abda5765c7a34b7d1aa3eb3"}, + {file = "nbconvert-7.16.4.tar.gz", hash = "sha256:86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4"}, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +requires_python = ">=3.8" +summary = "The Jupyter Notebook format" +groups = ["docs"] +dependencies = [ + "fastjsonschema>=2.15", + "jsonschema>=2.6", + "jupyter-core!=5.0.*,>=4.12", + "traitlets>=5.1", +] +files = [ + {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, + {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +requires_python = ">=3.5" +summary = "Patch asyncio to allow nested event loops" +groups = ["docs"] +files = [ + {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, + {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, +] + +[[package]] +name = "networkx" +version = "3.2.1" +requires_python = ">=3.9" +summary = "Python package for creating and manipulating graphs and networks" +groups = ["cli-dev", "test"] +files = [ + {file = "networkx-3.2.1-py3-none-any.whl", hash = "sha256:f18c69adc97877c42332c170849c96cefa91881c99a7cb3e95b7c659ebdc1ec2"}, + {file = "networkx-3.2.1.tar.gz", hash = "sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6"}, +] + +[[package]] +name = "nodeenv" +version = "1.9.1" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +summary = "Node.js virtual environment builder" +groups = ["lint"] +files = [ + {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, + {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, +] + +[[package]] +name = "notebook" +version = "7.2.2" +requires_python = ">=3.8" +summary = "Jupyter Notebook - A web-based notebook environment for interactive computing" +groups = ["docs"] +dependencies = [ + "jupyter-server<3,>=2.4.0", + "jupyterlab-server<3,>=2.27.1", + "jupyterlab<4.3,>=4.2.0", + "notebook-shim<0.3,>=0.2", + "tornado>=6.2.0", +] +files = [ + {file = "notebook-7.2.2-py3-none-any.whl", hash = "sha256:c89264081f671bc02eec0ed470a627ed791b9156cad9285226b31611d3e9fe1c"}, + {file = "notebook-7.2.2.tar.gz", hash = "sha256:2ef07d4220421623ad3fe88118d687bc0450055570cdd160814a59cf3a1c516e"}, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +requires_python = ">=3.7" +summary = "A shim layer for notebook traits and config" +groups = ["docs"] +dependencies = [ + "jupyter-server<3,>=1.8", +] +files = [ + {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, + {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, +] + +[[package]] +name = "numpy" +version = "1.26.4" +requires_python = ">=3.9" +summary = "Fundamental package for array computing in Python" +groups = ["default", "cli-dev", "docs", "test"] +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, +] + +[[package]] +name = "osmnx" +version = "1.9.3" +requires_python = ">=3.8" +summary = "Download, model, analyze, and visualize street networks and other geospatial features from OpenStreetMap" +groups = ["test"] +dependencies = [ + "geopandas>=0.12", + "networkx>=2.5", + "numpy>=1.20", + "pandas>=1.1", + "requests>=2.27", + "shapely>=2.0", +] +files = [ + {file = "osmnx-1.9.3-py3-none-any.whl", hash = "sha256:ac67bea77b521941af648ef641ae1d006101948d1112475c256ea23ef31b426a"}, + {file = "osmnx-1.9.3.tar.gz", hash = "sha256:22548d86d68d36edff3cf9ab76c45745cda86a4ea0b28442e107d6b42992a426"}, +] + +[[package]] +name = "overrides" +version = "7.7.0" +requires_python = ">=3.6" +summary = "A decorator to automatically detect mismatch when overriding a method." +groups = ["docs"] +dependencies = [ + "typing; python_version < \"3.5\"", +] +files = [ + {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, + {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, +] + +[[package]] +name = "overturemaps" +version = "0.9.0" +requires_python = "<4.0,>=3.8" +summary = "Python tools for interacting with Overture Maps (overturemaps.org) data." +groups = ["default"] +dependencies = [ + "click>=8.1.7", + "numpy==1.24.4; python_version < \"3.9\"", + "numpy>=1.26.4; python_version >= \"3.9\"", + "pyarrow>=15.0.2", + "shapely>=2.0.3", +] +files = [ + {file = "overturemaps-0.9.0-py3-none-any.whl", hash = "sha256:a6967577c251e3813f029d798519ffd6d8d59dcb62c02883889206dafaf5d93c"}, + {file = "overturemaps-0.9.0.tar.gz", hash = "sha256:26c82e7c4f179b0ef15d5ca933e83756399fe5f2ff15047175d192a50efad8f4"}, +] + +[[package]] +name = "packaging" +version = "24.1" +requires_python = ">=3.8" +summary = "Core utilities for Python packages" +groups = ["default", "cli-dev", "docs", "license", "test"] +files = [ + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, +] + +[[package]] +name = "paginate" +version = "0.5.7" +summary = "Divides large result sets into pages for easier browsing" +groups = ["docs"] +files = [ + {file = "paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"}, + {file = "paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945"}, +] + +[[package]] +name = "pandas" +version = "2.2.2" +requires_python = ">=3.9" +summary = "Powerful data structures for data analysis, time series, and statistics" +groups = ["default", "cli-dev", "docs", "test"] +dependencies = [ + "numpy>=1.22.4; python_version < \"3.11\"", + "numpy>=1.23.2; python_version == \"3.11\"", + "numpy>=1.26.0; python_version >= \"3.12\"", + "python-dateutil>=2.8.2", + "pytz>=2020.1", + "tzdata>=2022.7", +] +files = [ + {file = "pandas-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce"}, + {file = "pandas-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238"}, + {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08"}, + {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0"}, + {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51"}, + {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99"}, + {file = "pandas-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772"}, + {file = "pandas-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288"}, + {file = "pandas-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151"}, + {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b"}, + {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee"}, + {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db"}, + {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1"}, + {file = "pandas-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24"}, + {file = "pandas-2.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef"}, + {file = "pandas-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce"}, + {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad"}, + {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad"}, + {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76"}, + {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32"}, + {file = "pandas-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23"}, + {file = "pandas-2.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2"}, + {file = "pandas-2.2.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd"}, + {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863"}, + {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921"}, + {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a"}, + {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57"}, + {file = "pandas-2.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4"}, + {file = "pandas-2.2.2.tar.gz", hash = "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54"}, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +summary = "Utilities for writing pandoc filters in python" +groups = ["docs"] +files = [ + {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, + {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, +] + +[[package]] +name = "parso" +version = "0.8.4" +requires_python = ">=3.6" +summary = "A Python Parser" +groups = ["cli-dev", "docs"] +files = [ + {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, + {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +requires_python = ">=3.8" +summary = "Utility library for gitignore style pattern matching of file paths." +groups = ["docs"] +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +summary = "Pexpect allows easy control of interactive console applications." +groups = ["cli-dev", "docs"] +marker = "sys_platform != \"win32\"" +dependencies = [ + "ptyprocess>=0.5", +] +files = [ + {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, + {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, +] + +[[package]] +name = "pillow" +version = "10.4.0" +requires_python = ">=3.8" +summary = "Python Imaging Library (Fork)" +groups = ["cli-dev", "docs"] +files = [ + {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, + {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b"}, + {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc"}, + {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e"}, + {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46"}, + {file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984"}, + {file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141"}, + {file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"}, + {file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c"}, + {file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe"}, + {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"}, + {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d"}, + {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696"}, + {file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496"}, + {file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91"}, + {file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22"}, + {file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94"}, + {file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef"}, + {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a"}, + {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b"}, + {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9"}, + {file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42"}, + {file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a"}, + {file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9"}, + {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"}, + {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"}, + {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"}, + {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"}, + {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"}, + {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"}, + {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"}, + {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"}, + {file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d"}, + {file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b"}, + {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c"}, + {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1"}, + {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df"}, + {file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef"}, + {file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5"}, + {file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885"}, + {file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27"}, + {file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3"}, + {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"}, +] + +[[package]] +name = "platformdirs" +version = "4.2.2" +requires_python = ">=3.8" +summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +groups = ["docs", "license", "lint", "test"] +files = [ + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +requires_python = ">=3.8" +summary = "plugin and hook calling mechanisms for python" +groups = ["test"] +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[[package]] +name = "polars" +version = "1.6.0" +requires_python = ">=3.8" +summary = "Blazingly fast DataFrame library" +groups = ["default"] +files = [ + {file = "polars-1.6.0-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:6d1665c23e3574ebd47a26a5d7b619e6e73e53718c3b0bfd7d08b6a0a4ae7daa"}, + {file = "polars-1.6.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:d7f3abf085adf034720b358119c4c8e144bcc2d96010b7e7d0afa11b80da383c"}, + {file = "polars-1.6.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a166adb429f8ee099c9d803e7470a80c76368437a8b272c67cef9eef6d5e9da1"}, + {file = "polars-1.6.0-cp38-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:1c811b772c9476f7f0bb4445a8387d2ab6d86f5e79140b1bfba914a32788d261"}, + {file = "polars-1.6.0-cp38-abi3-win_amd64.whl", hash = "sha256:ffae15ffa80fda5cc3af44a340b565bcf7f2ab6d7854d3f967baf505710c78e2"}, + {file = "polars-1.6.0.tar.gz", hash = "sha256:d7e8d5e577883a9755bc3be92ecbf6f20bced68267bdb8bdb440120e905cc19c"}, +] + +[[package]] +name = "pre-commit" +version = "3.8.0" +requires_python = ">=3.9" +summary = "A framework for managing and maintaining multi-language pre-commit hooks." +groups = ["lint"] +dependencies = [ + "cfgv>=2.0.0", + "identify>=1.0.0", + "nodeenv>=0.11.1", + "pyyaml>=5.1", + "virtualenv>=20.10.0", +] +files = [ + {file = "pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f"}, + {file = "pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af"}, +] + +[[package]] +name = "prometheus-client" +version = "0.20.0" +requires_python = ">=3.8" +summary = "Python client for the Prometheus monitoring system." +groups = ["docs"] +files = [ + {file = "prometheus_client-0.20.0-py3-none-any.whl", hash = "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7"}, + {file = "prometheus_client-0.20.0.tar.gz", hash = "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89"}, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.47" +requires_python = ">=3.7.0" +summary = "Library for building powerful interactive command lines in Python" +groups = ["cli-dev", "docs"] +dependencies = [ + "wcwidth", +] +files = [ + {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, + {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, +] + +[[package]] +name = "psutil" +version = "6.0.0" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +summary = "Cross-platform lib for process and system monitoring in Python." +groups = ["docs"] +files = [ + {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, + {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, + {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, + {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, + {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, + {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +summary = "Run a subprocess in a pseudo terminal" +groups = ["cli-dev", "docs"] +marker = "os_name != \"nt\" or sys_platform != \"win32\"" +files = [ + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +summary = "Safely evaluate AST nodes without side effects" +groups = ["cli-dev", "docs"] +files = [ + {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, + {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, +] + +[[package]] +name = "py-cpuinfo" +version = "9.0.0" +summary = "Get CPU info with pure Python" +groups = ["docs"] +files = [ + {file = "py-cpuinfo-9.0.0.tar.gz", hash = "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690"}, + {file = "py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5"}, +] + +[[package]] +name = "pyarrow" +version = "17.0.0" +requires_python = ">=3.8" +summary = "Python library for Apache Arrow" +groups = ["default", "test"] +dependencies = [ + "numpy>=1.16.6", +] +files = [ + {file = "pyarrow-17.0.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:a5c8b238d47e48812ee577ee20c9a2779e6a5904f1708ae240f53ecbee7c9f07"}, + {file = "pyarrow-17.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:db023dc4c6cae1015de9e198d41250688383c3f9af8f565370ab2b4cb5f62655"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da1e060b3876faa11cee287839f9cc7cdc00649f475714b8680a05fd9071d545"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75c06d4624c0ad6674364bb46ef38c3132768139ddec1c56582dbac54f2663e2"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:fa3c246cc58cb5a4a5cb407a18f193354ea47dd0648194e6265bd24177982fe8"}, + {file = "pyarrow-17.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:f7ae2de664e0b158d1607699a16a488de3d008ba99b3a7aa5de1cbc13574d047"}, + {file = "pyarrow-17.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:5984f416552eea15fd9cee03da53542bf4cddaef5afecefb9aa8d1010c335087"}, + {file = "pyarrow-17.0.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:1c8856e2ef09eb87ecf937104aacfa0708f22dfeb039c363ec99735190ffb977"}, + {file = "pyarrow-17.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e19f569567efcbbd42084e87f948778eb371d308e137a0f97afe19bb860ccb3"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b244dc8e08a23b3e352899a006a26ae7b4d0da7bb636872fa8f5884e70acf15"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b72e87fe3e1db343995562f7fff8aee354b55ee83d13afba65400c178ab2597"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:dc5c31c37409dfbc5d014047817cb4ccd8c1ea25d19576acf1a001fe07f5b420"}, + {file = "pyarrow-17.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:e3343cb1e88bc2ea605986d4b94948716edc7a8d14afd4e2c097232f729758b4"}, + {file = "pyarrow-17.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:a27532c38f3de9eb3e90ecab63dfda948a8ca859a66e3a47f5f42d1e403c4d03"}, + {file = "pyarrow-17.0.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:9b8a823cea605221e61f34859dcc03207e52e409ccf6354634143e23af7c8d22"}, + {file = "pyarrow-17.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f1e70de6cb5790a50b01d2b686d54aaf73da01266850b05e3af2a1bc89e16053"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0071ce35788c6f9077ff9ecba4858108eebe2ea5a3f7cf2cf55ebc1dbc6ee24a"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:757074882f844411fcca735e39aae74248a1531367a7c80799b4266390ae51cc"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9ba11c4f16976e89146781a83833df7f82077cdab7dc6232c897789343f7891a"}, + {file = "pyarrow-17.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b0c6ac301093b42d34410b187bba560b17c0330f64907bfa4f7f7f2444b0cf9b"}, + {file = "pyarrow-17.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:392bc9feabc647338e6c89267635e111d71edad5fcffba204425a7c8d13610d7"}, + {file = "pyarrow-17.0.0-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:13d7a460b412f31e4c0efa1148e1d29bdf18ad1411eb6757d38f8fbdcc8645fb"}, + {file = "pyarrow-17.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9b564a51fbccfab5a04a80453e5ac6c9954a9c5ef2890d1bcf63741909c3f8df"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32503827abbc5aadedfa235f5ece8c4f8f8b0a3cf01066bc8d29de7539532687"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a155acc7f154b9ffcc85497509bcd0d43efb80d6f733b0dc3bb14e281f131c8b"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:dec8d129254d0188a49f8a1fc99e0560dc1b85f60af729f47de4046015f9b0a5"}, + {file = "pyarrow-17.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:a48ddf5c3c6a6c505904545c25a4ae13646ae1f8ba703c4df4a1bfe4f4006bda"}, + {file = "pyarrow-17.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:42bf93249a083aca230ba7e2786c5f673507fa97bbd9725a1e2754715151a204"}, + {file = "pyarrow-17.0.0.tar.gz", hash = "sha256:4beca9521ed2c0921c1023e68d097d0299b62c362639ea315572a58f3f50fd28"}, +] + +[[package]] +name = "pycparser" +version = "2.22" +requires_python = ">=3.8" +summary = "C parser in Python" +groups = ["docs"] +files = [ + {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, + {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, +] + +[[package]] +name = "pyfunctional" +version = "1.5.0" +requires_python = ">=3.8.0,<4.0.0" +summary = "Package for creating data pipelines with chain functional programming" +groups = ["test"] +dependencies = [ + "dill>=0.2.5", + "tabulate<=1.0.0", +] +files = [ + {file = "pyfunctional-1.5.0-py3-none-any.whl", hash = "sha256:dfee0f4110f4167801bb12f8d497230793392f694655103b794460daefbebf2b"}, + {file = "pyfunctional-1.5.0.tar.gz", hash = "sha256:e184f3d7167e5822b227c95292c3557cf59edf258b1f06a08c8e82991de98769"}, +] + +[[package]] +name = "pygments" +version = "2.18.0" +requires_python = ">=3.8" +summary = "Pygments is a syntax highlighting package written in Python." +groups = ["default", "cli-dev", "docs", "license"] +files = [ + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, +] + +[[package]] +name = "pymdown-extensions" +version = "10.9" +requires_python = ">=3.8" +summary = "Extension pack for Python Markdown." +groups = ["docs"] +dependencies = [ + "markdown>=3.6", + "pyyaml", +] +files = [ + {file = "pymdown_extensions-10.9-py3-none-any.whl", hash = "sha256:d323f7e90d83c86113ee78f3fe62fc9dee5f56b54d912660703ea1816fed5626"}, + {file = "pymdown_extensions-10.9.tar.gz", hash = "sha256:6ff740bcd99ec4172a938970d42b96128bdc9d4b9bcad72494f29921dc69b753"}, +] + +[[package]] +name = "pyogrio" +version = "0.9.0" +requires_python = ">=3.8" +summary = "Vectorized spatial vector file format I/O using GDAL/OGR" +groups = ["default", "test"] +dependencies = [ + "certifi", + "numpy", + "packaging", +] +files = [ + {file = "pyogrio-0.9.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:1a495ca4fb77c69595747dd688f8f17bb7d2ea9cd86603aa71c7fc98cc8b4174"}, + {file = "pyogrio-0.9.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:6dc94a67163218581c7df275223488ac9b31dc582ccd756da607c3338908566c"}, + {file = "pyogrio-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e38c3c6d37cf2cc969407e4d051dcb507cfd948eb26c7b0840c4f7d7d4a71bd4"}, + {file = "pyogrio-0.9.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:f47c9b6818cc0f420015b672d5dcc488530a5ee63e5ba35a184957b21ea3922a"}, + {file = "pyogrio-0.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb04bd80964428491951766452f0071b0bc37c7d38c45ef02502dbd83e5d74a0"}, + {file = "pyogrio-0.9.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f5d80eb846be4fc4e642cbedc1ed0c143e8d241653382ecc76a7620bbd2a5c3a"}, + {file = "pyogrio-0.9.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:2f2ec57ab74785db9c2bf47c0a6731e5175595a13f8253f06fa84136adb310a9"}, + {file = "pyogrio-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a289584da6df7ca318947301fe0ba9177e7f863f63110e087c80ac5f3658de8"}, + {file = "pyogrio-0.9.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:13642608a1cd67797ae8b5d792b0518d8ef3eb76506c8232ab5eaa1ea1159dff"}, + {file = "pyogrio-0.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:9440466c0211ac81f3417f274da5903f15546b486f76b2f290e74a56aaf0e737"}, + {file = "pyogrio-0.9.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2e98913fa183f7597c609e774820a149e9329fd2a0f8d33978252fbd00ae87e6"}, + {file = "pyogrio-0.9.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:f8bf193269ea9d347ac3ddada960a59f1ab2e4a5c009be95dc70e6505346b2fc"}, + {file = "pyogrio-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f964002d445521ad5b8e732a6b5ef0e2d2be7fe566768e5075c1d71398da64a"}, + {file = "pyogrio-0.9.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:083351b258b3e08b6c6085dac560bd321b68de5cb4a66229095da68d5f3d696b"}, + {file = "pyogrio-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:796e4f6a4e769b2eb6fea9a10546ea4bdee16182d1e29802b4d6349363c3c1d7"}, + {file = "pyogrio-0.9.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:2829615cf58b1b24a9f96fea42abedaa1a800dd351c67374cc2f6341138608f3"}, + {file = "pyogrio-0.9.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:17420febc17651876d5140b54b24749aa751d482b5f9ef6267b8053e6e962876"}, + {file = "pyogrio-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a2fcaa269031dbbc8ebd91243c6452c5d267d6df939c008ab7533413c9cf92d"}, + {file = "pyogrio-0.9.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:019731a856a9abfe909e86f50eb13f8362f6742337caf757c54b7c8acfe75b89"}, + {file = "pyogrio-0.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:d668cb10f2bf6ccd7c402f91e8b06290722dd09dbe265ae95b2c13db29ebeba0"}, + {file = "pyogrio-0.9.0.tar.gz", hash = "sha256:6a6fa2e8cf95b3d4a7c0fac48bce6e5037579e28d3eb33b53349d6e11f15e5a8"}, +] + +[[package]] +name = "pyparsing" +version = "3.1.4" +requires_python = ">=3.6.8" +summary = "pyparsing module - Classes and methods to define and execute parsing grammars" +groups = ["cli-dev", "docs"] +files = [ + {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, + {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, +] + +[[package]] +name = "pyproj" +version = "3.6.1" +requires_python = ">=3.9" +summary = "Python interface to PROJ (cartographic projections and coordinate transformations library)" +groups = ["default", "test"] +dependencies = [ + "certifi", +] +files = [ + {file = "pyproj-3.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ab7aa4d9ff3c3acf60d4b285ccec134167a948df02347585fdd934ebad8811b4"}, + {file = "pyproj-3.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4bc0472302919e59114aa140fd7213c2370d848a7249d09704f10f5b062031fe"}, + {file = "pyproj-3.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5279586013b8d6582e22b6f9e30c49796966770389a9d5b85e25a4223286cd3f"}, + {file = "pyproj-3.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80fafd1f3eb421694857f254a9bdbacd1eb22fc6c24ca74b136679f376f97d35"}, + {file = "pyproj-3.6.1-cp310-cp310-win32.whl", hash = "sha256:c41e80ddee130450dcb8829af7118f1ab69eaf8169c4bf0ee8d52b72f098dc2f"}, + {file = "pyproj-3.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:db3aedd458e7f7f21d8176f0a1d924f1ae06d725228302b872885a1c34f3119e"}, + {file = "pyproj-3.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ebfbdbd0936e178091309f6cd4fcb4decd9eab12aa513cdd9add89efa3ec2882"}, + {file = "pyproj-3.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:447db19c7efad70ff161e5e46a54ab9cc2399acebb656b6ccf63e4bc4a04b97a"}, + {file = "pyproj-3.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7e13c40183884ec7f94eb8e0f622f08f1d5716150b8d7a134de48c6110fee85"}, + {file = "pyproj-3.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65ad699e0c830e2b8565afe42bd58cc972b47d829b2e0e48ad9638386d994915"}, + {file = "pyproj-3.6.1-cp311-cp311-win32.whl", hash = "sha256:8b8acc31fb8702c54625f4d5a2a6543557bec3c28a0ef638778b7ab1d1772132"}, + {file = "pyproj-3.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:38a3361941eb72b82bd9a18f60c78b0df8408416f9340521df442cebfc4306e2"}, + {file = "pyproj-3.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1e9fbaf920f0f9b4ee62aab832be3ae3968f33f24e2e3f7fbb8c6728ef1d9746"}, + {file = "pyproj-3.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d227a865356f225591b6732430b1d1781e946893789a609bb34f59d09b8b0f8"}, + {file = "pyproj-3.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83039e5ae04e5afc974f7d25ee0870a80a6bd6b7957c3aca5613ccbe0d3e72bf"}, + {file = "pyproj-3.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb059ba3bced6f6725961ba758649261d85ed6ce670d3e3b0a26e81cf1aa8d"}, + {file = "pyproj-3.6.1-cp312-cp312-win32.whl", hash = "sha256:2d6ff73cc6dbbce3766b6c0bce70ce070193105d8de17aa2470009463682a8eb"}, + {file = "pyproj-3.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:7a27151ddad8e1439ba70c9b4b2b617b290c39395fa9ddb7411ebb0eb86d6fb0"}, + {file = "pyproj-3.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ba1f9b03d04d8cab24d6375609070580a26ce76eaed54631f03bab00a9c737b"}, + {file = "pyproj-3.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18faa54a3ca475bfe6255156f2f2874e9a1c8917b0004eee9f664b86ccc513d3"}, + {file = "pyproj-3.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd43bd9a9b9239805f406fd82ba6b106bf4838d9ef37c167d3ed70383943ade1"}, + {file = "pyproj-3.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50100b2726a3ca946906cbaa789dd0749f213abf0cbb877e6de72ca7aa50e1ae"}, + {file = "pyproj-3.6.1-cp39-cp39-win32.whl", hash = "sha256:9274880263256f6292ff644ca92c46d96aa7e57a75c6df3f11d636ce845a1877"}, + {file = "pyproj-3.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:36b64c2cb6ea1cc091f329c5bd34f9c01bb5da8c8e4492c709bda6a09f96808f"}, + {file = "pyproj-3.6.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd93c1a0c6c4aedc77c0fe275a9f2aba4d59b8acf88cebfc19fe3c430cfabf4f"}, + {file = "pyproj-3.6.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6420ea8e7d2a88cb148b124429fba8cd2e0fae700a2d96eab7083c0928a85110"}, + {file = "pyproj-3.6.1.tar.gz", hash = "sha256:44aa7c704c2b7d8fb3d483bbf75af6cb2350d30a63b144279a09b75fead501bf"}, +] + +[[package]] +name = "pyproject-api" +version = "1.7.1" +requires_python = ">=3.8" +summary = "API to interact with the python pyproject.toml based projects" +groups = ["test"] +dependencies = [ + "packaging>=24.1", + "tomli>=2.0.1; python_version < \"3.11\"", +] +files = [ + {file = "pyproject_api-1.7.1-py3-none-any.whl", hash = "sha256:2dc1654062c2b27733d8fd4cdda672b22fe8741ef1dde8e3a998a9547b071eeb"}, + {file = "pyproject_api-1.7.1.tar.gz", hash = "sha256:7ebc6cd10710f89f4cf2a2731710a98abce37ebff19427116ff2174c9236a827"}, +] + +[[package]] +name = "pytest" +version = "8.3.2" +requires_python = ">=3.8" +summary = "pytest: simple powerful testing with Python" +groups = ["test"] +dependencies = [ + "colorama; sys_platform == \"win32\"", + "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"", + "iniconfig", + "packaging", + "pluggy<2,>=1.5", + "tomli>=1; python_version < \"3.11\"", +] +files = [ + {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, + {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, +] + +[[package]] +name = "pytest-check" +version = "2.4.1" +requires_python = ">=3.8" +summary = "A pytest plugin that allows multiple failures per test." +groups = ["test"] +dependencies = [ + "pytest>=7.0.0", +] +files = [ + {file = "pytest_check-2.4.1-py3-none-any.whl", hash = "sha256:74f38938183880d9921aeb85662437d2b13e1e053e1bed7d186d54613d3068c7"}, + {file = "pytest_check-2.4.1.tar.gz", hash = "sha256:5224efcef059bf7f0cda253f8d0f62704b4819ff48c93f51c675aea6a014f650"}, +] + +[[package]] +name = "pytest-doctestplus" +version = "1.2.1" +requires_python = ">=3.8" +summary = "Pytest plugin with advanced doctest features." +groups = ["test"] +dependencies = [ + "packaging>=17.0", + "pytest>=4.6", + "setuptools>=30.3.0", +] +files = [ + {file = "pytest-doctestplus-1.2.1.tar.gz", hash = "sha256:2472a8a2c8cea34d2f65f6499543faeb748eecb59c597852fd98839b47307679"}, + {file = "pytest_doctestplus-1.2.1-py3-none-any.whl", hash = "sha256:103705daee8d4468eb59d444c29b0d71eb85b8f6d582295c8bc3d68ee1d88911"}, +] + +[[package]] +name = "pytest-mock" +version = "3.14.0" +requires_python = ">=3.8" +summary = "Thin-wrapper around the mock package for easier use with pytest" +groups = ["test"] +dependencies = [ + "pytest>=6.2.5", +] +files = [ + {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"}, + {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"}, +] + +[[package]] +name = "pytest-parametrization" +version = "2022.2.1" +requires_python = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +summary = "Simpler PyTest parametrization" +groups = ["test"] +dependencies = [ + "pytest", + "six", +] +files = [ + {file = "pytest-parametrization-2022.2.1.tar.gz", hash = "sha256:057229ad7e284fe3435a717a8a58dc5f169b3d1e5aa946d94ec591d31bd78445"}, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +summary = "Extensions to the standard Python datetime module" +groups = ["default", "cli-dev", "docs", "test"] +dependencies = [ + "six>=1.5", +] +files = [ + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, +] + +[[package]] +name = "python-json-logger" +version = "2.0.7" +requires_python = ">=3.6" +summary = "A python library adding a json log formatter" +groups = ["docs"] +files = [ + {file = "python-json-logger-2.0.7.tar.gz", hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c"}, + {file = "python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"}, +] + +[[package]] +name = "pytz" +version = "2024.1" +summary = "World timezone definitions, modern and historical" +groups = ["default", "cli-dev", "docs", "test"] +files = [ + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, +] + +[[package]] +name = "pywin32" +version = "306" +summary = "Python for Window Extensions" +groups = ["docs"] +marker = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"" +files = [ + {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, + {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, + {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"}, + {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"}, + {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"}, + {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"}, + {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"}, + {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"}, + {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"}, + {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, +] + +[[package]] +name = "pywinpty" +version = "2.0.13" +requires_python = ">=3.8" +summary = "Pseudo terminal support for Windows from Python." +groups = ["docs"] +marker = "os_name == \"nt\"" +files = [ + {file = "pywinpty-2.0.13-cp310-none-win_amd64.whl", hash = "sha256:697bff211fb5a6508fee2dc6ff174ce03f34a9a233df9d8b5fe9c8ce4d5eaf56"}, + {file = "pywinpty-2.0.13-cp311-none-win_amd64.whl", hash = "sha256:b96fb14698db1284db84ca38c79f15b4cfdc3172065b5137383910567591fa99"}, + {file = "pywinpty-2.0.13-cp312-none-win_amd64.whl", hash = "sha256:2fd876b82ca750bb1333236ce98488c1be96b08f4f7647cfdf4129dfad83c2d4"}, + {file = "pywinpty-2.0.13-cp39-none-win_amd64.whl", hash = "sha256:71cb613a9ee24174730ac7ae439fd179ca34ccb8c5349e8d7b72ab5dea2c6f4b"}, + {file = "pywinpty-2.0.13.tar.gz", hash = "sha256:c34e32351a3313ddd0d7da23d27f835c860d32fe4ac814d372a3ea9594f41dde"}, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +requires_python = ">=3.8" +summary = "YAML parser and emitter for Python" +groups = ["docs", "lint"] +files = [ + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, +] + +[[package]] +name = "pyyaml-env-tag" +version = "0.1" +requires_python = ">=3.6" +summary = "A custom YAML tag for referencing environment variables in YAML files. " +groups = ["docs"] +dependencies = [ + "pyyaml", +] +files = [ + {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, + {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, +] + +[[package]] +name = "pyzmq" +version = "26.2.0" +requires_python = ">=3.7" +summary = "Python bindings for 0MQ" +groups = ["docs"] +dependencies = [ + "cffi; implementation_name == \"pypy\"", +] +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-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-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, + {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, + {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, +] + +[[package]] +name = "rasterio" +version = "1.3.10" +requires_python = ">=3.8" +summary = "Fast and direct raster I/O for use with Numpy and SciPy" +groups = ["docs"] +dependencies = [ + "affine", + "attrs", + "certifi", + "click-plugins", + "click>=4.0", + "cligj>=0.5", + "importlib-metadata; python_version < \"3.10\"", + "numpy", + "setuptools", + "snuggs>=1.4.1", +] +files = [ + {file = "rasterio-1.3.10-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:2ef27c3eff6f44f8b5d5de228003367c1843593edf648d85c0dc1319c00dc57d"}, + {file = "rasterio-1.3.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c711b497e9ef0c4f5e1c01e34ba910708e066e1c4a69c25df18d1bcc04481287"}, + {file = "rasterio-1.3.10-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:d1ac85857144cb8075e332e9d908b65426d30ddc1f59f7a04bcf6ed6fd3c0d47"}, + {file = "rasterio-1.3.10-cp310-cp310-win_amd64.whl", hash = "sha256:ef8a496740df1e68f7a3d3449aa3be9c3210c22f4bb78a4a9e1c290183abd9b1"}, + {file = "rasterio-1.3.10-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:97d867cada29f16cb83f1743217f775f8b982676fcdda77671d25abb26698159"}, + {file = "rasterio-1.3.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:505b3e659eb3b137192c25233bf7954bc4997b1a474bae9e129fbd5ac2619404"}, + {file = "rasterio-1.3.10-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:30f27e309a14a70c821d10a0ea18b110968dc2e2186b06a900aebd92094f4e00"}, + {file = "rasterio-1.3.10-cp311-cp311-win_amd64.whl", hash = "sha256:cbb2eea127328302f9e3158a000363a7d9eea22537378dee4f824a7fa2d78c05"}, + {file = "rasterio-1.3.10-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:3a9c4fb63e050e11bcd23e53f084ca186b445f976df1f70e7abd851c4072837f"}, + {file = "rasterio-1.3.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7c7ddca79444fd3b933f4cd1a1773e9f7839d0ce5d76e600bdf92ee9a79b95f8"}, + {file = "rasterio-1.3.10-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:f9cd757e11cfb07ef39b1cc79a32497bf22aff7fec41fe330b868cb3043b4db5"}, + {file = "rasterio-1.3.10-cp312-cp312-win_amd64.whl", hash = "sha256:7e653968f64840654d277e0f86f8666ed8f3030ba36fa865f420f9bc38d619ee"}, + {file = "rasterio-1.3.10-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:73ea4d0e584f696ef115601bbb97ba8d2b68a67c2bb3b40999414d31b6c7cf89"}, + {file = "rasterio-1.3.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e6eece6420d7d6ef9b9830633b8fcd15e86b8702cb13419abe251c16ca502cf3"}, + {file = "rasterio-1.3.10-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:0bbd62b45a35cab53cb7fe72419e823e47ab31ee2d055af8e21dc7f37fe5ed6c"}, + {file = "rasterio-1.3.10-cp39-cp39-win_amd64.whl", hash = "sha256:450f2bd45335308829da90566fbcbdb8e8aa0251a9d1f6ebb60667855dfb7554"}, + {file = "rasterio-1.3.10.tar.gz", hash = "sha256:ce182c735b4f9e8735d90600607ecab15ef895eb8aa660bf665751529477e326"}, +] + +[[package]] +name = "referencing" +version = "0.35.1" +requires_python = ">=3.8" +summary = "JSON Referencing + Python" +groups = ["docs"] +dependencies = [ + "attrs>=22.2.0", + "rpds-py>=0.7.0", +] +files = [ + {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, + {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, +] + +[[package]] +name = "regex" +version = "2024.7.24" +requires_python = ">=3.8" +summary = "Alternative regular expression module, to replace re." +groups = ["docs"] +files = [ + {file = "regex-2024.7.24-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b0d3f567fafa0633aee87f08b9276c7062da9616931382993c03808bb68ce"}, + {file = "regex-2024.7.24-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3426de3b91d1bc73249042742f45c2148803c111d1175b283270177fdf669024"}, + {file = "regex-2024.7.24-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f273674b445bcb6e4409bf8d1be67bc4b58e8b46fd0d560055d515b8830063cd"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23acc72f0f4e1a9e6e9843d6328177ae3074b4182167e34119ec7233dfeccf53"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65fd3d2e228cae024c411c5ccdffae4c315271eee4a8b839291f84f796b34eca"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c414cbda77dbf13c3bc88b073a1a9f375c7b0cb5e115e15d4b73ec3a2fbc6f59"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7a89eef64b5455835f5ed30254ec19bf41f7541cd94f266ab7cbd463f00c41"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19c65b00d42804e3fbea9708f0937d157e53429a39b7c61253ff15670ff62cb5"}, + {file = "regex-2024.7.24-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7a5486ca56c8869070a966321d5ab416ff0f83f30e0e2da1ab48815c8d165d46"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6f51f9556785e5a203713f5efd9c085b4a45aecd2a42573e2b5041881b588d1f"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a4997716674d36a82eab3e86f8fa77080a5d8d96a389a61ea1d0e3a94a582cf7"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c0abb5e4e8ce71a61d9446040c1e86d4e6d23f9097275c5bd49ed978755ff0fe"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:18300a1d78cf1290fa583cd8b7cde26ecb73e9f5916690cf9d42de569c89b1ce"}, + {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:416c0e4f56308f34cdb18c3f59849479dde5b19febdcd6e6fa4d04b6c31c9faa"}, + {file = "regex-2024.7.24-cp310-cp310-win32.whl", hash = "sha256:fb168b5924bef397b5ba13aabd8cf5df7d3d93f10218d7b925e360d436863f66"}, + {file = "regex-2024.7.24-cp310-cp310-win_amd64.whl", hash = "sha256:6b9fc7e9cc983e75e2518496ba1afc524227c163e43d706688a6bb9eca41617e"}, + {file = "regex-2024.7.24-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:382281306e3adaaa7b8b9ebbb3ffb43358a7bbf585fa93821300a418bb975281"}, + {file = "regex-2024.7.24-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4fdd1384619f406ad9037fe6b6eaa3de2749e2e12084abc80169e8e075377d3b"}, + {file = "regex-2024.7.24-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3d974d24edb231446f708c455fd08f94c41c1ff4f04bcf06e5f36df5ef50b95a"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a2ec4419a3fe6cf8a4795752596dfe0adb4aea40d3683a132bae9c30b81e8d73"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb563dd3aea54c797adf513eeec819c4213d7dbfc311874eb4fd28d10f2ff0f2"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:45104baae8b9f67569f0f1dca5e1f1ed77a54ae1cd8b0b07aba89272710db61e"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:994448ee01864501912abf2bad9203bffc34158e80fe8bfb5b031f4f8e16da51"}, + {file = "regex-2024.7.24-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fac296f99283ac232d8125be932c5cd7644084a30748fda013028c815ba3364"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7e37e809b9303ec3a179085415cb5f418ecf65ec98cdfe34f6a078b46ef823ee"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:01b689e887f612610c869421241e075c02f2e3d1ae93a037cb14f88ab6a8934c"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f6442f0f0ff81775eaa5b05af8a0ffa1dda36e9cf6ec1e0d3d245e8564b684ce"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:871e3ab2838fbcb4e0865a6e01233975df3a15e6fce93b6f99d75cacbd9862d1"}, + {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c918b7a1e26b4ab40409820ddccc5d49871a82329640f5005f73572d5eaa9b5e"}, + {file = "regex-2024.7.24-cp311-cp311-win32.whl", hash = "sha256:2dfbb8baf8ba2c2b9aa2807f44ed272f0913eeeba002478c4577b8d29cde215c"}, + {file = "regex-2024.7.24-cp311-cp311-win_amd64.whl", hash = "sha256:538d30cd96ed7d1416d3956f94d54e426a8daf7c14527f6e0d6d425fcb4cca52"}, + {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:fe4ebef608553aff8deb845c7f4f1d0740ff76fa672c011cc0bacb2a00fbde86"}, + {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:74007a5b25b7a678459f06559504f1eec2f0f17bca218c9d56f6a0a12bfffdad"}, + {file = "regex-2024.7.24-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7df9ea48641da022c2a3c9c641650cd09f0cd15e8908bf931ad538f5ca7919c9"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a1141a1dcc32904c47f6846b040275c6e5de0bf73f17d7a409035d55b76f289"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80c811cfcb5c331237d9bad3bea2c391114588cf4131707e84d9493064d267f9"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7214477bf9bd195894cf24005b1e7b496f46833337b5dedb7b2a6e33f66d962c"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d55588cba7553f0b6ec33130bc3e114b355570b45785cebdc9daed8c637dd440"}, + {file = "regex-2024.7.24-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:558a57cfc32adcf19d3f791f62b5ff564922942e389e3cfdb538a23d65a6b610"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a512eed9dfd4117110b1881ba9a59b31433caed0c4101b361f768e7bcbaf93c5"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:86b17ba823ea76256b1885652e3a141a99a5c4422f4a869189db328321b73799"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5eefee9bfe23f6df09ffb6dfb23809f4d74a78acef004aa904dc7c88b9944b05"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:731fcd76bbdbf225e2eb85b7c38da9633ad3073822f5ab32379381e8c3c12e94"}, + {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eaef80eac3b4cfbdd6de53c6e108b4c534c21ae055d1dbea2de6b3b8ff3def38"}, + {file = "regex-2024.7.24-cp312-cp312-win32.whl", hash = "sha256:185e029368d6f89f36e526764cf12bf8d6f0e3a2a7737da625a76f594bdfcbfc"}, + {file = "regex-2024.7.24-cp312-cp312-win_amd64.whl", hash = "sha256:2f1baff13cc2521bea83ab2528e7a80cbe0ebb2c6f0bfad15be7da3aed443908"}, + {file = "regex-2024.7.24-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0ffe3f9d430cd37d8fa5632ff6fb36d5b24818c5c986893063b4e5bdb84cdf24"}, + {file = "regex-2024.7.24-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:25419b70ba00a16abc90ee5fce061228206173231f004437730b67ac77323f0d"}, + {file = "regex-2024.7.24-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:33e2614a7ce627f0cdf2ad104797d1f68342d967de3695678c0cb84f530709f8"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d33a0021893ede5969876052796165bab6006559ab845fd7b515a30abdd990dc"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04ce29e2c5fedf296b1a1b0acc1724ba93a36fb14031f3abfb7abda2806c1535"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b16582783f44fbca6fcf46f61347340c787d7530d88b4d590a397a47583f31dd"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:836d3cc225b3e8a943d0b02633fb2f28a66e281290302a79df0e1eaa984ff7c1"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:438d9f0f4bc64e8dea78274caa5af971ceff0f8771e1a2333620969936ba10be"}, + {file = "regex-2024.7.24-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:973335b1624859cb0e52f96062a28aa18f3a5fc77a96e4a3d6d76e29811a0e6e"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c5e69fd3eb0b409432b537fe3c6f44ac089c458ab6b78dcec14478422879ec5f"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fbf8c2f00904eaf63ff37718eb13acf8e178cb940520e47b2f05027f5bb34ce3"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2757ace61bc4061b69af19e4689fa4416e1a04840f33b441034202b5cd02d4"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:44fc61b99035fd9b3b9453f1713234e5a7c92a04f3577252b45feefe1b327759"}, + {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:84c312cdf839e8b579f504afcd7b65f35d60b6285d892b19adea16355e8343c9"}, + {file = "regex-2024.7.24-cp39-cp39-win32.whl", hash = "sha256:ca5b2028c2f7af4e13fb9fc29b28d0ce767c38c7facdf64f6c2cd040413055f1"}, + {file = "regex-2024.7.24-cp39-cp39-win_amd64.whl", hash = "sha256:7c479f5ae937ec9985ecaf42e2e10631551d909f203e31308c12d703922742f9"}, + {file = "regex-2024.7.24.tar.gz", hash = "sha256:9cfd009eed1a46b27c14039ad5bbc5e71b6367c5b2e6d5f5da0ea91600817506"}, +] + +[[package]] +name = "requests" +version = "2.32.3" +requires_python = ">=3.8" +summary = "Python HTTP for Humans." +groups = ["cli-dev", "docs", "license", "test"] +dependencies = [ + "certifi>=2017.4.17", + "charset-normalizer<4,>=2", + "idna<4,>=2.5", + "urllib3<3,>=1.21.1", +] +files = [ + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, +] + +[[package]] +name = "requests-cache" +version = "1.2.1" +requires_python = ">=3.8" +summary = "A persistent cache for python requests" +groups = ["license"] +dependencies = [ + "attrs>=21.2", + "cattrs>=22.2", + "platformdirs>=2.5", + "requests>=2.22", + "url-normalize>=1.4", + "urllib3>=1.25.5", +] +files = [ + {file = "requests_cache-1.2.1-py3-none-any.whl", hash = "sha256:1285151cddf5331067baa82598afe2d47c7495a1334bfe7a7d329b43e9fd3603"}, + {file = "requests_cache-1.2.1.tar.gz", hash = "sha256:68abc986fdc5b8d0911318fbb5f7c80eebcd4d01bfacc6685ecf8876052511d1"}, +] + +[[package]] +name = "requests-mock" +version = "1.12.1" +requires_python = ">=3.5" +summary = "Mock out responses from the requests package" +groups = ["test"] +dependencies = [ + "requests<3,>=2.22", +] +files = [ + {file = "requests-mock-1.12.1.tar.gz", hash = "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401"}, + {file = "requests_mock-1.12.1-py2.py3-none-any.whl", hash = "sha256:b1e37054004cdd5e56c84454cc7df12b25f90f382159087f4b6915aaeef39563"}, +] + +[[package]] +name = "requirements-parser" +version = "0.11.0" +requires_python = "<4.0,>=3.8" +summary = "This is a small Python module for parsing Pip requirement files." +groups = ["license"] +dependencies = [ + "packaging>=23.2", + "types-setuptools>=69.1.0", +] +files = [ + {file = "requirements_parser-0.11.0-py3-none-any.whl", hash = "sha256:50379eb50311834386c2568263ae5225d7b9d0867fb55cf4ecc93959de2c2684"}, + {file = "requirements_parser-0.11.0.tar.gz", hash = "sha256:35f36dc969d14830bf459803da84f314dc3d17c802592e9e970f63d0359e5920"}, +] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +summary = "A pure python RFC3339 validator" +groups = ["docs"] +dependencies = [ + "six", +] +files = [ + {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, + {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +summary = "Pure python rfc3986 validator" +groups = ["docs"] +files = [ + {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, + {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, +] + +[[package]] +name = "rich" +version = "13.8.0" +requires_python = ">=3.7.0" +summary = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +groups = ["default", "license"] +dependencies = [ + "markdown-it-py>=2.2.0", + "pygments<3.0.0,>=2.13.0", + "typing-extensions<5.0,>=4.0.0; python_version < \"3.9\"", +] +files = [ + {file = "rich-13.8.0-py3-none-any.whl", hash = "sha256:2e85306a063b9492dffc86278197a60cbece75bcb766022f3436f567cae11bdc"}, + {file = "rich-13.8.0.tar.gz", hash = "sha256:a5ac1f1cd448ade0d59cc3356f7db7a7ccda2c8cbae9c7a90c28ff463d3e91f4"}, +] + +[[package]] +name = "rpds-py" +version = "0.20.0" +requires_python = ">=3.8" +summary = "Python bindings to Rust's persistent data structures (rpds)" +groups = ["docs"] +files = [ + {file = "rpds_py-0.20.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3ad0fda1635f8439cde85c700f964b23ed5fc2d28016b32b9ee5fe30da5c84e2"}, + {file = "rpds_py-0.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9bb4a0d90fdb03437c109a17eade42dfbf6190408f29b2744114d11586611d6f"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6377e647bbfd0a0b159fe557f2c6c602c159fc752fa316572f012fc0bf67150"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb851b7df9dda52dc1415ebee12362047ce771fc36914586b2e9fcbd7d293b3e"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e0f80b739e5a8f54837be5d5c924483996b603d5502bfff79bf33da06164ee2"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a8c94dad2e45324fc74dce25e1645d4d14df9a4e54a30fa0ae8bad9a63928e3"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e604fe73ba048c06085beaf51147eaec7df856824bfe7b98657cf436623daf"}, + {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:df3de6b7726b52966edf29663e57306b23ef775faf0ac01a3e9f4012a24a4140"}, + {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf258ede5bc22a45c8e726b29835b9303c285ab46fc7c3a4cc770736b5304c9f"}, + {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:55fea87029cded5df854ca7e192ec7bdb7ecd1d9a3f63d5c4eb09148acf4a7ce"}, + {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ae94bd0b2f02c28e199e9bc51485d0c5601f58780636185660f86bf80c89af94"}, + {file = "rpds_py-0.20.0-cp310-none-win32.whl", hash = "sha256:28527c685f237c05445efec62426d285e47a58fb05ba0090a4340b73ecda6dee"}, + {file = "rpds_py-0.20.0-cp310-none-win_amd64.whl", hash = "sha256:238a2d5b1cad28cdc6ed15faf93a998336eb041c4e440dd7f902528b8891b399"}, + {file = "rpds_py-0.20.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac2f4f7a98934c2ed6505aead07b979e6f999389f16b714448fb39bbaa86a489"}, + {file = "rpds_py-0.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:220002c1b846db9afd83371d08d239fdc865e8f8c5795bbaec20916a76db3318"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d7919548df3f25374a1f5d01fbcd38dacab338ef5f33e044744b5c36729c8db"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:758406267907b3781beee0f0edfe4a179fbd97c0be2e9b1154d7f0a1279cf8e5"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d61339e9f84a3f0767b1995adfb171a0d00a1185192718a17af6e124728e0f5"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1259c7b3705ac0a0bd38197565a5d603218591d3f6cee6e614e380b6ba61c6f6"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c1dc0f53856b9cc9a0ccca0a7cc61d3d20a7088201c0937f3f4048c1718a209"}, + {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7e60cb630f674a31f0368ed32b2a6b4331b8350d67de53c0359992444b116dd3"}, + {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbe982f38565bb50cb7fb061ebf762c2f254ca3d8c20d4006878766e84266272"}, + {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:514b3293b64187172bc77c8fb0cdae26981618021053b30d8371c3a902d4d5ad"}, + {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d0a26ffe9d4dd35e4dfdd1e71f46401cff0181c75ac174711ccff0459135fa58"}, + {file = "rpds_py-0.20.0-cp311-none-win32.whl", hash = "sha256:89c19a494bf3ad08c1da49445cc5d13d8fefc265f48ee7e7556839acdacf69d0"}, + {file = "rpds_py-0.20.0-cp311-none-win_amd64.whl", hash = "sha256:c638144ce971df84650d3ed0096e2ae7af8e62ecbbb7b201c8935c370df00a2c"}, + {file = "rpds_py-0.20.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a84ab91cbe7aab97f7446652d0ed37d35b68a465aeef8fc41932a9d7eee2c1a6"}, + {file = "rpds_py-0.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:56e27147a5a4c2c21633ff8475d185734c0e4befd1c989b5b95a5d0db699b21b"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2580b0c34583b85efec8c5c5ec9edf2dfe817330cc882ee972ae650e7b5ef739"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b80d4a7900cf6b66bb9cee5c352b2d708e29e5a37fe9bf784fa97fc11504bf6c"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50eccbf054e62a7b2209b28dc7a22d6254860209d6753e6b78cfaeb0075d7bee"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:49a8063ea4296b3a7e81a5dfb8f7b2d73f0b1c20c2af401fb0cdf22e14711a96"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea438162a9fcbee3ecf36c23e6c68237479f89f962f82dae83dc15feeceb37e4"}, + {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18d7585c463087bddcfa74c2ba267339f14f2515158ac4db30b1f9cbdb62c8ef"}, + {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d4c7d1a051eeb39f5c9547e82ea27cbcc28338482242e3e0b7768033cb083821"}, + {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4df1e3b3bec320790f699890d41c59d250f6beda159ea3c44c3f5bac1976940"}, + {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2cf126d33a91ee6eedc7f3197b53e87a2acdac63602c0f03a02dd69e4b138174"}, + {file = "rpds_py-0.20.0-cp312-none-win32.whl", hash = "sha256:8bc7690f7caee50b04a79bf017a8d020c1f48c2a1077ffe172abec59870f1139"}, + {file = "rpds_py-0.20.0-cp312-none-win_amd64.whl", hash = "sha256:0e13e6952ef264c40587d510ad676a988df19adea20444c2b295e536457bc585"}, + {file = "rpds_py-0.20.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:aa9a0521aeca7d4941499a73ad7d4f8ffa3d1affc50b9ea11d992cd7eff18a29"}, + {file = "rpds_py-0.20.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1f1d51eccb7e6c32ae89243cb352389228ea62f89cd80823ea7dd1b98e0b91"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a86a9b96070674fc88b6f9f71a97d2c1d3e5165574615d1f9168ecba4cecb24"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c8ef2ebf76df43f5750b46851ed1cdf8f109d7787ca40035fe19fbdc1acc5a7"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b25f024b421d5859d156750ea9a65651793d51b76a2e9238c05c9d5f203a9"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57eb94a8c16ab08fef6404301c38318e2c5a32216bf5de453e2714c964c125c8"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1940dae14e715e2e02dfd5b0f64a52e8374a517a1e531ad9412319dc3ac7879"}, + {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d20277fd62e1b992a50c43f13fbe13277a31f8c9f70d59759c88f644d66c619f"}, + {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:06db23d43f26478303e954c34c75182356ca9aa7797d22c5345b16871ab9c45c"}, + {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b2a5db5397d82fa847e4c624b0c98fe59d2d9b7cf0ce6de09e4d2e80f8f5b3f2"}, + {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a35df9f5548fd79cb2f52d27182108c3e6641a4feb0f39067911bf2adaa3e57"}, + {file = "rpds_py-0.20.0-cp313-none-win32.whl", hash = "sha256:fd2d84f40633bc475ef2d5490b9c19543fbf18596dcb1b291e3a12ea5d722f7a"}, + {file = "rpds_py-0.20.0-cp313-none-win_amd64.whl", hash = "sha256:9bc2d153989e3216b0559251b0c260cfd168ec78b1fac33dd485750a228db5a2"}, + {file = "rpds_py-0.20.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3fde368e9140312b6e8b6c09fb9f8c8c2f00999d1823403ae90cc00480221b22"}, + {file = "rpds_py-0.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9824fb430c9cf9af743cf7aaf6707bf14323fb51ee74425c380f4c846ea70789"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11ef6ce74616342888b69878d45e9f779b95d4bd48b382a229fe624a409b72c5"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c52d3f2f82b763a24ef52f5d24358553e8403ce05f893b5347098014f2d9eff2"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d35cef91e59ebbeaa45214861874bc6f19eb35de96db73e467a8358d701a96c"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d72278a30111e5b5525c1dd96120d9e958464316f55adb030433ea905866f4de"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4c29cbbba378759ac5786730d1c3cb4ec6f8ababf5c42a9ce303dc4b3d08cda"}, + {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6632f2d04f15d1bd6fe0eedd3b86d9061b836ddca4c03d5cf5c7e9e6b7c14580"}, + {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d0b67d87bb45ed1cd020e8fbf2307d449b68abc45402fe1a4ac9e46c3c8b192b"}, + {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ec31a99ca63bf3cd7f1a5ac9fe95c5e2d060d3c768a09bc1d16e235840861420"}, + {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22e6c9976e38f4d8c4a63bd8a8edac5307dffd3ee7e6026d97f3cc3a2dc02a0b"}, + {file = "rpds_py-0.20.0-cp39-none-win32.whl", hash = "sha256:569b3ea770c2717b730b61998b6c54996adee3cef69fc28d444f3e7920313cf7"}, + {file = "rpds_py-0.20.0-cp39-none-win_amd64.whl", hash = "sha256:e6900ecdd50ce0facf703f7a00df12374b74bbc8ad9fe0f6559947fb20f82364"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:617c7357272c67696fd052811e352ac54ed1d9b49ab370261a80d3b6ce385045"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9426133526f69fcaba6e42146b4e12d6bc6c839b8b555097020e2b78ce908dcc"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deb62214c42a261cb3eb04d474f7155279c1a8a8c30ac89b7dcb1721d92c3c02"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fcaeb7b57f1a1e071ebd748984359fef83ecb026325b9d4ca847c95bc7311c92"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d454b8749b4bd70dd0a79f428731ee263fa6995f83ccb8bada706e8d1d3ff89d"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d807dc2051abe041b6649681dce568f8e10668e3c1c6543ebae58f2d7e617855"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3c20f0ddeb6e29126d45f89206b8291352b8c5b44384e78a6499d68b52ae511"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b7f19250ceef892adf27f0399b9e5afad019288e9be756d6919cb58892129f51"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4f1ed4749a08379555cebf4650453f14452eaa9c43d0a95c49db50c18b7da075"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:dcedf0b42bcb4cfff4101d7771a10532415a6106062f005ab97d1d0ab5681c60"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:39ed0d010457a78f54090fafb5d108501b5aa5604cc22408fc1c0c77eac14344"}, + {file = "rpds_py-0.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bb273176be34a746bdac0b0d7e4e2c467323d13640b736c4c477881a3220a989"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f918a1a130a6dfe1d7fe0f105064141342e7dd1611f2e6a21cd2f5c8cb1cfb3e"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f60012a73aa396be721558caa3a6fd49b3dd0033d1675c6d59c4502e870fcf0c"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d2b1ad682a3dfda2a4e8ad8572f3100f95fad98cb99faf37ff0ddfe9cbf9d03"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:614fdafe9f5f19c63ea02817fa4861c606a59a604a77c8cdef5aa01d28b97921"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa518bcd7600c584bf42e6617ee8132869e877db2f76bcdc281ec6a4113a53ab"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0475242f447cc6cb8a9dd486d68b2ef7fbee84427124c232bff5f63b1fe11e5"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f90a4cd061914a60bd51c68bcb4357086991bd0bb93d8aa66a6da7701370708f"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:def7400461c3a3f26e49078302e1c1b38f6752342c77e3cf72ce91ca69fb1bc1"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:65794e4048ee837494aea3c21a28ad5fc080994dfba5b036cf84de37f7ad5074"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:faefcc78f53a88f3076b7f8be0a8f8d35133a3ecf7f3770895c25f8813460f08"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:5b4f105deeffa28bbcdff6c49b34e74903139afa690e35d2d9e3c2c2fba18cec"}, + {file = "rpds_py-0.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fdfc3a892927458d98f3d55428ae46b921d1f7543b89382fdb483f5640daaec8"}, + {file = "rpds_py-0.20.0.tar.gz", hash = "sha256:d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121"}, +] + +[[package]] +name = "ruff" +version = "0.6.3" +requires_python = ">=3.7" +summary = "An extremely fast Python linter and code formatter, written in Rust." +groups = ["lint"] +files = [ + {file = "ruff-0.6.3-py3-none-linux_armv6l.whl", hash = "sha256:97f58fda4e309382ad30ede7f30e2791d70dd29ea17f41970119f55bdb7a45c3"}, + {file = "ruff-0.6.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3b061e49b5cf3a297b4d1c27ac5587954ccb4ff601160d3d6b2f70b1622194dc"}, + {file = "ruff-0.6.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:34e2824a13bb8c668c71c1760a6ac7d795ccbd8d38ff4a0d8471fdb15de910b1"}, + {file = "ruff-0.6.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bddfbb8d63c460f4b4128b6a506e7052bad4d6f3ff607ebbb41b0aa19c2770d1"}, + {file = "ruff-0.6.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ced3eeb44df75353e08ab3b6a9e113b5f3f996bea48d4f7c027bc528ba87b672"}, + {file = "ruff-0.6.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47021dff5445d549be954eb275156dfd7c37222acc1e8014311badcb9b4ec8c1"}, + {file = "ruff-0.6.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d7bd20dc07cebd68cc8bc7b3f5ada6d637f42d947c85264f94b0d1cd9d87384"}, + {file = "ruff-0.6.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:500f166d03fc6d0e61c8e40a3ff853fa8a43d938f5d14c183c612df1b0d6c58a"}, + {file = "ruff-0.6.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:42844ff678f9b976366b262fa2d1d1a3fe76f6e145bd92c84e27d172e3c34500"}, + {file = "ruff-0.6.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70452a10eb2d66549de8e75f89ae82462159855e983ddff91bc0bce6511d0470"}, + {file = "ruff-0.6.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:65a533235ed55f767d1fc62193a21cbf9e3329cf26d427b800fdeacfb77d296f"}, + {file = "ruff-0.6.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d2e2c23cef30dc3cbe9cc5d04f2899e7f5e478c40d2e0a633513ad081f7361b5"}, + {file = "ruff-0.6.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d8a136aa7d228975a6aee3dd8bea9b28e2b43e9444aa678fb62aeb1956ff2351"}, + {file = "ruff-0.6.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:f92fe93bc72e262b7b3f2bba9879897e2d58a989b4714ba6a5a7273e842ad2f8"}, + {file = "ruff-0.6.3-py3-none-win32.whl", hash = "sha256:7a62d3b5b0d7f9143d94893f8ba43aa5a5c51a0ffc4a401aa97a81ed76930521"}, + {file = "ruff-0.6.3-py3-none-win_amd64.whl", hash = "sha256:746af39356fee2b89aada06c7376e1aa274a23493d7016059c3a72e3b296befb"}, + {file = "ruff-0.6.3-py3-none-win_arm64.whl", hash = "sha256:14a9528a8b70ccc7a847637c29e56fd1f9183a9db743bbc5b8e0c4ad60592a82"}, + {file = "ruff-0.6.3.tar.gz", hash = "sha256:183b99e9edd1ef63be34a3b51fee0a9f4ab95add123dbf89a71f7b1f0c991983"}, +] + +[[package]] +name = "s2" +version = "0.1.9" +requires_python = ">=3" +summary = "Python bindings for S2, a hierarchical square geospatial indexing system." +groups = ["test"] +dependencies = [ + "s2sphere", + "shapely", +] +files = [ + {file = "s2-0.1.9-py2.py3-none-any.whl", hash = "sha256:8f550c1f65a16a5e2efb64867d12356f20092a2d87b10575104563ef6379c192"}, + {file = "s2-0.1.9.tar.gz", hash = "sha256:ad7a90d78f00dd9edf5002ebfa16163a6cbea582bba4ad8ea9d22df07a60851e"}, +] + +[[package]] +name = "s2sphere" +version = "0.2.5" +summary = "Python implementation of the S2 Geometry Library" +groups = ["test"] +dependencies = [ + "future>=0.15", +] +files = [ + {file = "s2sphere-0.2.5-py2.py3-none-any.whl", hash = "sha256:d2340c9cf458ddc9a89afd1d8048a4195ce6fa6b0095ab900d4be5271e537401"}, + {file = "s2sphere-0.2.5.tar.gz", hash = "sha256:c2478c1ff7c601a59a7151a57b605435897514578fa6bdb8730721c182adbbaf"}, +] + +[[package]] +name = "scikit-learn" +version = "1.5.1" +requires_python = ">=3.9" +summary = "A set of python modules for machine learning and data mining" +groups = ["default", "cli-dev"] +dependencies = [ + "joblib>=1.2.0", + "numpy>=1.19.5", + "scipy>=1.6.0", + "threadpoolctl>=3.1.0", +] +files = [ + {file = "scikit_learn-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:781586c414f8cc58e71da4f3d7af311e0505a683e112f2f62919e3019abd3745"}, + {file = "scikit_learn-1.5.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:f5b213bc29cc30a89a3130393b0e39c847a15d769d6e59539cd86b75d276b1a7"}, + {file = "scikit_learn-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ff4ba34c2abff5ec59c803ed1d97d61b036f659a17f55be102679e88f926fac"}, + {file = "scikit_learn-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:161808750c267b77b4a9603cf9c93579c7a74ba8486b1336034c2f1579546d21"}, + {file = "scikit_learn-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:10e49170691514a94bb2e03787aa921b82dbc507a4ea1f20fd95557862c98dc1"}, + {file = "scikit_learn-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:154297ee43c0b83af12464adeab378dee2d0a700ccd03979e2b821e7dd7cc1c2"}, + {file = "scikit_learn-1.5.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b5e865e9bd59396220de49cb4a57b17016256637c61b4c5cc81aaf16bc123bbe"}, + {file = "scikit_learn-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:909144d50f367a513cee6090873ae582dba019cb3fca063b38054fa42704c3a4"}, + {file = "scikit_learn-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:689b6f74b2c880276e365fe84fe4f1befd6a774f016339c65655eaff12e10cbf"}, + {file = "scikit_learn-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:9a07f90846313a7639af6a019d849ff72baadfa4c74c778821ae0fad07b7275b"}, + {file = "scikit_learn-1.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5944ce1faada31c55fb2ba20a5346b88e36811aab504ccafb9f0339e9f780395"}, + {file = "scikit_learn-1.5.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:0828673c5b520e879f2af6a9e99eee0eefea69a2188be1ca68a6121b809055c1"}, + {file = "scikit_learn-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:508907e5f81390e16d754e8815f7497e52139162fd69c4fdbd2dfa5d6cc88915"}, + {file = "scikit_learn-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97625f217c5c0c5d0505fa2af28ae424bd37949bb2f16ace3ff5f2f81fb4498b"}, + {file = "scikit_learn-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:da3f404e9e284d2b0a157e1b56b6566a34eb2798205cba35a211df3296ab7a74"}, + {file = "scikit_learn-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:88e0672c7ac21eb149d409c74cc29f1d611d5158175846e7a9c2427bd12b3956"}, + {file = "scikit_learn-1.5.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:7b073a27797a283187a4ef4ee149959defc350b46cbf63a84d8514fe16b69855"}, + {file = "scikit_learn-1.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b59e3e62d2be870e5c74af4e793293753565c7383ae82943b83383fdcf5cc5c1"}, + {file = "scikit_learn-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bd8d3a19d4bd6dc5a7d4f358c8c3a60934dc058f363c34c0ac1e9e12a31421d"}, + {file = "scikit_learn-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:5f57428de0c900a98389c4a433d4a3cf89de979b3aa24d1c1d251802aa15e44d"}, + {file = "scikit_learn-1.5.1.tar.gz", hash = "sha256:0ea5d40c0e3951df445721927448755d3fe1d80833b0b7308ebff5d2a45e6414"}, +] + +[[package]] +name = "scipy" +version = "1.13.1" +requires_python = ">=3.9" +summary = "Fundamental algorithms for scientific computing in Python" +groups = ["default", "cli-dev", "docs"] +dependencies = [ + "numpy<2.3,>=1.22.4", +] +files = [ + {file = "scipy-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:20335853b85e9a49ff7572ab453794298bcf0354d8068c5f6775a0eabf350aca"}, + {file = "scipy-1.13.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d605e9c23906d1994f55ace80e0125c587f96c020037ea6aa98d01b4bd2e222f"}, + {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfa31f1def5c819b19ecc3a8b52d28ffdcc7ed52bb20c9a7589669dd3c250989"}, + {file = "scipy-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26264b282b9da0952a024ae34710c2aff7d27480ee91a2e82b7b7073c24722f"}, + {file = "scipy-1.13.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eccfa1906eacc02de42d70ef4aecea45415f5be17e72b61bafcfd329bdc52e94"}, + {file = "scipy-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:2831f0dc9c5ea9edd6e51e6e769b655f08ec6db6e2e10f86ef39bd32eb11da54"}, + {file = "scipy-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:27e52b09c0d3a1d5b63e1105f24177e544a222b43611aaf5bc44d4a0979e32f9"}, + {file = "scipy-1.13.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:54f430b00f0133e2224c3ba42b805bfd0086fe488835effa33fa291561932326"}, + {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e89369d27f9e7b0884ae559a3a956e77c02114cc60a6058b4e5011572eea9299"}, + {file = "scipy-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a78b4b3345f1b6f68a763c6e25c0c9a23a9fd0f39f5f3d200efe8feda560a5fa"}, + {file = "scipy-1.13.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45484bee6d65633752c490404513b9ef02475b4284c4cfab0ef946def50b3f59"}, + {file = "scipy-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:5713f62f781eebd8d597eb3f88b8bf9274e79eeabf63afb4a737abc6c84ad37b"}, + {file = "scipy-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5d72782f39716b2b3509cd7c33cdc08c96f2f4d2b06d51e52fb45a19ca0c86a1"}, + {file = "scipy-1.13.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:017367484ce5498445aade74b1d5ab377acdc65e27095155e448c88497755a5d"}, + {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:949ae67db5fa78a86e8fa644b9a6b07252f449dcf74247108c50e1d20d2b4627"}, + {file = "scipy-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3ade0e53bc1f21358aa74ff4830235d716211d7d077e340c7349bc3542e884"}, + {file = "scipy-1.13.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2ac65fb503dad64218c228e2dc2d0a0193f7904747db43014645ae139c8fad16"}, + {file = "scipy-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:cdd7dacfb95fea358916410ec61bbc20440f7860333aee6d882bb8046264e949"}, + {file = "scipy-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:436bbb42a94a8aeef855d755ce5a465479c721e9d684de76bf61a62e7c2b81d5"}, + {file = "scipy-1.13.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:8335549ebbca860c52bf3d02f80784e91a004b71b059e3eea9678ba994796a24"}, + {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d533654b7d221a6a97304ab63c41c96473ff04459e404b83275b60aa8f4b7004"}, + {file = "scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637e98dcf185ba7f8e663e122ebf908c4702420477ae52a04f9908707456ba4d"}, + {file = "scipy-1.13.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a014c2b3697bde71724244f63de2476925596c24285c7a637364761f8710891c"}, + {file = "scipy-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:392e4ec766654852c25ebad4f64e4e584cf19820b980bc04960bca0b0cd6eaa2"}, + {file = "scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c"}, +] + +[[package]] +name = "seaborn" +version = "0.13.2" +requires_python = ">=3.8" +summary = "Statistical data visualization" +groups = ["docs"] +dependencies = [ + "matplotlib!=3.6.1,>=3.4", + "numpy!=1.24.0,>=1.20", + "pandas>=1.2", +] +files = [ + {file = "seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987"}, + {file = "seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7"}, +] + +[[package]] +name = "send2trash" +version = "1.8.3" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +summary = "Send file to trash natively under Mac OS X, Windows and Linux" +groups = ["docs"] +files = [ + {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, + {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, +] + +[[package]] +name = "setuptools" +version = "74.1.0" +requires_python = ">=3.8" +summary = "Easily download, build, install, upgrade, and uninstall Python packages" +groups = ["dev", "docs", "test"] +files = [ + {file = "setuptools-74.1.0-py3-none-any.whl", hash = "sha256:cee604bd76cc092355a4e43ec17aee5369095974f41f088676724dc6bc2c9ef8"}, + {file = "setuptools-74.1.0.tar.gz", hash = "sha256:bea195a800f510ba3a2bc65645c88b7e016fe36709fefc58a880c4ae8a0138d7"}, +] + +[[package]] +name = "shapely" +version = "2.0.6" +requires_python = ">=3.7" +summary = "Manipulation and analysis of geometric objects" +groups = ["default", "test"] +dependencies = [ + "numpy<3,>=1.14", +] +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-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"}, +] + +[[package]] +name = "six" +version = "1.16.0" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +summary = "Python 2 and 3 compatibility utilities" +groups = ["default", "cli-dev", "docs", "license", "test"] +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +requires_python = ">=3.7" +summary = "Sniff out which async library your code is running under" +groups = ["docs"] +files = [ + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, +] + +[[package]] +name = "snuggs" +version = "1.4.7" +summary = "Snuggs are s-expressions for Numpy" +groups = ["docs"] +dependencies = [ + "numpy", + "pyparsing>=2.1.6", +] +files = [ + {file = "snuggs-1.4.7-py3-none-any.whl", hash = "sha256:988dde5d4db88e9d71c99457404773dabcc7a1c45971bfbe81900999942d9f07"}, + {file = "snuggs-1.4.7.tar.gz", hash = "sha256:501cf113fe3892e14e2fee76da5cd0606b7e149c411c271898e6259ebde2617b"}, +] + +[[package]] +name = "soupsieve" +version = "2.6" +requires_python = ">=3.8" +summary = "A modern CSS selector implementation for Beautiful Soup." +groups = ["docs"] +files = [ + {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, + {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, +] + +[[package]] +name = "srai" +version = "0.7.6" +requires_python = ">=3.9" +summary = "A set of python modules for geospatial machine learning and data mining" +groups = ["test"] +dependencies = [ + "geopandas>=0.6", + "h3>=4.0.0b1", + "h3ronpy>=0.20.1", + "numpy>=1.26.0", + "osmnx>=1.3.0", + "pandas", + "pyarrow>=13.0.0", + "pyfunctional>=1.0.0", + "requests", + "s2>=0.1.9", + "shapely>=2.0.1", + "topojson>=1.6", + "tqdm>=4.42.0", + "typeguard>=3.0.0", +] +files = [ + {file = "srai-0.7.6-py3-none-any.whl", hash = "sha256:236208f76d679f1709d2fb9ab1889f4052e2ca2c9d7b5a15a3fc23c68d3f4493"}, + {file = "srai-0.7.6.tar.gz", hash = "sha256:cafd89991f56a28379dba77db69ccd322f7ea58573321d74171df47292adf584"}, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +summary = "Extract data from python stack frames and tracebacks for informative displays" +groups = ["cli-dev", "docs"] +dependencies = [ + "asttokens>=2.1.0", + "executing>=1.2.0", + "pure-eval", +] +files = [ + {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, + {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, +] + +[[package]] +name = "tabulate" +version = "0.9.0" +requires_python = ">=3.7" +summary = "Pretty-print tabular data" +groups = ["test"] +files = [ + {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, + {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, +] + +[[package]] +name = "terminado" +version = "0.18.1" +requires_python = ">=3.8" +summary = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." +groups = ["docs"] +dependencies = [ + "ptyprocess; os_name != \"nt\"", + "pywinpty>=1.1.0; os_name == \"nt\"", + "tornado>=6.1.0", +] +files = [ + {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, + {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, +] + +[[package]] +name = "threadpoolctl" +version = "3.5.0" +requires_python = ">=3.8" +summary = "threadpoolctl" +groups = ["default", "cli-dev"] +files = [ + {file = "threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467"}, + {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"}, +] + +[[package]] +name = "tinycss2" +version = "1.3.0" +requires_python = ">=3.8" +summary = "A tiny CSS parser" +groups = ["docs"] +dependencies = [ + "webencodings>=0.4", +] +files = [ + {file = "tinycss2-1.3.0-py3-none-any.whl", hash = "sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7"}, + {file = "tinycss2-1.3.0.tar.gz", hash = "sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d"}, +] + +[[package]] +name = "toml" +version = "0.10.2" +requires_python = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +summary = "Python Library for Tom's Obvious, Minimal Language" +groups = ["dev"] +files = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] + +[[package]] +name = "tomli" +version = "2.0.1" +requires_python = ">=3.7" +summary = "A lil' TOML parser" +groups = ["docs", "license", "lint", "test"] +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "topojson" +version = "1.9" +requires_python = ">=3.8" +summary = "topojson - a powerful library to encode geographic data as topology in Python!🌍" +groups = ["test"] +dependencies = [ + "numpy", + "packaging", + "shapely", +] +files = [ + {file = "topojson-1.9-py3-none-any.whl", hash = "sha256:122e6e91fb422549644504580eee86f8a37703dc5ccb1a8e6d8928b750706fe7"}, + {file = "topojson-1.9.tar.gz", hash = "sha256:5a8389ff576d5540660d4430dab56fcadef7c1f90b9f1aa486b1cb140033ff3b"}, +] + +[[package]] +name = "tornado" +version = "6.4.1" +requires_python = ">=3.8" +summary = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +groups = ["docs"] +files = [ + {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8"}, + {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14"}, + {file = "tornado-6.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4"}, + {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842"}, + {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3"}, + {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f"}, + {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4"}, + {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698"}, + {file = "tornado-6.4.1-cp38-abi3-win32.whl", hash = "sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d"}, + {file = "tornado-6.4.1-cp38-abi3-win_amd64.whl", hash = "sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7"}, + {file = "tornado-6.4.1.tar.gz", hash = "sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9"}, +] + +[[package]] +name = "tox" +version = "4.18.0" +requires_python = ">=3.8" +summary = "tox is a generic virtualenv management and test command line tool" +groups = ["test"] +dependencies = [ + "cachetools>=5.4", + "chardet>=5.2", + "colorama>=0.4.6", + "filelock>=3.15.4", + "packaging>=24.1", + "platformdirs>=4.2.2", + "pluggy>=1.5", + "pyproject-api>=1.7.1", + "tomli>=2.0.1; python_version < \"3.11\"", + "virtualenv>=20.26.3", +] +files = [ + {file = "tox-4.18.0-py3-none-any.whl", hash = "sha256:0a457400cf70615dc0627eb70d293e80cd95d8ce174bb40ac011011f0c03a249"}, + {file = "tox-4.18.0.tar.gz", hash = "sha256:5dfa1cab9f146becd6e351333a82f9e0ade374451630ba65ee54584624c27b58"}, +] + +[[package]] +name = "tox-pdm" +version = "0.7.2" +requires_python = ">=3.7" +summary = "A plugin for tox that utilizes PDM as the package manager and installer" +groups = ["test"] +dependencies = [ + "tomli; python_version < \"3.11\"", + "tox>=4.0", +] +files = [ + {file = "tox_pdm-0.7.2-py3-none-any.whl", hash = "sha256:12f6215416b7acd00a80a9e7128f3dc3e3c89308d60707f5d0a24abdf83ac104"}, + {file = "tox_pdm-0.7.2.tar.gz", hash = "sha256:a841a7e1e942a71805624703b9a6d286663bd6af79bba6130ba756975c315308"}, +] + +[[package]] +name = "tqdm" +version = "4.66.5" +requires_python = ">=3.7" +summary = "Fast, Extensible Progress Meter" +groups = ["test"] +dependencies = [ + "colorama; platform_system == \"Windows\"", +] +files = [ + {file = "tqdm-4.66.5-py3-none-any.whl", hash = "sha256:90279a3770753eafc9194a0364852159802111925aa30eb3f9d85b0e805ac7cd"}, + {file = "tqdm-4.66.5.tar.gz", hash = "sha256:e1020aef2e5096702d8a025ac7d16b1577279c9d63f8375b63083e9a5f0fcbad"}, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +requires_python = ">=3.8" +summary = "Traitlets Python configuration system" +groups = ["cli-dev", "docs"] +files = [ + {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, + {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, +] + +[[package]] +name = "typeguard" +version = "4.3.0" +requires_python = ">=3.8" +summary = "Run-time type checker for Python" +groups = ["test"] +dependencies = [ + "importlib-metadata>=3.6; python_version < \"3.10\"", + "typing-extensions>=4.10.0", +] +files = [ + {file = "typeguard-4.3.0-py3-none-any.whl", hash = "sha256:4d24c5b39a117f8a895b9da7a9b3114f04eb63bade45a4492de49b175b6f7dfa"}, + {file = "typeguard-4.3.0.tar.gz", hash = "sha256:92ee6a0aec9135181eae6067ebd617fd9de8d75d714fb548728a4933b1dea651"}, +] + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20240821" +requires_python = ">=3.8" +summary = "Typing stubs for python-dateutil" +groups = ["docs"] +files = [ + {file = "types-python-dateutil-2.9.0.20240821.tar.gz", hash = "sha256:9649d1dcb6fef1046fb18bebe9ea2aa0028b160918518c34589a46045f6ebd98"}, + {file = "types_python_dateutil-2.9.0.20240821-py3-none-any.whl", hash = "sha256:f5889fcb4e63ed4aaa379b44f93c32593d50b9a94c9a60a0c854d8cc3511cd57"}, +] + +[[package]] +name = "types-requests" +version = "2.32.0.20240712" +requires_python = ">=3.8" +summary = "Typing stubs for requests" +groups = ["dev"] +dependencies = [ + "urllib3>=2", +] +files = [ + {file = "types-requests-2.32.0.20240712.tar.gz", hash = "sha256:90c079ff05e549f6bf50e02e910210b98b8ff1ebdd18e19c873cd237737c1358"}, + {file = "types_requests-2.32.0.20240712-py3-none-any.whl", hash = "sha256:f754283e152c752e46e70942fa2a146b5bc70393522257bb85bd1ef7e019dcc3"}, +] + +[[package]] +name = "types-setuptools" +version = "74.0.0.20240831" +requires_python = ">=3.8" +summary = "Typing stubs for setuptools" +groups = ["license"] +files = [ + {file = "types-setuptools-74.0.0.20240831.tar.gz", hash = "sha256:8b4a544cc91d42a019dc1e41fd397608b4bc7e20c7d7d5bc326589ffd9e8f8a1"}, + {file = "types_setuptools-74.0.0.20240831-py3-none-any.whl", hash = "sha256:4d9d18ea9214828d695a384633130009f5dee2681a157ee873d3680b62931590"}, +] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +requires_python = ">=3.8" +summary = "Backported and Experimental Type Hints for Python 3.8+" +groups = ["cli-dev", "docs", "license", "lint", "test"] +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"}, +] + +[[package]] +name = "tzdata" +version = "2024.1" +requires_python = ">=2" +summary = "Provider of IANA time zone data" +groups = ["default", "cli-dev", "docs", "test"] +files = [ + {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, + {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, +] + +[[package]] +name = "untokenize" +version = "0.1.1" +summary = "Transforms tokens into original source code (while preserving whitespace)." +groups = ["lint"] +files = [ + {file = "untokenize-0.1.1.tar.gz", hash = "sha256:3865dbbbb8efb4bb5eaa72f1be7f3e0be00ea8b7f125c69cbd1f5fda926f37a2"}, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +requires_python = ">=3.7" +summary = "RFC 6570 URI Template Processor" +groups = ["docs"] +files = [ + {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, + {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, +] + +[[package]] +name = "url-normalize" +version = "1.4.3" +requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +summary = "URL normalization for Python" +groups = ["license"] +dependencies = [ + "six", +] +files = [ + {file = "url-normalize-1.4.3.tar.gz", hash = "sha256:d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2"}, + {file = "url_normalize-1.4.3-py2.py3-none-any.whl", hash = "sha256:ec3c301f04e5bb676d333a7fa162fa977ad2ca04b7e652bfc9fac4e405728eed"}, +] + +[[package]] +name = "urllib3" +version = "2.2.2" +requires_python = ">=3.8" +summary = "HTTP library with thread-safe connection pooling, file post, and more." +groups = ["cli-dev", "dev", "docs", "license", "test"] +files = [ + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, +] + +[[package]] +name = "uv" +version = "0.4.2" +requires_python = ">=3.8" +summary = "An extremely fast Python package and project manager, written in Rust." +groups = ["license"] +files = [ + {file = "uv-0.4.2-py3-none-linux_armv6l.whl", hash = "sha256:1374b17da794decdea2bcf4ffd4e54c2d07c610f54dd6f0dbbdef66fb1c49c32"}, + {file = "uv-0.4.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:22db3b707c7e22be67d6ba5209795584bb0890cec5c5d64c751f311252731787"}, + {file = "uv-0.4.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:51213d541dd1603d938ef8b27dcda97350d8dba2438b2a9a627c2c7f009fdc5a"}, + {file = "uv-0.4.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:4f4f673ba445394c9d189915463da89692fe3b7378ce3dd51b03b9c1e34a04eb"}, + {file = "uv-0.4.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b508e7c93dc60b184c82a3bc73dcacf5fa5141c7b8bfef29968615157d206b6"}, + {file = "uv-0.4.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e34e63761ec3ce921d17e73e5584b9398c4192d7439489d8ca6a87366ced89b3"}, + {file = "uv-0.4.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:0b54932a0d341db3c8bfc4ec56960e3e082559a944fc5c0fc9dba3fb2c088e17"}, + {file = "uv-0.4.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:721f5d0f3bc79c8fe080474459f4c43dcad60ba2901a83c8854b9d27f6f99b3b"}, + {file = "uv-0.4.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b33e48d06eef2d2c1f7db08426c6df87e47d475812a8b1c177eaa279a356d6a"}, + {file = "uv-0.4.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:505aa8f21ca3e28af96dc2985e25db93593690d83a70126d7ca105ad7e108a7d"}, + {file = "uv-0.4.2-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:63a18737aca1a6804d3f670e1bf47c91812d56fb668c577a3405c09bd2d6fbe9"}, + {file = "uv-0.4.2-py3-none-musllinux_1_1_armv7l.whl", hash = "sha256:8289141779aeccddb72be3a541c973db5c00ae9838d4fd76e79a9b27ae95968d"}, + {file = "uv-0.4.2-py3-none-musllinux_1_1_i686.whl", hash = "sha256:2150130c4a4b7058ffbad5dc31dc83bbaf0f023ff7f6652415357b80b3e34632"}, + {file = "uv-0.4.2-py3-none-musllinux_1_1_ppc64le.whl", hash = "sha256:6f3b407a7ea601f92212e99ae15c9d460731c2c9d6376470ce2576152e6726fa"}, + {file = "uv-0.4.2-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:69ae75af5dcaec17f89be07ae04c86021b2ecb9e6596b113f04f730f2ddfdb3c"}, + {file = "uv-0.4.2-py3-none-win32.whl", hash = "sha256:f7e9e465d01cd7f4e8d40243db5683815eba851a15c310fb83b301adb5297629"}, + {file = "uv-0.4.2-py3-none-win_amd64.whl", hash = "sha256:d669eabd18cf7f2c1fb7dab2699c9a7cb2b3fc51f461503a17220d79994ae258"}, + {file = "uv-0.4.2.tar.gz", hash = "sha256:90c0a2267443e9a257c0b543f63b8a908fbfda692da2e921c350a804f394d311"}, +] + +[[package]] +name = "verspec" +version = "0.1.0" +summary = "Flexible version handling" +groups = ["docs"] +files = [ + {file = "verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31"}, + {file = "verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e"}, +] + +[[package]] +name = "virtualenv" +version = "20.26.3" +requires_python = ">=3.7" +summary = "Virtual Python Environment builder" +groups = ["lint", "test"] +dependencies = [ + "distlib<1,>=0.3.7", + "filelock<4,>=3.12.2", + "importlib-metadata>=6.6; python_version < \"3.8\"", + "platformdirs<5,>=3.9.1", +] +files = [ + {file = "virtualenv-20.26.3-py3-none-any.whl", hash = "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589"}, + {file = "virtualenv-20.26.3.tar.gz", hash = "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a"}, +] + +[[package]] +name = "watchdog" +version = "5.0.1" +requires_python = ">=3.9" +summary = "Filesystem events monitoring" +groups = ["docs"] +files = [ + {file = "watchdog-5.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a6b8c6c82ada78479a0df568d27d69aa07105aba9301ac66d1ae162645f4ba34"}, + {file = "watchdog-5.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1e8ca9b7f5f03d2f0556a43db1e9adf1e5af6adf52e0890f781324514b67a612"}, + {file = "watchdog-5.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c92812a358eabebe92b12b9290d16dc95c8003654658f6b2676c9a2103a73ceb"}, + {file = "watchdog-5.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a03a6ccb846ead406a25a0b702d0a6b88fdfa77becaf907cfcfce7737ebbda1f"}, + {file = "watchdog-5.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:39f0de161a822402f0f00c68b82349a4d71c9814e749148ca2b083a25606dbf9"}, + {file = "watchdog-5.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5541a8765c4090decb4dba55d3dceb57724748a717ceaba8dc4f213edb0026e0"}, + {file = "watchdog-5.0.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:e321f1561adea30e447130882efe451af519646178d04189d6ba91a8cd7d88a5"}, + {file = "watchdog-5.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c4ae0b3e95455fa9d959aa3b253c87845ad454ef188a4bf5a69cab287c131216"}, + {file = "watchdog-5.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b2d56425dfa0c1e6f8a510f21d3d54ef7fe50bbc29638943c2cb1394b7b49156"}, + {file = "watchdog-5.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:70e30116849f4ec52240eb1fad83d27e525eae179bfe1c09b3bf120163d731b6"}, + {file = "watchdog-5.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f66df2c152edf5a2fe472bb2f8a5d562165bcf6cf9686cee5d75e524c21ca895"}, + {file = "watchdog-5.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6bb68d9adb9c45f0dc1c2b12f4fb6eab0463a8f9741e371e4ede6769064e0785"}, + {file = "watchdog-5.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6fbb4dd5ace074a2969825fde10034b35b31efcb6973defb22eb945b1d3acc37"}, + {file = "watchdog-5.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:753c6a4c1eea9d3b96cd58159b49103e66cb288216a414ab9ad234ccc7642ec2"}, + {file = "watchdog-5.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:20a28c8b0b3edf4ea2b27fb3527fc0a348e983f22a4317d316bb561524391932"}, + {file = "watchdog-5.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a1cd7c919940b15f253db8279a579fb81e4e4e434b39b11a1cb7f54fe3fa46a6"}, + {file = "watchdog-5.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:a791dfc050ed24b82f7f100ae794192594fe863a7e9bdafcdfa5c6e405a981e5"}, + {file = "watchdog-5.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8ba1472b5fa7c644e49641f70d7ccc567f70b54d776defa5d6f755dc2edc3fbb"}, + {file = "watchdog-5.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b21e6601efe8453514c2fc21aca57fb5413c3d8b157bfe520b05b57b1788a167"}, + {file = "watchdog-5.0.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:763c6f82bb65504b47d4aea268462b2fb662676676356e04787f332a11f03eb0"}, + {file = "watchdog-5.0.1-py3-none-manylinux2014_armv7l.whl", hash = "sha256:664917cd513538728875a42d5654584b533da88cf06680452c98e73b45466968"}, + {file = "watchdog-5.0.1-py3-none-manylinux2014_i686.whl", hash = "sha256:39e828c4270452b966bc9d814911a3c7e24c62d726d2a3245f5841664ff56b5e"}, + {file = "watchdog-5.0.1-py3-none-manylinux2014_ppc64.whl", hash = "sha256:59ec6111f3750772badae3403ef17263489ed6f27ac01ec50c0244b2afa258fb"}, + {file = "watchdog-5.0.1-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:f3006361dba2005552cc8aa49c44d16a10e0a1939bb3286e888a14f722122808"}, + {file = "watchdog-5.0.1-py3-none-manylinux2014_s390x.whl", hash = "sha256:72dbdffe4aa0c36c59f4a5190bceeb7fdfdf849ab98a562b3a783a64cc6dacdd"}, + {file = "watchdog-5.0.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c93aa24899cb4e8a51492c7ccc420bea45ced502fe9ef2e83f9ab1107e5a13b5"}, + {file = "watchdog-5.0.1-py3-none-win32.whl", hash = "sha256:2b8cd627b76194e725ed6f48d9524b1ad93a51a0dc3bd0225c56023716245091"}, + {file = "watchdog-5.0.1-py3-none-win_amd64.whl", hash = "sha256:4eaebff2f938f5325788cef26521891b2d8ecc8e7852aa123a9b458815f93875"}, + {file = "watchdog-5.0.1-py3-none-win_ia64.whl", hash = "sha256:9b1b32f89f95162f09aea6e15d9384f6e0490152f10d7ed241f8a85cddc50658"}, + {file = "watchdog-5.0.1.tar.gz", hash = "sha256:f0180e84e6493ef7c82e051334e8c9b00ffd89fa9de5e0613d3c267f6ccf2d38"}, +] + +[[package]] +name = "wcmatch" +version = "9.0" +requires_python = ">=3.8" +summary = "Wildcard/glob file name matcher." +groups = ["docs"] +dependencies = [ + "bracex>=2.1.1", +] +files = [ + {file = "wcmatch-9.0-py3-none-any.whl", hash = "sha256:af25922e2b6dbd1550fa37a4c8de7dd558d6c1bb330c641de9b907b9776cb3c4"}, + {file = "wcmatch-9.0.tar.gz", hash = "sha256:567d66b11ad74384954c8af86f607857c3bdf93682349ad32066231abd556c92"}, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +summary = "Measures the displayed width of unicode strings in a terminal" +groups = ["cli-dev", "docs"] +dependencies = [ + "backports-functools-lru-cache>=1.2.1; python_version < \"3.2\"", +] +files = [ + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, +] + +[[package]] +name = "webcolors" +version = "24.8.0" +requires_python = ">=3.8" +summary = "A library for working with the color formats defined by HTML and CSS." +groups = ["docs"] +files = [ + {file = "webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a"}, + {file = "webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d"}, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +summary = "Character encoding aliases for legacy web content" +groups = ["docs"] +files = [ + {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, + {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, +] + +[[package]] +name = "websocket-client" +version = "1.8.0" +requires_python = ">=3.8" +summary = "WebSocket client for Python with low level API options" +groups = ["docs"] +files = [ + {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, + {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, +] + +[[package]] +name = "widgetsnbextension" +version = "4.0.13" +requires_python = ">=3.7" +summary = "Jupyter interactive widgets for Jupyter Notebook" +groups = ["cli-dev", "docs"] +files = [ + {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, + {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, +] + +[[package]] +name = "win32-setctime" +version = "1.1.0" +requires_python = ">=3.5" +summary = "A small Python utility to set file creation time on Windows" +groups = ["license"] +marker = "sys_platform == \"win32\"" +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"}, +] + +[[package]] +name = "xyzservices" +version = "2024.6.0" +requires_python = ">=3.8" +summary = "Source of XYZ tiles providers" +groups = ["cli-dev", "docs"] +files = [ + {file = "xyzservices-2024.6.0-py3-none-any.whl", hash = "sha256:fecb2508f0f2b71c819aecf5df2c03cef001c56a4b49302e640f3b34710d25e4"}, + {file = "xyzservices-2024.6.0.tar.gz", hash = "sha256:58c1bdab4257d2551b9ef91cd48571f77b7c4d2bc45bf5e3c05ac97b3a4d7282"}, +] + +[[package]] +name = "yarl" +version = "1.9.7" +requires_python = ">=3.8" +summary = "Yet another URL library" +groups = ["default"] +dependencies = [ + "idna>=2.0", + "multidict>=4.0", +] +files = [ + {file = "yarl-1.9.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:60c04415b31a1611ef5989a6084dd6f6b95652c6a18378b58985667b65b2ecb6"}, + {file = "yarl-1.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1787dcfdbe730207acb454548a6e19f80ae75e6d2d1f531c5a777bc1ab6f7952"}, + {file = "yarl-1.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f5ddad20363f9f1bbedc95789c897da62f939e6bc855793c3060ef8b9f9407bf"}, + {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdb156a06208fc9645ae7cc0fca45c40dd40d7a8c4db626e542525489ca81a9"}, + {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:522fa3d300d898402ae4e0fa7c2c21311248ca43827dc362a667de87fdb4f1be"}, + {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7f9cabfb8b980791b97a3ae3eab2e38b2ba5eab1af9b7495bdc44e1ce7c89e3"}, + {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fc728857df4087da6544fc68f62d7017fa68d74201d5b878e18ed4822c31fb3"}, + {file = "yarl-1.9.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dba2ebac677184d56374fa3e452b461f5d6a03aa132745e648ae8859361eb6b"}, + {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a95167ae34667c5cc7d9206c024f793e8ffbadfb307d5c059de470345de58a21"}, + {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9d319ac113ca47352319cbea92d1925a37cb7bd61a8c2f3e3cd2e96eb33cccae"}, + {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:2d71a5d818d82586ac46265ae01466e0bda0638760f18b21f1174e0dd58a9d2f"}, + {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ff03f1c1ac474c66d474929ae7e4dd195592c1c7cc8c36418528ed81b1ca0a79"}, + {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78250f635f221dde97d02c57aade3313310469bc291888dfe32acd1012594441"}, + {file = "yarl-1.9.7-cp310-cp310-win32.whl", hash = "sha256:f3aaf9fa960d55bd7876d55d7ea3cc046f3660df1ff73fc1b8c520a741ed1f21"}, + {file = "yarl-1.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:e8362c941e07fbcde851597672a5e41b21dc292b7d5a1dc439b7a93c9a1af5d9"}, + {file = "yarl-1.9.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:596069ddeaf72b5eb36cd714dcd2b5751d0090d05a8d65113b582ed9e1c801fb"}, + {file = "yarl-1.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cb870907e8b86b2f32541403da9455afc1e535ce483e579bea0e6e79a0cc751c"}, + {file = "yarl-1.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ca5e86be84492fa403c4dcd4dcaf8e1b1c4ffc747b5176f7c3d09878c45719b0"}, + {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a99cecfb51c84d00132db909e83ae388793ca86e48df7ae57f1be0beab0dcce5"}, + {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25508739e9b44d251172145f54c084b71747b09e4d237dc2abb045f46c36a66e"}, + {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:60f3b5aec3146b6992640592856414870f5b20eb688c1f1d5f7ac010a7f86561"}, + {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1557456afce5db3d655b5f8a31cdcaae1f47e57958760525c44b76e812b4987"}, + {file = "yarl-1.9.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:71bb1435a84688ed831220c5305d96161beb65cac4a966374475348aa3de4575"}, + {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f87d8645a7a806ec8f66aac5e3b1dcb5014849ff53ffe2a1f0b86ca813f534c7"}, + {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:58e3f01673873b8573da3abe138debc63e4e68541b2104a55df4c10c129513a4"}, + {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:8af0bbd4d84f8abdd9b11be9488e32c76b1501889b73c9e2292a15fb925b378b"}, + {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:7fc441408ed0d9c6d2d627a02e281c21f5de43eb5209c16636a17fc704f7d0f8"}, + {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a9552367dc440870556da47bb289a806f08ad06fbc4054072d193d9e5dd619ba"}, + {file = "yarl-1.9.7-cp311-cp311-win32.whl", hash = "sha256:628619008680a11d07243391271b46f07f13b75deb9fe92ef342305058c70722"}, + {file = "yarl-1.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:bc23d870864971c8455cfba17498ccefa53a5719ea9f5fce5e7e9c1606b5755f"}, + {file = "yarl-1.9.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d8cf3d0b67996edc11957aece3fbce4c224d0451c7c3d6154ec3a35d0e55f6b"}, + {file = "yarl-1.9.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3a7748cd66fef49c877e59503e0cc76179caf1158d1080228e67e1db14554f08"}, + {file = "yarl-1.9.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a6fa3aeca8efabb0fbbb3b15e0956b0cb77f7d9db67c107503c30af07cd9e00"}, + {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf37dd0008e5ac5c3880198976063c491b6a15b288d150d12833248cf2003acb"}, + {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87aa5308482f248f8c3bd9311cd6c7dfd98ea1a8e57e35fb11e4adcac3066003"}, + {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:867b13c1b361f9ba5d2f84dc5408082f5d744c83f66de45edc2b96793a9c5e48"}, + {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48ce93947554c2c85fe97fc4866646ec90840bc1162e4db349b37d692a811755"}, + {file = "yarl-1.9.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcd3d94b848cba132f39a5b40d80b0847d001a91a6f35a2204505cdd46afe1b2"}, + {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d06d6a8f98dd87646d98f0c468be14b201e47ec6092ad569adf835810ad0dffb"}, + {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:91567ff4fce73d2e7ac67ed5983ad26ba2343bc28cb22e1e1184a9677df98d7c"}, + {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1d5594512541e63188fea640b7f066c218d2176203d6e6f82abf702ae3dca3b2"}, + {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9c2743e43183e4afbb07d5605693299b8756baff0b086c25236c761feb0e3c56"}, + {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:daa69a3a2204355af39f4cfe7f3870d87c53d77a597b5100b97e3faa9460428b"}, + {file = "yarl-1.9.7-cp312-cp312-win32.whl", hash = "sha256:36b16884336c15adf79a4bf1d592e0c1ffdb036a760e36a1361565b66785ec6c"}, + {file = "yarl-1.9.7-cp312-cp312-win_amd64.whl", hash = "sha256:2ead2f87a1174963cc406d18ac93d731fbb190633d3995fa052d10cefae69ed8"}, + {file = "yarl-1.9.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:808eddabcb6f7b2cdb6929b3e021ac824a2c07dc7bc83f7618e18438b1b65781"}, + {file = "yarl-1.9.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:395ab0d8ce6d104a988da429bcbfd445e03fb4c911148dfd523f69d13f772e47"}, + {file = "yarl-1.9.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:49827dfccbd59c4499605c13805e947349295466e490860a855b7c7e82ec9c75"}, + {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6b8bbdd425d0978311520ea99fb6c0e9e04e64aee84fac05f3157ace9f81b05"}, + {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71d33fd1c219b5b28ee98cd76da0c9398a4ed4792fd75c94135237db05ba5ca8"}, + {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62440431741d0b7d410e5cbad800885e3289048140a43390ecab4f0b96dde3bb"}, + {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4db97210433366dfba55590e48285b89ad0146c52bf248dd0da492dd9f0f72cf"}, + {file = "yarl-1.9.7-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:653597b615809f2e5f4dba6cd805608b6fd3597128361a22cc612cf7c7a4d1bf"}, + {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:df47612129e66f7ce7c9994d4cd4e6852f6e3bf97699375d86991481796eeec8"}, + {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5e338b6febbae6c9fe86924bac3ea9c1944e33255c249543cd82a4af6df6047b"}, + {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e649d37d04665dddb90994bbf0034331b6c14144cc6f3fbce400dc5f28dc05b7"}, + {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0a1b8fd849567be56342e988e72c9d28bd3c77b9296c38b9b42d2fe4813c9d3f"}, + {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f9d715b2175dff9a49c6dafdc2ab3f04850ba2f3d4a77f69a5a1786b057a9d45"}, + {file = "yarl-1.9.7-cp313-cp313-win32.whl", hash = "sha256:bc9233638b07c2e4a3a14bef70f53983389bffa9e8cb90a2da3f67ac9c5e1842"}, + {file = "yarl-1.9.7-cp313-cp313-win_amd64.whl", hash = "sha256:62e110772330d7116f91e79cd83fef92545cb2f36414c95881477aa01971f75f"}, + {file = "yarl-1.9.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7ab906a956d2109c6ea11e24c66592b06336e2743509290117f0f7f47d2c1dd3"}, + {file = "yarl-1.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d8ad761493d5aaa7ab2a09736e62b8a220cb0b10ff8ccf6968c861cd8718b915"}, + {file = "yarl-1.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d35f9cdab0ec5e20cf6d2bd46456cf599052cf49a1698ef06b9592238d1cf1b1"}, + {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a48d2b9f0ae29a456fb766ae461691378ecc6cf159dd9f938507d925607591c3"}, + {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cf85599c9336b89b92c313519bcaa223d92fa5d98feb4935a47cce2e8722b4b8"}, + {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8e8916b1ff7680b1f2b1608c82dc15c569b9f2cb2da100c747c291f1acf18a14"}, + {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29c80890e0a64fb0e5f71350d48da330995073881f8b8e623154aef631febfb0"}, + {file = "yarl-1.9.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9163d21aa40ff8528db2aee2b0b6752efe098055b41ab8e5422b2098457199fe"}, + {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:65e3098969baf221bb45e3b2f60735fc2b154fc95902131ebc604bae4c629ea6"}, + {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cddebd096effe4be90fd378e4224cd575ac99e1c521598a6900e94959006e02e"}, + {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8525f955a2dcc281573b6aadeb8ab9c37e2d3428b64ca6a2feec2a794a69c1da"}, + {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:5d585c7d834c13f24c7e3e0efaf1a4b7678866940802e11bd6c4d1f99c935e6b"}, + {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:78805148e780a9ca66f3123e04741e344b66cf06b4fb13223e3a209f39a6da55"}, + {file = "yarl-1.9.7-cp39-cp39-win32.whl", hash = "sha256:3f53df493ec80b76969d6e1ae6e4411a55ab1360e02b80c84bd4b33d61a567ba"}, + {file = "yarl-1.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:c81c28221a85add23a0922a6aeb2cdda7f9723e03e2dfae06fee5c57fe684262"}, + {file = "yarl-1.9.7-py3-none-any.whl", hash = "sha256:49935cc51d272264358962d050d726c3e5603a616f53e52ea88e9df1728aa2ee"}, + {file = "yarl-1.9.7.tar.gz", hash = "sha256:f28e602edeeec01fc96daf7728e8052bc2e12a672e2a138561a1ebaf30fd9df7"}, +] + +[[package]] +name = "zipp" +version = "3.20.1" +requires_python = ">=3.8" +summary = "Backport of pathlib-compatible object wrapper for zip files" +groups = ["cli-dev", "docs", "license", "test"] +marker = "python_version < \"3.10\"" +files = [ + {file = "zipp-3.20.1-py3-none-any.whl", hash = "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064"}, + {file = "zipp-3.20.1.tar.gz", hash = "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b"}, +] diff --git a/pdm.toml b/pdm.toml new file mode 100644 index 0000000..423c458 --- /dev/null +++ b/pdm.toml @@ -0,0 +1,2 @@ +[strategy] +save = "wildcard" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..38b3a05 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,201 @@ +[project] +name = "OvertureMaestro" +version = "0.0.1" +description = "An open-source tool for downloading Overture Maps data with quality of life features" +authors = [ + {name = "Kamil Raczycki", email = "kraczycki@kraina.ai"}, +] +dependencies = [ + "overturemaps>=0.8.0", + "geopandas>=0.6", + "shapely>=2.0.6", + "pyarrow>=16.0.0", + "polars>=0.19.4", + "rich>=12.0.0", + "scikit-learn>=0.16", + "aiohttp", + "fsspec", +] +requires-python = ">=3.9" +readme = "README.md" +license = {text = "Apache-2.0"} +classifiers = [ + "Development Status :: 3 - Alpha", + "License :: OSI Approved :: Apache Software License", + "Topic :: Scientific/Engineering :: Artificial Intelligence", + "Topic :: Scientific/Engineering :: GIS", + "Intended Audience :: Science/Research", + "Intended Audience :: Developers", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Operating System :: Unix", + "Operating System :: MacOS", + "Operating System :: Microsoft :: Windows", +] + +# [project.optional-dependencies] +# cli = [ +# "typer[all]>=0.9.0", +# "h3>=4.0.0b1", +# "s2>=0.1.9", +# "python-geohash>=0.8", +# "geopy>=2.0.0", +# ] + +# [project.scripts] +# overturemaestro = "overturemaestro.__main__:main" +# OvertureMaestro = "overturemaestro.__main__:main" + +[build-system] +requires = ["pdm-backend"] +build-backend = "pdm.backend" + +[tool] +[tool.pdm] +[tool.pdm.dev-dependencies] +# pdm add -d +dev = [ + "bumpver", + "types-requests", + "setuptools>=45.0.0", +] +# pdm add -dG lint +lint = ["pre-commit", "mypy>=1", "docformatter[tomli]", "ruff>=0.1.0"] +# pdm add -dG test +test = [ + "pytest>=7.0.0", + "tox-pdm>=0.7.2", + "pytest-mock>=3.3.0", + "requests-mock>=1.12.1", + "pytest-check>=2.3.1", + "pytest-parametrization>=2022.2.1", + "pytest-doctestplus>=1.2.1", + "srai>=0.6.2", + "osmnx>=1.3.0" +] +# pdm add -dG docs +docs = [ + "mkdocs", + "mkdocs-material", + "mkdocs-mermaid2-plugin", + "mkdocstrings[python]", + "mkdocs-jupyter", + "ipykernel", + "mkdocs-gen-files", + "mkdocs-awesome-pages-plugin", + "mike>=1,<2", + "black", + "jupyter", + "nbconvert", + "nbformat", + "notebook", + "matplotlib>=3.2.0", + "seaborn>=0.10.0", + "py-cpuinfo", + "adjustText", + "contextily", +] +license = ["licensecheck"] +cli-dev = [ + "ipywidgets", + "folium", + "matplotlib>=3.2.0", + "mapclassify", +] + +[tool.pdm.scripts] +post_install = "pre-commit install" + +[tool.black] +line-length = 100 +target-version = ["py39", "py310", "py311", "py312"] +preview = true + +[tool.ruff] +line-length = 100 +target-version = "py39" +extend-exclude = ["old"] + +[tool.ruff.lint] +select = [ + "E", + "W", # pycodestyle + "F", # pyflakes + "UP", # pyupgrade + "D", # pydocstyle + "I", # isort + "B", # flake8-bugbear + "NPY", # NumPy + "YTT", # flake8-2020 + "Q", # flake8-quotes + "PLE", + "PLW", # pylint (add "PLR" in the future) + "PIE", # misc lints + "TID", # tidy imports + "ISC", # implicit string concatenation + "TCH", # type-checking imports + # "N", # pep8-naming + # "ANN", # flake8-annotations +] +ignore = ["D212"] + +[tool.ruff.lint.pydocstyle] +convention = "google" + +[tool.ruff.lint.pycodestyle] +max-doc-length = 100 + +[tool.mypy] +strict = true +show_column_numbers = true +disallow_untyped_defs = true +no_implicit_optional = true +check_untyped_defs = true +warn_return_any = true + +[tool.docformatter] +syntax = 'google' +black = true +recursive = true +wrap-summaries = 100 +wrap-descriptions = 100 +# force-wrap = false # uncomment after https://github.com/PyCQA/docformatter/issues/68 is resolved +tab-width = 4 +blank = false +pre-summary-newline = true +close-quotes-on-newline = true +wrap-one-line = true + +[tool.bumpver] +current_version = "0.0.1" +version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]" +commit_message = "chore(CI/CD): bump version {old_version} -> {new_version}" +commit = true +tag = false +push = false + +[tool.bumpver.file_patterns] +"pyproject.toml" = [ + '^current_version = "{version}"$', + '^version = "{version}"$', +] +"overturemaestro/__init__.py" = ['^__version__ = "{version}"$'] + +[tool.pytest.ini_options] +addopts = ["--import-mode=importlib"] +markers = ["slow: marks tests as slow (deselect with '-m \"not slow\"')"] +log_cli = true +doctest_optionflags = ['ELLIPSIS', 'NORMALIZE_WHITESPACE', 'IGNORE_EXCEPTION_DETAIL'] + +[tool.licensecheck] +using = "requirements" +zero = false +ignore_licenses = ["UNKNOWN"] +ignore_packages = [ + 'docformatter', # uses MIT license, has mismatched license in analysis + 'mkdocs-jupyter', # uses Apache-2.0 license, has mismatched license in analysis + 'python-geohash', # uses both MIT and Apache-2.0 licenses, has mismatched license in analysis +] diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29