From e746d12c0af1ca42ec6ac81e18d14a87b5c83763 Mon Sep 17 00:00:00 2001 From: supathdhitalGEO Date: Tue, 20 May 2025 00:17:33 -0500 Subject: [PATCH] update the minor issue on evaluation with building footpring with AOI --- dist/fimeval-0.1.47-py3-none-any.whl | Bin 0 -> 34459 bytes dist/fimeval-0.1.47.tar.gz | Bin 0 -> 35233 bytes poetry.lock | 306 +++--------------- pyproject.toml | 2 +- .../BuildingFootprint/evaluationwithBF.py | 2 +- 5 files changed, 39 insertions(+), 271 deletions(-) create mode 100644 dist/fimeval-0.1.47-py3-none-any.whl create mode 100644 dist/fimeval-0.1.47.tar.gz diff --git a/dist/fimeval-0.1.47-py3-none-any.whl b/dist/fimeval-0.1.47-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..693ecddb373a1e8fcbe436970bbebf27cb5b423b GIT binary patch literal 34459 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

YFJn?TrLDhtGq~R!d>1SR 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 literal 0 HcmV?d00001 diff --git a/dist/fimeval-0.1.47.tar.gz b/dist/fimeval-0.1.47.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..671355c20194f9dacec4ce9d7ac1f187ccf67a3d GIT binary patch literal 35233 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

