diff --git a/.readthedocs.yml b/.readthedocs.yml index 04e42b8..8f163e4 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -10,15 +10,15 @@ build: os: ubuntu-22.04 tools: python: "3.12" - jobs: - post_create_environment: - # Install pdm - - pip install --upgrade pip - - pip install pdm - post_install: - # Install dependencies with 'dev' dependency group - - pdm install -G dev --lockfile pdm.linux.lock # Build documentation in the "docs/" directory with Sphinx sphinx: - configuration: docs/conf.py \ No newline at end of file + configuration: docs/conf.py + +# Install the project and its documentation dependencies +python: + install: + - method: pip + path: . + extra_requirements: + - dev \ No newline at end of file diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml new file mode 100644 index 0000000..f10d4d1 --- /dev/null +++ b/conda-recipe/meta.yaml @@ -0,0 +1,57 @@ +{% set name = "karney" %} +{% set version = "1.1.0" %} # This should be the version you intend to release +{% set python_min = "3.9" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + # Use the PyPI source URL + url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/karney-{{ version }}.tar.gz + # You will need to generate this SHA256 hash. See instructions below. + sha256: 7551483f6740345b6d89a14cbacf5d4e386fc3851dd0d76b3976eba8cbef6b2e + +build: + noarch: python + script: "{{ PYTHON }} -m pip install . -vv --no-deps" + number: 0 # The build number. You increment this if you need to rebuild the same version of your package (e.g., to fix a packaging error). + +requirements: + host: + - python {{ python_min }} + - pip + - pdm-pep517 + run: + - python >={{ python_min }} + - numpy >=1.11.0 + +test: + imports: + - karney + - karney.geodesic + source_files: + - tests/ + commands: + - pytest tests + requires: + - python {{ python_min }} + - pytest + - hypothesis + +about: + home: https://github.com/pbrod/karney + license: MIT + license_file: LICENSE + license_family: MIT + summary: 'Solves the direct and inverse geodesic problem.' + description: | + The karney library provides native Python implementations of a subset of the C++ + library, GeographicLib. It solves the direct and inverse geodesic problems + and offers vectorized functions for high performance. + doc_url: https://karney.readthedocs.io/en/latest/ + dev_url: https://github.com/pbrod/karney + +extra: + recipe-maintainers: + - pbrod diff --git a/pdm.linux.lock b/pdm.linux.lock index dabe594..d8b93f3 100644 --- a/pdm.linux.lock +++ b/pdm.linux.lock @@ -5,7 +5,7 @@ groups = ["default", "dev"] strategy = ["inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:b4f3e93ab75b93cedd04715355c60e40506952d960a492fea69f17899ac57f9a" +content_hash = "sha256:946a8ab8caa92e72b451c267d8b69cfbd76d9674f868c69230ecab78f9657915" [[metadata.targets]] requires_python = ">=3.9" @@ -549,7 +549,7 @@ files = [ [[package]] name = "hypothesis" -version = "6.135.32" +version = "6.136.2" requires_python = ">=3.9" summary = "A library for property-based testing" groups = ["dev"] @@ -559,8 +559,8 @@ dependencies = [ "sortedcontainers<3.0.0,>=2.1.0", ] files = [ - {file = "hypothesis-6.135.32-py3-none-any.whl", hash = "sha256:d0f2bf93863f19a7af2510685dde2b89efb94eaebd3ca0b86c548cd8daa33ab0"}, - {file = "hypothesis-6.135.32.tar.gz", hash = "sha256:b74019dc58065d806abea6292008a392bc9326b88d6a46c8cce51c9cd485af42"}, + {file = "hypothesis-6.136.2-py3-none-any.whl", hash = "sha256:4b6113ca65cb1d200ed1299e610bee1da49ec127f63b13b4c6ac0c36c1d8ded7"}, + {file = "hypothesis-6.136.2.tar.gz", hash = "sha256:57a04f750e79d6587ccf4cd2ff01d494bade0440bb1e245975ced8590c1c49bf"}, ] [[package]] @@ -627,28 +627,28 @@ files = [ [[package]] name = "ipykernel" -version = "6.29.5" -requires_python = ">=3.8" +version = "6.30.0" +requires_python = ">=3.9" summary = "IPython Kernel for Jupyter" groups = ["dev"] dependencies = [ - "appnope; platform_system == \"Darwin\"", + "appnope>=0.1.2; platform_system == \"Darwin\"", "comm>=0.1.1", "debugpy>=1.6.5", "ipython>=7.23.1", - "jupyter-client>=6.1.12", + "jupyter-client>=8.0.0", "jupyter-core!=5.0.*,>=4.12", "matplotlib-inline>=0.1", - "nest-asyncio", - "packaging", - "psutil", - "pyzmq>=24", - "tornado>=6.1", + "nest-asyncio>=1.4", + "packaging>=22", + "psutil>=5.7", + "pyzmq>=25", + "tornado>=6.2", "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"}, + {file = "ipykernel-6.30.0-py3-none-any.whl", hash = "sha256:fd2936e55c4a1c2ee8b1e5fa6a372b8eecc0ab1338750dee76f48fa5cca1301e"}, + {file = "ipykernel-6.30.0.tar.gz", hash = "sha256:b7b808ddb2d261aae2df3a26ff3ff810046e6de3dfbc6f7de8c98ea0a6cb632c"}, ] [[package]] @@ -759,21 +759,19 @@ files = [ [[package]] name = "jsonschema" -version = "4.24.0" +version = "4.25.0" requires_python = ">=3.9" summary = "An implementation of JSON Schema validation for Python" groups = ["dev"] 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.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d"}, - {file = "jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196"}, + {file = "jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716"}, + {file = "jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f"}, ] [[package]] @@ -792,7 +790,7 @@ files = [ [[package]] name = "jsonschema" -version = "4.24.0" +version = "4.25.0" extras = ["format-nongpl"] requires_python = ">=3.9" summary = "An implementation of JSON Schema validation for Python" @@ -802,15 +800,16 @@ dependencies = [ "idna", "isoduration", "jsonpointer>1.13", - "jsonschema==4.24.0", + "jsonschema==4.25.0", "rfc3339-validator", "rfc3986-validator>0.1.0", + "rfc3987-syntax>=1.1.0", "uri-template", "webcolors>=24.6.0", ] files = [ - {file = "jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d"}, - {file = "jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196"}, + {file = "jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716"}, + {file = "jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f"}, ] [[package]] @@ -932,7 +931,7 @@ files = [ [[package]] name = "jupyter-lsp" -version = "2.2.5" +version = "2.2.6" requires_python = ">=3.8" summary = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" groups = ["dev"] @@ -941,8 +940,8 @@ dependencies = [ "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"}, + {file = "jupyter_lsp-2.2.6-py3-none-any.whl", hash = "sha256:283783752bf0b459ee7fa88effa72104d87dd343b82d5c06cf113ef755b15b6d"}, + {file = "jupyter_lsp-2.2.6.tar.gz", hash = "sha256:0566bd9bb04fd9e6774a937ed01522b555ba78be37bebef787c8ab22de4c0361"}, ] [[package]] @@ -994,7 +993,7 @@ files = [ [[package]] name = "jupyterlab" -version = "4.4.4" +version = "4.4.5" requires_python = ">=3.9" summary = "JupyterLab computational environment" groups = ["dev"] @@ -1016,8 +1015,8 @@ dependencies = [ "traitlets", ] files = [ - {file = "jupyterlab-4.4.4-py3-none-any.whl", hash = "sha256:711611e4f59851152eb93316c3547c3ec6291f16bb455f1f4fa380d25637e0dd"}, - {file = "jupyterlab-4.4.4.tar.gz", hash = "sha256:163fee1ef702e0a057f75d2eed3ed1da8a986d59eb002cbeb6f0c2779e6cd153"}, + {file = "jupyterlab-4.4.5-py3-none-any.whl", hash = "sha256:e76244cceb2d1fb4a99341f3edc866f2a13a9e14c50368d730d75d8017be0863"}, + {file = "jupyterlab-4.4.5.tar.gz", hash = "sha256:0bd6c18e6a3c3d91388af6540afa3d0bb0b2e76287a7b88ddf20ab41b336e595"}, ] [[package]] @@ -1063,6 +1062,17 @@ files = [ {file = "jupyterlab_widgets-3.0.15.tar.gz", hash = "sha256:2920888a0c2922351a9202817957a68c07d99673504d6cd37345299e971bb08b"}, ] +[[package]] +name = "lark" +version = "1.2.2" +requires_python = ">=3.8" +summary = "a modern parsing library" +groups = ["dev"] +files = [ + {file = "lark-1.2.2-py3-none-any.whl", hash = "sha256:c2276486b02f0f1b90be155f2c8ba4a8e194d42775786db622faccd652d8e80c"}, + {file = "lark-1.2.2.tar.gz", hash = "sha256:ca807d0162cd16cef15a8feecb862d7319e7a09bdb13aef927968e45040fed80"}, +] + [[package]] name = "markdown-it-py" version = "3.0.0" @@ -1298,17 +1308,17 @@ files = [ [[package]] name = "numpy" -version = "1.26.4" +version = "2.0.2" requires_python = ">=3.9" summary = "Fundamental package for array computing in Python" groups = ["default"] files = [ - {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, - {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, - {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, - {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.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, + {file = "numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318"}, + {file = "numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951"}, + {file = "numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a"}, + {file = "numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd"}, + {file = "numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c"}, + {file = "numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78"}, ] [[package]] @@ -1719,6 +1729,20 @@ files = [ {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, ] +[[package]] +name = "rfc3987-syntax" +version = "1.1.0" +requires_python = ">=3.9" +summary = "Helper functions to syntactically validate strings according to RFC 3987." +groups = ["dev"] +dependencies = [ + "lark>=1.2.2", +] +files = [ + {file = "rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f"}, + {file = "rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d"}, +] + [[package]] name = "rich" version = "14.0.0" @@ -1758,13 +1782,13 @@ files = [ [[package]] name = "ruff" -version = "0.12.3" +version = "0.12.4" requires_python = ">=3.7" summary = "An extremely fast Python linter and code formatter, written in Rust." groups = ["dev"] files = [ - {file = "ruff-0.12.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023040a3499f6f974ae9091bcdd0385dd9e9eb4942f231c23c57708147b06311"}, - {file = "ruff-0.12.3.tar.gz", hash = "sha256:f1b5a4b6668fd7b7ea3697d8d98857390b40c1320a63a178eee6be0899ea2d77"}, + {file = "ruff-0.12.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2abc48f3d9667fdc74022380b5c745873499ff827393a636f7a59da1515e7c57"}, + {file = "ruff-0.12.4.tar.gz", hash = "sha256:13efa16df6c6eeb7d0f091abae50f58e9522f3843edb40d56ad52a5a4a4b6873"}, ] [[package]] diff --git a/pdm.windows.lock b/pdm.windows.lock index 141ccac..2629fd5 100644 --- a/pdm.windows.lock +++ b/pdm.windows.lock @@ -5,7 +5,7 @@ groups = ["default", "dev"] strategy = ["inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:b4f3e93ab75b93cedd04715355c60e40506952d960a492fea69f17899ac57f9a" +content_hash = "sha256:946a8ab8caa92e72b451c267d8b69cfbd76d9674f868c69230ecab78f9657915" [[metadata.targets]] requires_python = ">=3.9" @@ -561,7 +561,7 @@ files = [ [[package]] name = "hypothesis" -version = "6.135.32" +version = "6.136.2" requires_python = ">=3.9" summary = "A library for property-based testing" groups = ["dev"] @@ -571,8 +571,8 @@ dependencies = [ "sortedcontainers<3.0.0,>=2.1.0", ] files = [ - {file = "hypothesis-6.135.32-py3-none-any.whl", hash = "sha256:d0f2bf93863f19a7af2510685dde2b89efb94eaebd3ca0b86c548cd8daa33ab0"}, - {file = "hypothesis-6.135.32.tar.gz", hash = "sha256:b74019dc58065d806abea6292008a392bc9326b88d6a46c8cce51c9cd485af42"}, + {file = "hypothesis-6.136.2-py3-none-any.whl", hash = "sha256:4b6113ca65cb1d200ed1299e610bee1da49ec127f63b13b4c6ac0c36c1d8ded7"}, + {file = "hypothesis-6.136.2.tar.gz", hash = "sha256:57a04f750e79d6587ccf4cd2ff01d494bade0440bb1e245975ced8590c1c49bf"}, ] [[package]] @@ -639,28 +639,28 @@ files = [ [[package]] name = "ipykernel" -version = "6.29.5" -requires_python = ">=3.8" +version = "6.30.0" +requires_python = ">=3.9" summary = "IPython Kernel for Jupyter" groups = ["dev"] dependencies = [ - "appnope; platform_system == \"Darwin\"", + "appnope>=0.1.2; platform_system == \"Darwin\"", "comm>=0.1.1", "debugpy>=1.6.5", "ipython>=7.23.1", - "jupyter-client>=6.1.12", + "jupyter-client>=8.0.0", "jupyter-core!=5.0.*,>=4.12", "matplotlib-inline>=0.1", - "nest-asyncio", - "packaging", - "psutil", - "pyzmq>=24", - "tornado>=6.1", + "nest-asyncio>=1.4", + "packaging>=22", + "psutil>=5.7", + "pyzmq>=25", + "tornado>=6.2", "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"}, + {file = "ipykernel-6.30.0-py3-none-any.whl", hash = "sha256:fd2936e55c4a1c2ee8b1e5fa6a372b8eecc0ab1338750dee76f48fa5cca1301e"}, + {file = "ipykernel-6.30.0.tar.gz", hash = "sha256:b7b808ddb2d261aae2df3a26ff3ff810046e6de3dfbc6f7de8c98ea0a6cb632c"}, ] [[package]] @@ -771,21 +771,19 @@ files = [ [[package]] name = "jsonschema" -version = "4.24.0" +version = "4.25.0" requires_python = ">=3.9" summary = "An implementation of JSON Schema validation for Python" groups = ["dev"] 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.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d"}, - {file = "jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196"}, + {file = "jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716"}, + {file = "jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f"}, ] [[package]] @@ -804,7 +802,7 @@ files = [ [[package]] name = "jsonschema" -version = "4.24.0" +version = "4.25.0" extras = ["format-nongpl"] requires_python = ">=3.9" summary = "An implementation of JSON Schema validation for Python" @@ -814,15 +812,16 @@ dependencies = [ "idna", "isoduration", "jsonpointer>1.13", - "jsonschema==4.24.0", + "jsonschema==4.25.0", "rfc3339-validator", "rfc3986-validator>0.1.0", + "rfc3987-syntax>=1.1.0", "uri-template", "webcolors>=24.6.0", ] files = [ - {file = "jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d"}, - {file = "jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196"}, + {file = "jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716"}, + {file = "jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f"}, ] [[package]] @@ -944,7 +943,7 @@ files = [ [[package]] name = "jupyter-lsp" -version = "2.2.5" +version = "2.2.6" requires_python = ">=3.8" summary = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" groups = ["dev"] @@ -953,8 +952,8 @@ dependencies = [ "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"}, + {file = "jupyter_lsp-2.2.6-py3-none-any.whl", hash = "sha256:283783752bf0b459ee7fa88effa72104d87dd343b82d5c06cf113ef755b15b6d"}, + {file = "jupyter_lsp-2.2.6.tar.gz", hash = "sha256:0566bd9bb04fd9e6774a937ed01522b555ba78be37bebef787c8ab22de4c0361"}, ] [[package]] @@ -1006,7 +1005,7 @@ files = [ [[package]] name = "jupyterlab" -version = "4.4.4" +version = "4.4.5" requires_python = ">=3.9" summary = "JupyterLab computational environment" groups = ["dev"] @@ -1028,8 +1027,8 @@ dependencies = [ "traitlets", ] files = [ - {file = "jupyterlab-4.4.4-py3-none-any.whl", hash = "sha256:711611e4f59851152eb93316c3547c3ec6291f16bb455f1f4fa380d25637e0dd"}, - {file = "jupyterlab-4.4.4.tar.gz", hash = "sha256:163fee1ef702e0a057f75d2eed3ed1da8a986d59eb002cbeb6f0c2779e6cd153"}, + {file = "jupyterlab-4.4.5-py3-none-any.whl", hash = "sha256:e76244cceb2d1fb4a99341f3edc866f2a13a9e14c50368d730d75d8017be0863"}, + {file = "jupyterlab-4.4.5.tar.gz", hash = "sha256:0bd6c18e6a3c3d91388af6540afa3d0bb0b2e76287a7b88ddf20ab41b336e595"}, ] [[package]] @@ -1075,6 +1074,17 @@ files = [ {file = "jupyterlab_widgets-3.0.15.tar.gz", hash = "sha256:2920888a0c2922351a9202817957a68c07d99673504d6cd37345299e971bb08b"}, ] +[[package]] +name = "lark" +version = "1.2.2" +requires_python = ">=3.8" +summary = "a modern parsing library" +groups = ["dev"] +files = [ + {file = "lark-1.2.2-py3-none-any.whl", hash = "sha256:c2276486b02f0f1b90be155f2c8ba4a8e194d42775786db622faccd652d8e80c"}, + {file = "lark-1.2.2.tar.gz", hash = "sha256:ca807d0162cd16cef15a8feecb862d7319e7a09bdb13aef927968e45040fed80"}, +] + [[package]] name = "markdown-it-py" version = "3.0.0" @@ -1310,17 +1320,17 @@ files = [ [[package]] name = "numpy" -version = "1.26.4" +version = "2.0.2" requires_python = ">=3.9" summary = "Fundamental package for array computing in Python" groups = ["default"] files = [ - {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, - {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, - {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, - {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, - {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, - {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, + {file = "numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131"}, + {file = "numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc"}, + {file = "numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a"}, + {file = "numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73"}, + {file = "numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385"}, + {file = "numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78"}, ] [[package]] @@ -1744,6 +1754,20 @@ files = [ {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, ] +[[package]] +name = "rfc3987-syntax" +version = "1.1.0" +requires_python = ">=3.9" +summary = "Helper functions to syntactically validate strings according to RFC 3987." +groups = ["dev"] +dependencies = [ + "lark>=1.2.2", +] +files = [ + {file = "rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f"}, + {file = "rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d"}, +] + [[package]] name = "rich" version = "14.0.0" @@ -1782,13 +1806,13 @@ files = [ [[package]] name = "ruff" -version = "0.12.3" +version = "0.12.4" requires_python = ">=3.7" summary = "An extremely fast Python linter and code formatter, written in Rust." groups = ["dev"] files = [ - {file = "ruff-0.12.3-py3-none-win_amd64.whl", hash = "sha256:a946cf1e7ba3209bdef039eb97647f1c77f6f540e5845ec9c114d3af8df873e7"}, - {file = "ruff-0.12.3.tar.gz", hash = "sha256:f1b5a4b6668fd7b7ea3697d8d98857390b40c1320a63a178eee6be0899ea2d77"}, + {file = "ruff-0.12.4-py3-none-win_amd64.whl", hash = "sha256:fe0b9e9eb23736b453143d72d2ceca5db323963330d5b7859d60d101147d461a"}, + {file = "ruff-0.12.4.tar.gz", hash = "sha256:13efa16df6c6eeb7d0f091abae50f58e9522f3843edb40d56ad52a5a4a4b6873"}, ] [[package]]