ayq3|~ zC7E-V00T=4&8=y5xh$soaKUuTGBHB`AnMj~-;&;!!Oh!d3Dv72MYLcJLvr)-F!&Bh z^$|P(Qy(WVT&kmscPG0_%W*uL@YB%*v{pQ#(0-qOn5EI~E-?6>mJmHshI_0G_x&Mi z+O3n?loKjBOAvS6DWL&B3BdMeg#|QjIfP9Tlv6fYFPn1ib#Ib`B5!F1 z#J=sZR-DaIN6GR_cBGPW%(0DSNlZk_+d#q`MOl_>Z~QtCruE6;4AD;Lkf5aw-~|%l zun~1Cdkp~IM$_@Srdtql2aG-z4z?56FU%_m*>gYpSbMeA+L1{D8@~=eT~3SH%$eZ9 zf>du-FEUZJHE`CQ$umPT#m=p*trrs;&x<*e2P;>zLad7-Wt09x< zI+R_d$m_|x3O$yZ`Ipcw^Pofr;!-EVX7J+$u!x}sLi4eRePIYMXZ$zY*WtE$7k9y` zI1DjF726jHJfcnjB4XO3P}qUq(4s$)3z9+6l}~*z?Xktp7G(8lcVcO zdmi*U!Eo>CC;)iKebkO;x0|BkFJcHA&C$WGdc*L$wy2h_BUFL%8$^WJJAzbkmKnMx z)Z0hSDzFj{E2P=yO2x!cKx~Ryys%JNx;0ikv?Ldj*?{e_A=){4{wvhgAS~bw*>>!r zEYlu5wGgf2XxP5#ET;-Dv|DRo;|2)>KZ}HM1dNt2N1wt`VLTO0u41ut@Kj?4{1h)# z>WB^EvDE_sO#04x5qnDJq0d{QYj##fCq|sPrC6{YC3J~PN$+b#iaiy9w#=9dlCOo1 zlo6I8)3M$*LeFFqYG%Tgs`2$WEE~{%HBPQr$up+4qdnlkm>h93h&Th7JP+y&CtZ1` z)a()?=-PBO_KF=;&h+6$j6RD-)*;3O!zWynh$fr`cnhS&)QtB+4rsAA|@xfU5-Rl|J zedAu3c8<&?>cYK8L3d8H&zc>BVZ+@7N0%-qcJSE+4_g8$A(ky_&daqz7zm-Eq(3=6 z?y8G#&%0POw@YM+)xjCrRD)|qKB}^{DXN4V!IB!tG8Hs!=NQI`|CfX9#j+{lgq3Ee zHSF39uc(TQlyD8>it4c|N`J)*RbVTVGl?I)(hDk&a9Rgg6ARgwG;vOOuo1(6cAo*k z_=b#WDDXIlbd*|;7#rpvEuR1)e?!R)91Qm(g*wqK2WZkYDm#ao(&2yxltV3`b#%?5 zg$*=3zbJFPZkc^`g(Xp1|0}giMMwg1NsEqaBu^K9AB9bf7o{oP#McxVa99?Fh2X)I z3D?O$5(RvZ#-5JpLMIeU!D-t)i95UHJWZ>BRp(0ixUu~n2=*BMS#a&DF4^2+K9XhB zq(4I^HdZ$5X?NNaL1G%;*!8OAi`7d;M|oEhF@fBhD8pl=Ssh3NAUzZ|*ke{Klg;zj<@txih zh+rd*-V@>}P6Wk=_{@M0ypH1uz;xt;TA+>=6O=yf*GESk5KF{Sk{B3AL8sGxfzAMo z<`Pc;v_nTAW?bpQ($P&_A8j856d9!<90`$Sa}1#{WYJ)7S4}RV!v~Q3u1we}#W-ug zFnJNX9QEh3j>xVZu`fKW6KG^!8f2nUaMGaSxEfA<1!%>|hhpqDt1(UKWO?(7FqkfB z1miy%s2Ov4MwPTtCl_a|#I(bSr#3!Z9DtSh_UL?rcvja$(HdBI(d{WQi%(p-q01F& zjs^tG5Uo}VNlA;U^N0m4+6G2j@ora3X}N9C@5=@<*5p$r43D*aqA0!$XI8Yp@M%o9A zc9hGev7<323Uv;bso6M2x-Ch%0zXz5Ntz(8P|-zul2t{3Ae_+AljlXqv|;!T3f zovp1;@DCmwc2J;-`Dt=+d+U{ zX^Mj+4e#yQ!2xRSH+~wh4~FVDwWwYdTpllYoI?9VmJZa8bMZG0`^` zH0qNu207f%{K*p50K`szO~Ru0*Di-MfAMkc#RWVBFySFy;AjCM!Vey`{wsIWX{o~~ x$)b-_Umb?mQCGEt0RC$pmo7lU)8-40oz`QH_s74-zd!Nc{{p+wXrTZw0str<4jljh literal 0 HcmV?d00001 diff --git a/poetry.lock b/poetry.lock index e582a7d..e127dd3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.1.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. [[package]] name = "affine" @@ -6,7 +6,6 @@ version = "2.4.0" description = "Matrices describing affine transformation of the plane" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "affine-2.4.0-py3-none-any.whl", hash = "sha256:8a3df80e2b2378aef598a83c1392efd47967afec4242021a0b06b4c7cbc61a92"}, {file = "affine-2.4.0.tar.gz", hash = "sha256:a24d818d6a836c131976d22f8c27b8d3ca32d0af64c1d8d29deb7bafa4da1eea"}, @@ -22,7 +21,6 @@ version = "4.9.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c"}, {file = "anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028"}, @@ -36,7 +34,7 @@ typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} [package.extras] doc = ["Sphinx (>=8.2,<9.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] -test = ["anyio[trio]", "blockbuster (>=1.5.23)", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\" and python_version < \"3.14\""] +test = ["anyio[trio]", "blockbuster (>=1.5.23)", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"] trio = ["trio (>=0.26.1)"] [[package]] @@ -45,8 +43,6 @@ version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" optional = false python-versions = ">=3.6" -groups = ["main"] -markers = "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"}, @@ -58,7 +54,6 @@ version = "23.1.0" description = "Argon2 for Python" optional = false python-versions = ">=3.7" -groups = ["main"] 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"}, @@ -79,7 +74,6 @@ version = "21.2.0" description = "Low-level CFFI bindings for Argon2" optional = false python-versions = ">=3.6" -groups = ["main"] 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"}, @@ -117,7 +111,6 @@ version = "1.3.0" description = "Better dates & times for Python" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, @@ -137,7 +130,6 @@ version = "3.0.0" description = "Annotate AST trees with source code positions" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"}, {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"}, @@ -153,7 +145,6 @@ version = "2.0.5" description = "Simple LRU cache for asyncio" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "async_lru-2.0.5-py3-none-any.whl", hash = "sha256:ab95404d8d2605310d345932697371a5f40def0487c03d6d0ad9138de52c9943"}, {file = "async_lru-2.0.5.tar.gz", hash = "sha256:481d52ccdd27275f42c43a928b4a50c3bfb2d67af4e78b170e3e0bb39c66e5bb"}, @@ -168,19 +159,18 @@ version = "25.3.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3"}, {file = "attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"}, ] [package.extras] -benchmark = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] -cov = ["cloudpickle ; platform_python_implementation == \"CPython\"", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] -dev = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] +benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"] -tests = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\""] +tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] [[package]] name = "babel" @@ -188,14 +178,13 @@ version = "2.17.0" description = "Internationalization utilities" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"}, {file = "babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d"}, ] [package.extras] -dev = ["backports.zoneinfo ; python_version < \"3.9\"", "freezegun (>=1.0,<2.0)", "jinja2 (>=3.0)", "pytest (>=6.0)", "pytest-cov", "pytz", "setuptools", "tzdata ; sys_platform == \"win32\""] +dev = ["backports.zoneinfo", "freezegun (>=1.0,<2.0)", "jinja2 (>=3.0)", "pytest (>=6.0)", "pytest-cov", "pytz", "setuptools", "tzdata"] [[package]] name = "beautifulsoup4" @@ -203,7 +192,6 @@ version = "4.13.4" description = "Screen-scraping library" optional = false python-versions = ">=3.7.0" -groups = ["main"] files = [ {file = "beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b"}, {file = "beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195"}, @@ -226,7 +214,6 @@ version = "6.2.0" description = "An easy safelist-based HTML-sanitizing tool." optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e"}, {file = "bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f"}, @@ -245,7 +232,6 @@ version = "1.38.19" description = "The AWS SDK for Python" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "boto3-1.38.19-py3-none-any.whl", hash = "sha256:d57d8040d04b8fefb7439062529653701cc90d5b2734cc4f1144fedb75ba94a7"}, {file = "boto3-1.38.19.tar.gz", hash = "sha256:fdd69f23e6216a508bbc1fbda9486791c161f3ecd5933ac7090d7290f6f2d0f5"}, @@ -265,7 +251,6 @@ version = "1.38.19" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "botocore-1.38.19-py3-none-any.whl", hash = "sha256:f937a20e75889215a99280ea0fdd4e1716ffede23e4f9af7bc9c64af9bc63e61"}, {file = "botocore-1.38.19.tar.gz", hash = "sha256:796b948c05017eb33385b798990cd91ed4af0e881eb9eb1ee6e17666be02abc9"}, @@ -285,7 +270,6 @@ version = "0.12.44" description = "Interactive plotting for the Jupyter notebook, using d3.js and ipywidgets." optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "bqplot-0.12.44-py2.py3-none-any.whl", hash = "sha256:cad65bf5c4ce7ea7b03e1c674340f9274c0975941e63057831b29f7c2c37f144"}, ] @@ -303,7 +287,6 @@ version = "0.8.1" description = "Generate complex HTML+JS pages with Python" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "branca-0.8.1-py3-none-any.whl", hash = "sha256:d29c5fab31f7c21a92e34bf3f854234e29fecdcf5d2df306b616f20d816be425"}, {file = "branca-0.8.1.tar.gz", hash = "sha256:ac397c2d79bd13af0d04193b26d5ed17031d27609a7f1fab50c438b8ae712390"}, @@ -318,7 +301,6 @@ version = "5.5.2" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a"}, {file = "cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4"}, @@ -330,7 +312,6 @@ version = "2025.4.26" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3"}, {file = "certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6"}, @@ -342,7 +323,6 @@ version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, @@ -422,7 +402,6 @@ version = "3.4.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941"}, {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd"}, @@ -524,7 +503,6 @@ version = "8.2.0" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.10" -groups = ["main"] files = [ {file = "click-8.2.0-py3-none-any.whl", hash = "sha256:6b303f0b2aa85f1cb4e5303078fadcbcd4e476f114fab9b5007005711839325c"}, {file = "click-8.2.0.tar.gz", hash = "sha256:f5452aeddd9988eefa20f90f05ab66f17fce1ee2a36907fd30b05bbb5953814d"}, @@ -539,7 +517,6 @@ version = "1.1.1" description = "An extension module for click to enable registering CLI commands via setuptools entry-points." optional = false python-versions = "*" -groups = ["main"] 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"}, @@ -557,7 +534,6 @@ version = "0.7.2" description = "Click params for commmand line interfaces to GeoJSON" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4" -groups = ["main"] files = [ {file = "cligj-0.7.2-py3-none-any.whl", hash = "sha256:c1ca117dbce1fe20a5809dc96f01e1c2840f6dcc939b3ddbb1111bf330ba82df"}, {file = "cligj-0.7.2.tar.gz", hash = "sha256:a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27"}, @@ -575,8 +551,6 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -groups = ["main"] -markers = "sys_platform == \"win32\" or platform_system == \"Windows\"" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, @@ -588,7 +562,6 @@ version = "0.1.5" description = "converts and manipulates various color representation (HSL, RVB, web, X11, ...)" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "colour-0.1.5-py2.py3-none-any.whl", hash = "sha256:33f6db9d564fadc16e59921a56999b79571160ce09916303d35346dddc17978c"}, {file = "colour-0.1.5.tar.gz", hash = "sha256:af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee"}, @@ -603,7 +576,6 @@ version = "0.2.2" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, @@ -621,7 +593,6 @@ version = "1.3.2" description = "Python library for calculating contours of 2D quadrilateral grids" optional = false python-versions = ">=3.10" -groups = ["main"] files = [ {file = "contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934"}, {file = "contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989"}, @@ -698,7 +669,6 @@ version = "0.12.1" description = "Composable style cycles" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, @@ -714,7 +684,6 @@ version = "1.8.14" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "debugpy-1.8.14-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:93fee753097e85623cab1c0e6a68c76308cd9f13ffdf44127e6fab4fbf024339"}, {file = "debugpy-1.8.14-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d937d93ae4fa51cdc94d3e865f535f185d5f9748efb41d0d49e33bf3365bd79"}, @@ -750,7 +719,6 @@ version = "5.2.1" description = "Decorators for Humans" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a"}, {file = "decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360"}, @@ -762,7 +730,6 @@ version = "0.7.1" description = "XML bomb protection for Python stdlib modules" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main"] files = [ {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, @@ -774,7 +741,6 @@ version = "1.5.15" description = "Earth Engine Python API" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "earthengine_api-1.5.15-py3-none-any.whl", hash = "sha256:6309fa8dcd1da2eaeb11a596faa0ae765d8265cd1f174e76b18996f0f8127e7a"}, {file = "earthengine_api-1.5.15.tar.gz", hash = "sha256:9e736195fbcf6af87894505085700511f685c47d5ffb79906ca1de412760f5ad"}, @@ -797,7 +763,6 @@ version = "0.1.2" description = "Code Editor-style reprs for Earth Engine data in a Jupyter notebook." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "eerepr-0.1.2-py3-none-any.whl", hash = "sha256:f89731bde17de3d1e378b58a4cc9734f2c885014f56c2fe5eeab285d6eeb536c"}, {file = "eerepr-0.1.2.tar.gz", hash = "sha256:304dc23c365d6fa7cc3b07bc09cf77b565c19af86733e5deed804fdce16fb51f"}, @@ -812,8 +777,6 @@ version = "1.3.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" -groups = ["main"] -markers = "python_version == \"3.10\"" files = [ {file = "exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10"}, {file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"}, @@ -831,14 +794,13 @@ version = "2.2.0" description = "Get the currently executing AST node of a frame, and other information" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa"}, {file = "executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755"}, ] [package.extras] -tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich ; python_version >= \"3.11\""] +tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] [[package]] name = "fastjsonschema" @@ -846,7 +808,6 @@ version = "2.21.1" description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"}, {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"}, @@ -861,7 +822,6 @@ version = "1.10.1" description = "Fiona reads and writes spatial data files" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "fiona-1.10.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:6e2a94beebda24e5db8c3573fe36110d474d4a12fac0264a3e083c75e9d63829"}, {file = "fiona-1.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fc7366f99bdc18ec99441b9e50246fdf5e72923dc9cbb00267b2bf28edd142ba"}, @@ -909,7 +869,6 @@ version = "0.19.6" description = "Make beautiful maps with Leaflet.js & Python" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "folium-0.19.6-py2.py3-none-any.whl", hash = "sha256:aeab67fbc7e2cc1d2721cba5a00320f25ad885d4915c7f2654c183913a48527f"}, {file = "folium-0.19.6.tar.gz", hash = "sha256:be21b1e492b09a81b949cb4c860503e683cbe91951825faf4d4ef27ab4913201"}, @@ -931,7 +890,6 @@ version = "4.58.0" description = "Tools to manipulate font files" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "fonttools-4.58.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0bcaa65cddbc7d32c77bd0af0b41fdd6448bad0e84365ca79cf8923c27b21e46"}, {file = "fonttools-4.58.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:25590272f89e94ab5a292d518c549f3a88e6a34fa1193797b7047dfea111b048"}, @@ -978,18 +936,18 @@ files = [ ] [package.extras] -all = ["brotli (>=1.0.1) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\"", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres ; platform_python_implementation == \"PyPy\"", "pycairo", "scipy ; platform_python_implementation != \"PyPy\"", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0) ; python_version <= \"3.12\"", "xattr ; sys_platform == \"darwin\"", "zopfli (>=0.1.4)"] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] graphite = ["lz4 (>=1.7.4.2)"] -interpolatable = ["munkres ; platform_python_implementation == \"PyPy\"", "pycairo", "scipy ; platform_python_implementation != \"PyPy\""] +interpolatable = ["munkres", "pycairo", "scipy"] lxml = ["lxml (>=4.0)"] pathops = ["skia-pathops (>=0.5.0)"] plot = ["matplotlib"] repacker = ["uharfbuzz (>=0.23.0)"] symfont = ["sympy"] -type1 = ["xattr ; sys_platform == \"darwin\""] +type1 = ["xattr"] ufo = ["fs (>=2.2.0,<3)"] -unicode = ["unicodedata2 (>=15.1.0) ; python_version <= \"3.12\""] -woff = ["brotli (>=1.0.1) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\"", "zopfli (>=0.1.4)"] +unicode = ["unicodedata2 (>=15.1.0)"] +woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] [[package]] name = "fqdn" @@ -997,7 +955,6 @@ version = "1.5.1" description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" optional = false python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" -groups = ["main"] files = [ {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, @@ -1009,7 +966,6 @@ version = "1.0.0" description = "Clean single-source support for Python 3 and 2" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -groups = ["main"] files = [ {file = "future-1.0.0-py3-none-any.whl", hash = "sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216"}, {file = "future-1.0.0.tar.gz", hash = "sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05"}, @@ -1021,7 +977,6 @@ version = "0.35.3" description = "A Python package for interactive mapping using Google Earth Engine and ipyleaflet" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "geemap-0.35.3-py2.py3-none-any.whl", hash = "sha256:942aafa4778a64cc174d3c477fad49523e71b045a3df1d0597d5027d9ae18e4d"}, {file = "geemap-0.35.3.tar.gz", hash = "sha256:fb5162290bb518116fc2b24bb676b687852707af4bb03a5311e59887fe1187e4"}, @@ -1066,7 +1021,6 @@ version = "1.38.1" description = "Geocoder is a simple and consistent geocoding library." optional = false python-versions = "*" -groups = ["main"] files = [ {file = "geocoder-1.38.1-py2.py3-none-any.whl", hash = "sha256:a733e1dfbce3f4e1a526cac03aadcedb8ed1239cf55bd7f3a23c60075121a834"}, {file = "geocoder-1.38.1.tar.gz", hash = "sha256:c9925374c961577d0aee403b09e6f8ea1971d913f011f00ca70c76beaf7a77e7"}, @@ -1085,7 +1039,6 @@ version = "1.0.1" description = "Geographic pandas extensions" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "geopandas-1.0.1-py3-none-any.whl", hash = "sha256:01e147d9420cc374d26f51fc23716ac307f32b49406e4bd8462c07e82ed1d3d6"}, {file = "geopandas-1.0.1.tar.gz", hash = "sha256:b8bf70a5534588205b7a56646e2082fb1de9a03599651b3d80c99ea4c2ca08ab"}, @@ -1109,7 +1062,6 @@ version = "2.24.2" description = "Google API client core library" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "google_api_core-2.24.2-py3-none-any.whl", hash = "sha256:810a63ac95f3c441b7c0e43d344e372887f62ce9071ba972eacf32672e072de9"}, {file = "google_api_core-2.24.2.tar.gz", hash = "sha256:81718493daf06d96d6bc76a91c23874dbf2fac0adbbf542831b805ee6e974696"}, @@ -1119,15 +1071,15 @@ files = [ google-auth = ">=2.14.1,<3.0.0" googleapis-common-protos = ">=1.56.2,<2.0.0" proto-plus = [ - {version = ">=1.25.0,<2.0.0", markers = "python_version >= \"3.13\""}, {version = ">=1.22.3,<2.0.0", markers = "python_version < \"3.13\""}, + {version = ">=1.25.0,<2.0.0", markers = "python_version >= \"3.13\""}, ] protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<7.0.0" requests = ">=2.18.0,<3.0.0" [package.extras] async-rest = ["google-auth[aiohttp] (>=2.35.0,<3.0.dev0)"] -grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev) ; python_version >= \"3.11\"", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0) ; python_version >= \"3.11\""] +grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0)"] grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] @@ -1137,7 +1089,6 @@ version = "2.169.0" description = "Google API Client Library for Python" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "google_api_python_client-2.169.0-py3-none-any.whl", hash = "sha256:dae3e882dc0e6f28e60cf09c1f13fedfd881db84f824dd418aa9e44def2fe00d"}, {file = "google_api_python_client-2.169.0.tar.gz", hash = "sha256:0585bb97bd5f5bf3ed8d4bf624593e4c5a14d06c811d1952b07a1f94b4d12c51"}, @@ -1156,7 +1107,6 @@ version = "2.40.1" description = "Google Authentication Library" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "google_auth-2.40.1-py2.py3-none-any.whl", hash = "sha256:ed4cae4f5c46b41bae1d19c036e06f6c371926e97b19e816fc854eff811974ee"}, {file = "google_auth-2.40.1.tar.gz", hash = "sha256:58f0e8416a9814c1d86c9b7f6acf6816b51aba167b2c76821965271bac275540"}, @@ -1170,11 +1120,11 @@ rsa = ">=3.1.4,<5" [package.extras] aiohttp = ["aiohttp (>=3.6.2,<4.0.0)", "requests (>=2.20.0,<3.0.0)"] enterprise-cert = ["cryptography", "pyopenssl"] -pyjwt = ["cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "pyjwt (>=2.0)"] -pyopenssl = ["cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +pyjwt = ["cryptography (<39.0.0)", "cryptography (>=38.0.3)", "pyjwt (>=2.0)"] +pyopenssl = ["cryptography (<39.0.0)", "cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] requests = ["requests (>=2.20.0,<3.0.0)"] -testing = ["aiohttp (<3.10.0)", "aiohttp (>=3.6.2,<4.0.0)", "aioresponses", "cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "flask", "freezegun", "grpcio", "mock", "oauth2client", "packaging", "pyjwt (>=2.0)", "pyopenssl (<24.3.0)", "pyopenssl (>=20.0.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-localserver", "pyu2f (>=0.1.5)", "requests (>=2.20.0,<3.0.0)", "responses", "urllib3"] +testing = ["aiohttp (<3.10.0)", "aiohttp (>=3.6.2,<4.0.0)", "aioresponses", "cryptography (<39.0.0)", "cryptography (>=38.0.3)", "flask", "freezegun", "grpcio", "mock", "oauth2client", "packaging", "pyjwt (>=2.0)", "pyopenssl (<24.3.0)", "pyopenssl (>=20.0.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-localserver", "pyu2f (>=0.1.5)", "requests (>=2.20.0,<3.0.0)", "responses", "urllib3"] urllib3 = ["packaging", "urllib3"] [[package]] @@ -1183,7 +1133,6 @@ version = "0.2.0" description = "Google Authentication Library: httplib2 transport" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05"}, {file = "google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"}, @@ -1199,7 +1148,6 @@ version = "2.4.3" description = "Google Cloud API client core library" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "google_cloud_core-2.4.3-py2.py3-none-any.whl", hash = "sha256:5130f9f4c14b4fafdff75c79448f9495cfade0d8775facf1b09c3bf67e027f6e"}, {file = "google_cloud_core-2.4.3.tar.gz", hash = "sha256:1fab62d7102844b278fe6dead3af32408b1df3eb06f5c7e8634cbd40edc4da53"}, @@ -1218,7 +1166,6 @@ version = "3.1.0" description = "Google Cloud Storage API client library" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "google_cloud_storage-3.1.0-py2.py3-none-any.whl", hash = "sha256:eaf36966b68660a9633f03b067e4a10ce09f1377cae3ff9f2c699f69a81c66c6"}, {file = "google_cloud_storage-3.1.0.tar.gz", hash = "sha256:944273179897c7c8a07ee15f2e6466a02da0c7c4b9ecceac2a26017cb2972049"}, @@ -1242,7 +1189,6 @@ version = "1.7.1" description = "A python wrapper of the C library 'Google CRC32C'" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "google_crc32c-1.7.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:b07d48faf8292b4db7c3d64ab86f950c2e94e93a11fd47271c28ba458e4a0d76"}, {file = "google_crc32c-1.7.1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:7cc81b3a2fbd932a4313eb53cc7d9dde424088ca3a0337160f35d91826880c1d"}, @@ -1289,7 +1235,6 @@ version = "2.7.2" description = "Utilities for Google Media Downloads and Resumable Uploads" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "google_resumable_media-2.7.2-py2.py3-none-any.whl", hash = "sha256:3ce7551e9fe6d99e9a126101d2536612bb73486721951e9562fee0f90c6ababa"}, {file = "google_resumable_media-2.7.2.tar.gz", hash = "sha256:5280aed4629f2b60b847b0d42f9857fd4935c11af266744df33d8074cae92fe0"}, @@ -1308,7 +1253,6 @@ version = "1.70.0" description = "Common protobufs used in Google APIs" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8"}, {file = "googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257"}, @@ -1326,7 +1270,6 @@ version = "0.16.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86"}, {file = "h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1"}, @@ -1338,7 +1281,6 @@ version = "1.0.9" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55"}, {file = "httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8"}, @@ -1360,7 +1302,6 @@ version = "0.22.0" description = "A comprehensive HTTP client library." optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -groups = ["main"] files = [ {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, @@ -1375,7 +1316,6 @@ version = "0.28.1" description = "The next generation HTTP client." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"}, {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"}, @@ -1388,7 +1328,7 @@ httpcore = "==1.*" idna = "*" [package.extras] -brotli = ["brotli ; platform_python_implementation == \"CPython\"", "brotlicffi ; platform_python_implementation != \"CPython\""] +brotli = ["brotli", "brotlicffi"] cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] socks = ["socksio (==1.*)"] @@ -1400,7 +1340,6 @@ version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, @@ -1415,7 +1354,6 @@ version = "2.1.0" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760"}, {file = "iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7"}, @@ -1427,7 +1365,6 @@ version = "2.0.2" description = "A custom widget for returning mouse and keyboard events to Python" optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "ipyevents-2.0.2-py3-none-any.whl", hash = "sha256:60c2a9e992bdc41e8577aa27e57b124efafa48a59a3bff886029fe5700d546b3"}, {file = "ipyevents-2.0.2.tar.gz", hash = "sha256:26e878b0c5854bc8b6bd6a2bd2c89b314ebe86fda642f4d2434051545bab258f"}, @@ -1446,7 +1383,6 @@ version = "0.6.0" description = "Python file chooser widget for use in Jupyter/IPython in conjunction with ipywidgets" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "ipyfilechooser-0.6.0-py3-none-any.whl", hash = "sha256:4555c24b30b819c91dc0ae5e6f7e4cf8f90e5cca531a9209a1fe4deee288d5c5"}, {file = "ipyfilechooser-0.6.0.tar.gz", hash = "sha256:41df9e4395a924f8e1b78e2804dbe5066dc3fdc233fb07fecfcdc2a0c9a7d8d3"}, @@ -1461,7 +1397,6 @@ version = "6.29.5" description = "IPython Kernel for Jupyter" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, @@ -1495,7 +1430,6 @@ version = "0.19.2" description = "A Jupyter widget for dynamic Leaflet maps" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "ipyleaflet-0.19.2-py3-none-any.whl", hash = "sha256:7cc9157848baca2e1793b96e79f8bdb1aa7340521d2b7d8a62aa8bc30eab5278"}, {file = "ipyleaflet-0.19.2.tar.gz", hash = "sha256:b3b83fe3460e742964c2a5924ea7934365a3749bb75310ce388d45fd751372d2"}, @@ -1514,8 +1448,6 @@ version = "8.36.0" description = "IPython: Productive Interactive Computing" optional = false python-versions = ">=3.10" -groups = ["main"] -markers = "python_version == \"3.10\"" files = [ {file = "ipython-8.36.0-py3-none-any.whl", hash = "sha256:12b913914d010dcffa2711505ec8be4bf0180742d97f1e5175e51f22086428c1"}, {file = "ipython-8.36.0.tar.gz", hash = "sha256:24658e9fe5c5c819455043235ba59cfffded4a35936eefceceab6b192f7092ff"}, @@ -1537,7 +1469,7 @@ typing_extensions = {version = ">=4.6", markers = "python_version < \"3.12\""} [package.extras] all = ["ipython[black,doc,kernel,matplotlib,nbconvert,nbformat,notebook,parallel,qtconsole]", "ipython[test,test-extra]"] black = ["black"] -doc = ["docrepr", "exceptiongroup", "intersphinx_registry", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "tomli ; python_version < \"3.11\"", "typing_extensions"] +doc = ["docrepr", "exceptiongroup", "intersphinx_registry", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "tomli", "typing_extensions"] kernel = ["ipykernel"] matplotlib = ["matplotlib"] nbconvert = ["nbconvert"] @@ -1548,63 +1480,12 @@ qtconsole = ["qtconsole"] test = ["packaging", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath"] test-extra = ["curio", "ipython[test]", "jupyter_ai", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] -[[package]] -name = "ipython" -version = "9.2.0" -description = "IPython: Productive Interactive Computing" -optional = false -python-versions = ">=3.11" -groups = ["main"] -markers = "python_version >= \"3.11\"" -files = [ - {file = "ipython-9.2.0-py3-none-any.whl", hash = "sha256:fef5e33c4a1ae0759e0bba5917c9db4eb8c53fee917b6a526bd973e1ca5159f6"}, - {file = "ipython-9.2.0.tar.gz", hash = "sha256:62a9373dbc12f28f9feaf4700d052195bf89806279fc8ca11f3f54017d04751b"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -decorator = "*" -ipython-pygments-lexers = "*" -jedi = ">=0.16" -matplotlib-inline = "*" -pexpect = {version = ">4.3", markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\""} -prompt_toolkit = ">=3.0.41,<3.1.0" -pygments = ">=2.4.0" -stack_data = "*" -traitlets = ">=5.13.0" -typing_extensions = {version = ">=4.6", markers = "python_version < \"3.12\""} - -[package.extras] -all = ["ipython[doc,matplotlib,test,test-extra]"] -black = ["black"] -doc = ["docrepr", "exceptiongroup", "intersphinx_registry", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinx_toml (==0.0.4)", "typing_extensions"] -matplotlib = ["matplotlib"] -test = ["packaging", "pytest", "pytest-asyncio (<0.22)", "testpath"] -test-extra = ["curio", "ipykernel", "ipython[test]", "jupyter_ai", "matplotlib (!=3.2.0)", "nbclient", "nbformat", "numpy (>=1.23)", "pandas", "trio"] - -[[package]] -name = "ipython-pygments-lexers" -version = "1.1.1" -description = "Defines a variety of Pygments lexers for highlighting IPython code." -optional = false -python-versions = ">=3.8" -groups = ["main"] -markers = "python_version >= \"3.11\"" -files = [ - {file = "ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c"}, - {file = "ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81"}, -] - -[package.dependencies] -pygments = "*" - [[package]] name = "ipytree" version = "0.2.2" description = "A Tree Widget using jsTree" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "ipytree-0.2.2-py2.py3-none-any.whl", hash = "sha256:744dc1a02c3ec26df8a5ecd87d085a67dc8232a1def6048834403ddcf3b64143"}, {file = "ipytree-0.2.2.tar.gz", hash = "sha256:d53d739bbaaa45415733cd06e0dc420a2af3d173438617db472a517bc7a61e56"}, @@ -1619,7 +1500,6 @@ version = "8.1.7" description = "Jupyter interactive widgets" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "ipywidgets-8.1.7-py3-none-any.whl", hash = "sha256:764f2602d25471c213919b8a1997df04bef869251db4ca8efba1b76b1bd9f7bb"}, {file = "ipywidgets-8.1.7.tar.gz", hash = "sha256:15f1ac050b9ccbefd45dccfbb2ef6bed0029d8278682d569d71b8dd96bee0376"}, @@ -1641,7 +1521,6 @@ version = "20.11.0" description = "Operations with ISO 8601 durations" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, @@ -1656,7 +1535,6 @@ version = "0.19.2" description = "An autocompletion tool for Python that can be used for text editors." optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"}, {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"}, @@ -1676,7 +1554,6 @@ version = "3.1.6" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, @@ -1694,7 +1571,6 @@ version = "1.0.1" description = "JSON Matching Expressions" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, @@ -1706,14 +1582,13 @@ version = "0.12.0" description = "A Python implementation of the JSON5 data format." optional = false python-versions = ">=3.8.0" -groups = ["main"] files = [ {file = "json5-0.12.0-py3-none-any.whl", hash = "sha256:6d37aa6c08b0609f16e1ec5ff94697e2cbbfbad5ac112afa05794da9ab7810db"}, {file = "json5-0.12.0.tar.gz", hash = "sha256:0b4b6ff56801a1c7dc817b0241bca4ce474a0e6a163bfef3fc594d3fd263ff3a"}, ] [package.extras] -dev = ["build (==1.2.2.post1)", "coverage (==7.5.4) ; python_version < \"3.9\"", "coverage (==7.8.0) ; python_version >= \"3.9\"", "mypy (==1.14.1) ; python_version < \"3.9\"", "mypy (==1.15.0) ; python_version >= \"3.9\"", "pip (==25.0.1)", "pylint (==3.2.7) ; python_version < \"3.9\"", "pylint (==3.3.6) ; python_version >= \"3.9\"", "ruff (==0.11.2)", "twine (==6.1.0)", "uv (==0.6.11)"] +dev = ["build (==1.2.2.post1)", "coverage (==7.5.4)", "coverage (==7.8.0)", "mypy (==1.14.1)", "mypy (==1.15.0)", "pip (==25.0.1)", "pylint (==3.2.7)", "pylint (==3.3.6)", "ruff (==0.11.2)", "twine (==6.1.0)", "uv (==0.6.11)"] [[package]] name = "jsonpointer" @@ -1721,7 +1596,6 @@ version = "3.0.0" description = "Identify specific nodes in a JSON document (RFC 6901)" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, @@ -1733,7 +1607,6 @@ version = "4.23.0" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, @@ -1763,7 +1636,6 @@ version = "2025.4.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af"}, {file = "jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608"}, @@ -1778,7 +1650,6 @@ version = "8.6.3" description = "Jupyter protocol implementation and client libraries" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"}, {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"}, @@ -1793,7 +1664,7 @@ traitlets = ">=5.3" [package.extras] docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko ; sys_platform == \"win32\"", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] +test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] [[package]] name = "jupyter-core" @@ -1801,7 +1672,6 @@ version = "5.7.2" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = false python-versions = ">=3.8" -groups = ["main"] 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"}, @@ -1822,7 +1692,6 @@ version = "0.12.0" description = "Jupyter Event System library" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb"}, {file = "jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b"}, @@ -1849,7 +1718,6 @@ version = "0.19.2" description = "ipyleaflet extensions for JupyterLab and Jupyter Notebook" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "jupyter_leaflet-0.19.2-py3-none-any.whl", hash = "sha256:0d57e15e80c08a4360f0cde0b4c490beddc5d422bb0e9bc1c0b4479d3fb725a6"}, {file = "jupyter_leaflet-0.19.2.tar.gz", hash = "sha256:b09b5ba48b1488cb61da37a6f558347269eb53ff6d64dc1a73e005ffc4420063"}, @@ -1861,7 +1729,6 @@ version = "2.2.5" description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" optional = false python-versions = ">=3.8" -groups = ["main"] 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"}, @@ -1876,7 +1743,6 @@ version = "2.16.0" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "jupyter_server-2.16.0-py3-none-any.whl", hash = "sha256:3d8db5be3bc64403b1c65b400a1d7f4647a5ce743f3b20dbdefe8ddb7b55af9e"}, {file = "jupyter_server-2.16.0.tar.gz", hash = "sha256:65d4b44fdf2dcbbdfe0aa1ace4a842d4aaf746a2b7b168134d5aaed35621b7f6"}, @@ -1913,7 +1779,6 @@ version = "0.5.3" description = "A Jupyter Server Extension Providing Terminals." optional = false python-versions = ">=3.8" -groups = ["main"] 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"}, @@ -1933,7 +1798,6 @@ version = "4.4.2" description = "JupyterLab computational environment" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "jupyterlab-4.4.2-py3-none-any.whl", hash = "sha256:857111a50bed68542bf55dca784522fe728f9f88b4fe69e8c585db5c50900419"}, {file = "jupyterlab-4.4.2.tar.gz", hash = "sha256:afa9caf28c0cb966488be18e5e8daba9f018a1c4273a406b7d5006344cbc6d16"}, @@ -1968,7 +1832,6 @@ version = "0.3.0" description = "Pygments theme using JupyterLab CSS variables" optional = false python-versions = ">=3.8" -groups = ["main"] 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"}, @@ -1980,7 +1843,6 @@ version = "2.27.3" description = "A set of server components for JupyterLab and JupyterLab like applications." optional = false python-versions = ">=3.8" -groups = ["main"] 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"}, @@ -2006,7 +1868,6 @@ version = "3.0.15" description = "Jupyter interactive widgets for JupyterLab" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "jupyterlab_widgets-3.0.15-py3-none-any.whl", hash = "sha256:d59023d7d7ef71400d51e6fee9a88867f6e65e10a4201605d2d7f3e8f012a31c"}, {file = "jupyterlab_widgets-3.0.15.tar.gz", hash = "sha256:2920888a0c2922351a9202817957a68c07d99673504d6cd37345299e971bb08b"}, @@ -2018,7 +1879,6 @@ version = "0.2.1" description = "Static image export for web-based visualization libraries with zero dependencies" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "kaleido-0.2.1-py2.py3-none-macosx_10_11_x86_64.whl", hash = "sha256:ca6f73e7ff00aaebf2843f73f1d3bacde1930ef5041093fe76b83a15785049a7"}, {file = "kaleido-0.2.1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:bb9a5d1f710357d5d432ee240ef6658a6d124c3e610935817b4b42da9c787c05"}, @@ -2034,7 +1894,6 @@ version = "1.4.8" description = "A fast implementation of the Cassowary constraint solver" optional = false python-versions = ">=3.10" -groups = ["main"] files = [ {file = "kiwisolver-1.4.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88c6f252f6816a73b1f8c904f7bbe02fd67c09a69f7cb8a0eecdbf5ce78e63db"}, {file = "kiwisolver-1.4.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72941acb7b67138f35b879bbe85be0f6c6a70cab78fe3ef6db9c024d9223e5b"}, @@ -2124,7 +1983,6 @@ version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, @@ -2195,7 +2053,6 @@ version = "3.10.3" description = "Python plotting package" optional = false python-versions = ">=3.10" -groups = ["main"] files = [ {file = "matplotlib-3.10.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:213fadd6348d106ca7db99e113f1bea1e65e383c3ba76e8556ba4a3054b65ae7"}, {file = "matplotlib-3.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3bec61cb8221f0ca6313889308326e7bb303d0d302c5cc9e523b2f2e6c73deb"}, @@ -2253,7 +2110,6 @@ version = "0.1.7" description = "Inline Matplotlib backend for Jupyter" optional = false python-versions = ">=3.8" -groups = ["main"] 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"}, @@ -2268,7 +2124,6 @@ version = "3.1.3" description = "A sane and fast Markdown parser with useful plugins and renderers" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "mistune-3.1.3-py3-none-any.whl", hash = "sha256:1a32314113cff28aa6432e99e522677c8587fd83e3d51c29b82a52409c842bd9"}, {file = "mistune-3.1.3.tar.gz", hash = "sha256:a7035c21782b2becb6be62f8f25d3df81ccb4d6fa477a6525b15af06539f02a0"}, @@ -2283,7 +2138,6 @@ version = "0.1.27" description = "A tool to extract the microsoft building footprints with user defined boundary." optional = false python-versions = "<4.0,>=3.10" -groups = ["main"] files = [ {file = "msfootprint-0.1.27-py3-none-any.whl", hash = "sha256:3dda4b9f19fa434b4048df5473aec74ec91e364dd58cca2ac820e2c5a26d3f5f"}, {file = "msfootprint-0.1.27.tar.gz", hash = "sha256:d8a4a2e98b5d146959f54a56cc0ee101a6ec300a72d55d0a22724c0d1484c87e"}, @@ -2303,7 +2157,6 @@ version = "0.10.2" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." optional = false python-versions = ">=3.9.0" -groups = ["main"] files = [ {file = "nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d"}, {file = "nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193"}, @@ -2326,7 +2179,6 @@ version = "7.16.6" description = "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 ...`)." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b"}, {file = "nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582"}, @@ -2363,7 +2215,6 @@ version = "5.10.4" description = "The Jupyter Notebook format" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, @@ -2385,7 +2236,6 @@ version = "1.6.0" description = "Patch asyncio to allow nested event loops" optional = false python-versions = ">=3.5" -groups = ["main"] 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"}, @@ -2397,7 +2247,6 @@ version = "7.4.2" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "notebook-7.4.2-py3-none-any.whl", hash = "sha256:9ccef602721aaa5530852e3064710b8ae5415c4e2ce26f8896d0433222755259"}, {file = "notebook-7.4.2.tar.gz", hash = "sha256:e739defd28c3f615a6bfb0a2564bd75018a9cc6613aa00bbd9c15e68eed2de1b"}, @@ -2413,7 +2262,7 @@ tornado = ">=6.2.0" [package.extras] dev = ["hatch", "pre-commit"] docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["importlib-resources (>=5.0) ; python_version < \"3.10\"", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] +test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] [[package]] name = "notebook-shim" @@ -2421,7 +2270,6 @@ version = "0.2.4" description = "A shim layer for notebook traits and config" optional = false python-versions = ">=3.7" -groups = ["main"] 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"}, @@ -2439,7 +2287,6 @@ version = "1.26.4" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.9" -groups = ["main"] 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"}, @@ -2485,7 +2332,6 @@ version = "7.7.0" description = "A decorator to automatically detect mismatch when overriding a method." optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, @@ -2497,7 +2343,6 @@ version = "25.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, @@ -2509,7 +2354,6 @@ version = "2.2.3" description = "Powerful data structures for data analysis, time series, and statistics" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, @@ -2557,9 +2401,9 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, {version = ">=1.22.4", markers = "python_version < \"3.11\""}, {version = ">=1.23.2", markers = "python_version == \"3.11\""}, + {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -2596,7 +2440,6 @@ version = "1.5.1" description = "Utilities for writing pandoc filters in python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -groups = ["main"] files = [ {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, @@ -2608,7 +2451,6 @@ version = "0.8.4" description = "A Python Parser" optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, @@ -2624,7 +2466,6 @@ version = "1.0.1" description = "Object-oriented filesystem paths" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "pathlib-1.0.1-py3-none-any.whl", hash = "sha256:f35f95ab8b0f59e6d354090350b44a80a80635d22efdedfa84c7ad1cf0a74147"}, {file = "pathlib-1.0.1.tar.gz", hash = "sha256:6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f"}, @@ -2636,8 +2477,6 @@ version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." optional = false python-versions = "*" -groups = ["main"] -markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\"" files = [ {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, @@ -2652,7 +2491,6 @@ version = "11.2.1" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "pillow-11.2.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:d57a75d53922fc20c165016a20d9c44f73305e67c351bbc60d1adaf662e74047"}, {file = "pillow-11.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:127bf6ac4a5b58b3d32fc8289656f77f80567d65660bc46f72c0d77e6600cc95"}, @@ -2743,7 +2581,7 @@ fpx = ["olefile"] mic = ["olefile"] test-arrow = ["pyarrow"] tests = ["check-manifest", "coverage (>=7.4.2)", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout", "trove-classifiers (>=2024.10.12)"] -typing = ["typing-extensions ; python_version < \"3.10\""] +typing = ["typing-extensions"] xmp = ["defusedxml"] [[package]] @@ -2752,7 +2590,6 @@ version = "4.3.8" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4"}, {file = "platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc"}, @@ -2769,7 +2606,6 @@ version = "5.24.1" description = "An open-source, interactive data visualization library for Python" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "plotly-5.24.1-py3-none-any.whl", hash = "sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089"}, {file = "plotly-5.24.1.tar.gz", hash = "sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae"}, @@ -2785,7 +2621,6 @@ version = "1.6.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, @@ -2801,7 +2636,6 @@ version = "0.22.0" description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "prometheus_client-0.22.0-py3-none-any.whl", hash = "sha256:c8951bbe64e62b96cd8e8f5d917279d1b9b91ab766793f33d4dce6c228558713"}, {file = "prometheus_client-0.22.0.tar.gz", hash = "sha256:18da1d2241ac2d10c8d2110f13eedcd5c7c0c8af18c926e8731f04fc10cd575c"}, @@ -2816,7 +2650,6 @@ version = "3.0.51" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07"}, {file = "prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed"}, @@ -2831,7 +2664,6 @@ version = "1.26.1" description = "Beautiful, Pythonic protocol buffers" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "proto_plus-1.26.1-py3-none-any.whl", hash = "sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66"}, {file = "proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012"}, @@ -2849,7 +2681,6 @@ version = "6.31.0" description = "" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "protobuf-6.31.0-cp310-abi3-win32.whl", hash = "sha256:10bd62802dfa0588649740a59354090eaf54b8322f772fbdcca19bc78d27f0d6"}, {file = "protobuf-6.31.0-cp310-abi3-win_amd64.whl", hash = "sha256:3e987c99fd634be8347246a02123250f394ba20573c953de133dc8b2c107dd71"}, @@ -2868,7 +2699,6 @@ version = "7.0.0" description = "Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7." optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25"}, {file = "psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da"}, @@ -2892,8 +2722,6 @@ version = "0.7.0" description = "Run a subprocess in a pseudo terminal" optional = false python-versions = "*" -groups = ["main"] -markers = "os_name != \"nt\" or sys_platform != \"win32\" and sys_platform != \"emscripten\"" files = [ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, @@ -2905,7 +2733,6 @@ version = "0.2.3" description = "Safely evaluate AST nodes without side effects" optional = false python-versions = "*" -groups = ["main"] 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"}, @@ -2920,7 +2747,6 @@ version = "0.10.9.7" description = "Enables Python programs to dynamically access arbitrary Java objects" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "py4j-0.10.9.7-py2.py3-none-any.whl", hash = "sha256:85defdfd2b2376eb3abf5ca6474b51ab7e0de341c75a02f46dc9b5976f5a5c1b"}, {file = "py4j-0.10.9.7.tar.gz", hash = "sha256:0b6e5315bb3ada5cf62ac651d107bb2ebc02def3dee9d9548e3baac644ea8dbb"}, @@ -2932,7 +2758,6 @@ version = "0.6.1" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629"}, {file = "pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034"}, @@ -2944,7 +2769,6 @@ version = "0.4.2" description = "A collection of ASN.1-based protocols modules" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a"}, {file = "pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6"}, @@ -2959,7 +2783,6 @@ version = "2.22" description = "C parser in Python" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, @@ -2971,7 +2794,6 @@ version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, @@ -2986,7 +2808,6 @@ version = "0.11.0" description = "Vectorized spatial vector file format I/O using GDAL/OGR" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "pyogrio-0.11.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:47e7aa1e2f345a08009a38c14db16ccdadb31313919efe0903228265df3e1962"}, {file = "pyogrio-0.11.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:ad9734da7c95cb272f311c1a8ea61181f3ae0f539d5da5af5c88acee0fd6b707"}, @@ -3038,7 +2859,6 @@ version = "3.2.3" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf"}, {file = "pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be"}, @@ -3053,7 +2873,6 @@ version = "1.9.0" description = "A cross-platform clipboard module for Python. (Only handles plain text for now.)" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "pyperclip-1.9.0.tar.gz", hash = "sha256:b7de0142ddc81bfc5c7507eea19da920b92252b548b96186caf94a5e2527d310"}, ] @@ -3064,7 +2883,6 @@ version = "3.7.1" description = "Python interface to PROJ (cartographic projections and coordinate transformations library)" optional = false python-versions = ">=3.10" -groups = ["main"] files = [ {file = "pyproj-3.7.1-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:bf09dbeb333c34e9c546364e7df1ff40474f9fddf9e70657ecb0e4f670ff0b0e"}, {file = "pyproj-3.7.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:6575b2e53cc9e3e461ad6f0692a5564b96e7782c28631c7771c668770915e169"}, @@ -3110,7 +2928,6 @@ version = "2.3.1" description = "Pure Python read/write support for ESRI Shapefile format" optional = false python-versions = ">=2.7" -groups = ["main"] files = [ {file = "pyshp-2.3.1-py2.py3-none-any.whl", hash = "sha256:67024c0ccdc352ba5db777c4e968483782dfa78f8e200672a90d2d30fd8b7b49"}, {file = "pyshp-2.3.1.tar.gz", hash = "sha256:4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1"}, @@ -3122,7 +2939,6 @@ version = "3.5.5" description = "Apache Spark Python API" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "pyspark-3.5.5.tar.gz", hash = "sha256:6effc9ce98edf231f4d683fd14f7270629bf8458c628d6a2620ded4bb34f3cb9"}, ] @@ -3143,7 +2959,6 @@ version = "8.3.5" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820"}, {file = "pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845"}, @@ -3166,7 +2981,6 @@ version = "7.3.2" description = "Advanced Python dictionaries with dot notation access" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "python_box-7.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d136163294fd61a1554db7dd203f2e3035064798d30c17d67d948f0de5c572de"}, {file = "python_box-7.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d72e96547d8e2c2c333909826e9fae338d9a7e4cde07d5c6058cdd468432c0"}, @@ -3193,7 +3007,7 @@ msgpack = ["msgpack"] pyyaml = ["PyYAML"] ruamel-yaml = ["ruamel.yaml (>=0.17)"] toml = ["toml"] -tomli = ["tomli ; python_version < \"3.11\"", "tomli-w"] +tomli = ["tomli", "tomli-w"] yaml = ["ruamel.yaml (>=0.17)"] [[package]] @@ -3202,7 +3016,6 @@ version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main"] 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"}, @@ -3217,14 +3030,13 @@ version = "3.3.0" description = "JSON Log Formatter for the Python Logging Package" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "python_json_logger-3.3.0-py3-none-any.whl", hash = "sha256:dd980fae8cffb24c13caf6e158d3d61c0d6d22342f932cb6e9deedab3d35eec7"}, {file = "python_json_logger-3.3.0.tar.gz", hash = "sha256:12b7e74b17775e7d565129296105bbe3910842d9d0eb083fc83a6a617aa8df84"}, ] [package.extras] -dev = ["backports.zoneinfo ; python_version < \"3.9\"", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec ; implementation_name != \"pypy\"", "mypy", "orjson ; implementation_name != \"pypy\"", "pylint", "pytest", "tzdata", "validate-pyproject[all]"] +dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_lists", "mike", "mkdocs", "mkdocs-awesome-pages-plugin", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-material (>=8.5)", "mkdocstrings[python]", "msgspec", "mypy", "orjson", "pylint", "pytest", "tzdata", "validate-pyproject[all]"] [[package]] name = "pytz" @@ -3232,7 +3044,6 @@ version = "2025.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00"}, {file = "pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3"}, @@ -3244,8 +3055,6 @@ version = "310" description = "Python for Window Extensions" optional = false python-versions = "*" -groups = ["main"] -markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"" files = [ {file = "pywin32-310-cp310-cp310-win32.whl", hash = "sha256:6dd97011efc8bf51d6793a82292419eba2c71cf8e7250cfac03bba284454abc1"}, {file = "pywin32-310-cp310-cp310-win_amd64.whl", hash = "sha256:c3e78706e4229b915a0821941a84e7ef420bf2b77e08c9dae3c76fd03fd2ae3d"}, @@ -3271,8 +3080,6 @@ version = "2.0.15" description = "Pseudo terminal support for Windows from Python." optional = false python-versions = ">=3.9" -groups = ["main"] -markers = "os_name == \"nt\"" files = [ {file = "pywinpty-2.0.15-cp310-cp310-win_amd64.whl", hash = "sha256:8e7f5de756a615a38b96cd86fa3cd65f901ce54ce147a3179c45907fa11b4c4e"}, {file = "pywinpty-2.0.15-cp311-cp311-win_amd64.whl", hash = "sha256:9a6bcec2df2707aaa9d08b86071970ee32c5026e10bcc3cc5f6f391d85baf7ca"}, @@ -3289,7 +3096,6 @@ version = "6.0.2" description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" -groups = ["main"] 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"}, @@ -3352,7 +3158,6 @@ version = "26.4.0" description = "Python bindings for 0MQ" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "pyzmq-26.4.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:0329bdf83e170ac133f44a233fc651f6ed66ef8e66693b5af7d54f45d1ef5918"}, {file = "pyzmq-26.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:398a825d2dea96227cf6460ce0a174cf7657d6f6827807d4d1ae9d0f9ae64315"}, @@ -3458,7 +3263,6 @@ version = "1.4.3" description = "Fast and direct raster I/O for use with Numpy and SciPy" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "rasterio-1.4.3-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:80f994b92e5dda78f13291710bd5c43efcfd164f69a8a2c20489115df9d178c8"}, {file = "rasterio-1.4.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:1a6e6ca9ec361599b48c9918ce25adb1a9203b8c8ca9b34ad78dccb3aef7945a"}, @@ -3507,7 +3311,6 @@ version = "0.1.6" description = "Makes it easy to respect rate limits." optional = false python-versions = "*" -groups = ["main"] files = [ {file = "ratelim-0.1.6-py2.py3-none-any.whl", hash = "sha256:e1a7dd39e6b552b7cc7f52169cd66cdb826a1a30198e355d7016012987c9ad08"}, {file = "ratelim-0.1.6.tar.gz", hash = "sha256:826d32177e11f9a12831901c9fda6679fd5bbea3605910820167088f5acbb11d"}, @@ -3522,7 +3325,6 @@ version = "0.36.2" description = "JSON Referencing + Python" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, @@ -3539,7 +3341,6 @@ version = "2.32.3" description = "Python HTTP for Humans." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, @@ -3561,7 +3362,6 @@ version = "0.1.4" description = "A pure python RFC3339 validator" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main"] 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"}, @@ -3576,7 +3376,6 @@ version = "0.1.1" description = "Pure python rfc3986 validator" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -groups = ["main"] 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"}, @@ -3588,7 +3387,6 @@ version = "0.25.0" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "rpds_py-0.25.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c146a24a8f0dc4a7846fb4640b88b3a68986585b8ce8397af15e66b7c5817439"}, {file = "rpds_py-0.25.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:77814c7a4e1dc43fba73aeb4c1ef0fe37d901f3aa869a4823de5ea843a283fd0"}, @@ -3712,7 +3510,6 @@ version = "4.9.1" description = "Pure-Python RSA implementation" optional = false python-versions = "<4,>=3.6" -groups = ["main"] files = [ {file = "rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762"}, {file = "rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75"}, @@ -3727,7 +3524,6 @@ version = "0.12.0" description = "An Amazon S3 Transfer Manager" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "s3transfer-0.12.0-py3-none-any.whl", hash = "sha256:35b314d7d82865756edab59f7baebc6b477189e6ab4c53050e28c1de4d9cce18"}, {file = "s3transfer-0.12.0.tar.gz", hash = "sha256:8ac58bc1989a3fdb7c7f3ee0918a66b160d038a147c7b5db1500930a607e9a1c"}, @@ -3745,7 +3541,6 @@ version = "0.10.1" description = "A Great Dane turned Python environment detective" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "scooby-0.10.1-py3-none-any.whl", hash = "sha256:c099a0b4b013f949436bdd4e2a6e9b4f8aba8211e2a65dc1d2d3b9317ef8d4c1"}, {file = "scooby-0.10.1.tar.gz", hash = "sha256:2ea147670cbf7cad42600c9990f2289f7b3c02c0769b0cc02a73e59d11c8f885"}, @@ -3760,16 +3555,15 @@ version = "1.8.3" description = "Send file to trash natively under Mac OS X, Windows and Linux" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -groups = ["main"] files = [ {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, ] [package.extras] -nativelib = ["pyobjc-framework-Cocoa ; sys_platform == \"darwin\"", "pywin32 ; sys_platform == \"win32\""] -objc = ["pyobjc-framework-Cocoa ; sys_platform == \"darwin\""] -win32 = ["pywin32 ; sys_platform == \"win32\""] +nativelib = ["pyobjc-framework-Cocoa", "pywin32"] +objc = ["pyobjc-framework-Cocoa"] +win32 = ["pywin32"] [[package]] name = "setuptools" @@ -3777,20 +3571,19 @@ version = "80.7.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "setuptools-80.7.1-py3-none-any.whl", hash = "sha256:ca5cc1069b85dc23070a6628e6bcecb3292acac802399c7f8edc0100619f9009"}, {file = "setuptools-80.7.1.tar.gz", hash = "sha256:f6ffc5f0142b1bd8d0ca94ee91b30c0ca862ffd50826da1ea85258a06fd94552"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""] -core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.0)"] +core = ["importlib_metadata (>=6)", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"] [[package]] name = "shapely" @@ -3798,7 +3591,6 @@ version = "2.1.1" description = "Manipulation and analysis of geometric objects" optional = false python-versions = ">=3.10" -groups = ["main"] files = [ {file = "shapely-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d8ccc872a632acb7bdcb69e5e78df27213f7efd195882668ffba5405497337c6"}, {file = "shapely-2.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f24f2ecda1e6c091da64bcbef8dd121380948074875bd1b247b3d17e99407099"}, @@ -3856,7 +3648,6 @@ version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main"] files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, @@ -3868,7 +3659,6 @@ version = "1.3.1" description = "Sniff out which async library your code is running under" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, @@ -3880,7 +3670,6 @@ version = "2.7" description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4"}, {file = "soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a"}, @@ -3892,7 +3681,6 @@ version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" optional = false python-versions = "*" -groups = ["main"] 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"}, @@ -3912,7 +3700,6 @@ version = "9.1.2" description = "Retry code until it succeeds" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138"}, {file = "tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb"}, @@ -3928,7 +3715,6 @@ version = "0.18.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, @@ -3950,7 +3736,6 @@ version = "1.4.0" description = "A tiny CSS parser" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289"}, {file = "tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7"}, @@ -3969,8 +3754,6 @@ version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" -groups = ["main"] -markers = "python_version == \"3.10\"" files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, @@ -4012,7 +3795,6 @@ version = "6.5" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "tornado-6.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:f81067dad2e4443b015368b24e802d0083fecada4f0a4572fdb72fc06e54a9a6"}, {file = "tornado-6.5-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9ac1cbe1db860b3cbb251e795c701c41d343f06a96049d6274e7c77559117e41"}, @@ -4034,7 +3816,6 @@ version = "5.14.3" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, @@ -4050,7 +3831,6 @@ version = "0.2.1" description = "Scipy trait types" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "traittypes-0.2.1-py2.py3-none-any.whl", hash = "sha256:1340af133810b6eee1a2eb2e988f862b0d12b6c2d16f282aaf3207b782134c2e"}, {file = "traittypes-0.2.1.tar.gz", hash = "sha256:be6fa26294733e7489822ded4ae25da5b4824a8a7a0e0c2dccfde596e3489bd6"}, @@ -4068,7 +3848,6 @@ version = "2.9.0.20250516" description = "Typing stubs for python-dateutil" optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "types_python_dateutil-2.9.0.20250516-py3-none-any.whl", hash = "sha256:2b2b3f57f9c6a61fba26a9c0ffb9ea5681c9b83e69cd897c6b5f668d9c0cab93"}, {file = "types_python_dateutil-2.9.0.20250516.tar.gz", hash = "sha256:13e80d6c9c47df23ad773d54b2826bd52dbbb41be87c3f339381c1700ad21ee5"}, @@ -4080,7 +3859,6 @@ version = "4.13.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c"}, {file = "typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef"}, @@ -4092,7 +3870,6 @@ version = "2025.2" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" -groups = ["main"] files = [ {file = "tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8"}, {file = "tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9"}, @@ -4104,7 +3881,6 @@ version = "1.3.0" description = "RFC 6570 URI Template Processor" optional = false python-versions = ">=3.7" -groups = ["main"] 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"}, @@ -4119,7 +3895,6 @@ version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" optional = false python-versions = ">=3.6" -groups = ["main"] files = [ {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, @@ -4131,14 +3906,13 @@ version = "2.4.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813"}, {file = "urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466"}, ] [package.extras] -brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -4149,7 +3923,6 @@ version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, @@ -4161,7 +3934,6 @@ version = "24.11.1" description = "A library for working with the color formats defined by HTML and CSS." optional = false python-versions = ">=3.9" -groups = ["main"] files = [ {file = "webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9"}, {file = "webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6"}, @@ -4173,7 +3945,6 @@ version = "0.5.1" description = "Character encoding aliases for legacy web content" optional = false python-versions = "*" -groups = ["main"] files = [ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, @@ -4185,7 +3956,6 @@ version = "1.8.0" description = "WebSocket client for Python with low level API options" optional = false python-versions = ">=3.8" -groups = ["main"] 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"}, @@ -4202,7 +3972,6 @@ version = "4.0.14" description = "Jupyter interactive widgets for Jupyter Notebook" optional = false python-versions = ">=3.7" -groups = ["main"] files = [ {file = "widgetsnbextension-4.0.14-py3-none-any.whl", hash = "sha256:4875a9eaf72fbf5079dc372a51a9f268fc38d46f767cbf85c43a36da5cb9b575"}, {file = "widgetsnbextension-4.0.14.tar.gz", hash = "sha256:a3629b04e3edb893212df862038c7232f62973373869db5084aed739b437b5af"}, @@ -4214,13 +3983,12 @@ version = "2025.4.0" description = "Source of XYZ tiles providers" optional = false python-versions = ">=3.8" -groups = ["main"] files = [ {file = "xyzservices-2025.4.0-py3-none-any.whl", hash = "sha256:8d4db9a59213ccb4ce1cf70210584f30b10795bff47627cdfb862b39ff6e10c9"}, {file = "xyzservices-2025.4.0.tar.gz", hash = "sha256:6fe764713648fac53450fbc61a3c366cb6ae5335a1b2ae0c3796b495de3709d8"}, ] [metadata] -lock-version = "2.1" +lock-version = "2.0" python-versions = "^3.10" content-hash = "1a87b9093835897bee7d8a2b876b71ad809f93e8c450fdcdcfa40674ef39d092" diff --git a/pyproject.toml b/pyproject.toml index 01eee68..bbb3780 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "fimeval" -version = "0.1.46" +version = "0.1.47" description = "A Framework for Automatic Evaluation of Flood Inundation Mapping Predictions Evaluation" authors = [ "Surface Dynamics Modeling Lab", diff --git a/src/fimeval/BuildingFootprint/evaluationwithBF.py b/src/fimeval/BuildingFootprint/evaluationwithBF.py index c74101f..78927ea 100644 --- a/src/fimeval/BuildingFootprint/evaluationwithBF.py +++ b/src/fimeval/BuildingFootprint/evaluationwithBF.py @@ -352,7 +352,7 @@ def EvaluationWithBuildingFootprint( method_path, "BoundaryforEvaluation", "FIMEvaluatedExtent.shp" ) else: - boundary = detect_shapefile(folder) + boundary = detect_shapefile(os.path.join(main_dir, folder)) building_footprintMS = building_footprint if building_footprintMS is None: