From 8952fa32d30e98dfe7eb0ab97bc9326ddd69c430 Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Fri, 30 May 2025 16:46:40 +0900 Subject: [PATCH 01/14] Update Mypy version --- poetry.lock | 743 ++++++++++++++++++++++++++----------------------- pyproject.toml | 2 +- 2 files changed, 390 insertions(+), 355 deletions(-) diff --git a/poetry.lock b/poetry.lock index e527a439..12eb3bf7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand. [[package]] name = "accessible-pygments" @@ -91,14 +91,14 @@ dev = ["backports.zoneinfo ; python_version < \"3.9\"", "freezegun (>=1.0,<2.0)" [[package]] name = "beautifulsoup4" -version = "4.13.3" +version = "4.13.4" description = "Screen-scraping library" optional = false python-versions = ">=3.7.0" groups = ["docs"] files = [ - {file = "beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16"}, - {file = "beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b"}, + {file = "beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b"}, + {file = "beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195"}, ] [package.dependencies] @@ -114,14 +114,14 @@ lxml = ["lxml"] [[package]] name = "certifi" -version = "2025.1.31" +version = "2025.4.26" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" groups = ["dev", "docs"] files = [ - {file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, - {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, + {file = "certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3"}, + {file = "certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6"}, ] [[package]] @@ -207,116 +207,116 @@ pycparser = "*" [[package]] name = "charset-normalizer" -version = "3.4.1" +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 = ["docs"] files = [ - {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, - {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, - {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a"}, + {file = "charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a"}, + {file = "charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c"}, + {file = "charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7"}, + {file = "charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-win32.whl", hash = "sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58"}, + {file = "charset_normalizer-3.4.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-win32.whl", hash = "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7"}, + {file = "charset_normalizer-3.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471"}, + {file = "charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e"}, + {file = "charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0"}, + {file = "charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63"}, ] [[package]] name = "click" -version = "8.1.8" +version = "8.2.1" description = "Composable command line interface toolkit" optional = false -python-versions = ">=3.7" +python-versions = ">=3.10" groups = ["dev"] files = [ - {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, - {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, + {file = "click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b"}, + {file = "click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202"}, ] [package.dependencies] @@ -370,75 +370,79 @@ coverage = ">=6.0.2" [[package]] name = "coverage" -version = "7.7.0" +version = "7.8.2" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "coverage-7.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a538a23119d1e2e2ce077e902d02ea3d8e0641786ef6e0faf11ce82324743944"}, - {file = "coverage-7.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1586ad158523f4133499a4f322b230e2cfef9cc724820dbd58595a5a236186f4"}, - {file = "coverage-7.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b6c96d69928a3a6767fab8dc1ce8a02cf0156836ccb1e820c7f45a423570d98"}, - {file = "coverage-7.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f18d47641282664276977c604b5a261e51fefc2980f5271d547d706b06a837f"}, - {file = "coverage-7.7.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a1e18a85bd066c7c556d85277a7adf4651f259b2579113844835ba1a74aafd"}, - {file = "coverage-7.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:70f0925c4e2bfc965369f417e7cc72538fd1ba91639cf1e4ef4b1a6b50439b3b"}, - {file = "coverage-7.7.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b0fac2088ec4aaeb5468b814bd3ff5e5978364bfbce5e567c44c9e2854469f6c"}, - {file = "coverage-7.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b3e212a894d8ae07fde2ca8b43d666a6d49bbbddb10da0f6a74ca7bd31f20054"}, - {file = "coverage-7.7.0-cp310-cp310-win32.whl", hash = "sha256:f32b165bf6dfea0846a9c9c38b7e1d68f313956d60a15cde5d1709fddcaf3bee"}, - {file = "coverage-7.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:a2454b12a3f12cc4698f3508912e6225ec63682e2ca5a96f80a2b93cef9e63f3"}, - {file = "coverage-7.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a0a207c87a9f743c8072d059b4711f8d13c456eb42dac778a7d2e5d4f3c253a7"}, - {file = "coverage-7.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d673e3add00048215c2cc507f1228a7523fd8bf34f279ac98334c9b07bd2656"}, - {file = "coverage-7.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f81fe93dc1b8e5673f33443c0786c14b77e36f1025973b85e07c70353e46882b"}, - {file = "coverage-7.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8c7524779003d59948c51b4fcbf1ca4e27c26a7d75984f63488f3625c328b9b"}, - {file = "coverage-7.7.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c124025430249118d018dcedc8b7426f39373527c845093132196f2a483b6dd"}, - {file = "coverage-7.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e7f559c36d5cdc448ee13e7e56ed7b6b5d44a40a511d584d388a0f5d940977ba"}, - {file = "coverage-7.7.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:37cbc7b0d93dfd133e33c7ec01123fbb90401dce174c3b6661d8d36fb1e30608"}, - {file = "coverage-7.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7d2a65876274acf544703e943c010b60bd79404e3623a1e5d52b64a6e2728de5"}, - {file = "coverage-7.7.0-cp311-cp311-win32.whl", hash = "sha256:f5a2f71d6a91238e7628f23538c26aa464d390cbdedf12ee2a7a0fb92a24482a"}, - {file = "coverage-7.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:ae8006772c6b0fa53c33747913473e064985dac4d65f77fd2fdc6474e7cd54e4"}, - {file = "coverage-7.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:056d3017ed67e7ddf266e6f57378ece543755a4c9231e997789ab3bd11392c94"}, - {file = "coverage-7.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:33c1394d8407e2771547583b66a85d07ed441ff8fae5a4adb4237ad39ece60db"}, - {file = "coverage-7.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fbb7a0c3c21908520149d7751cf5b74eb9b38b54d62997b1e9b3ac19a8ee2fe"}, - {file = "coverage-7.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb356e7ae7c2da13f404bf8f75be90f743c6df8d4607022e759f5d7d89fe83f8"}, - {file = "coverage-7.7.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bce730d484038e97f27ea2dbe5d392ec5c2261f28c319a3bb266f6b213650135"}, - {file = "coverage-7.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aa4dff57fc21a575672176d5ab0ef15a927199e775c5e8a3d75162ab2b0c7705"}, - {file = "coverage-7.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b667b91f4f714b17af2a18e220015c941d1cf8b07c17f2160033dbe1e64149f0"}, - {file = "coverage-7.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:693d921621a0c8043bfdc61f7d4df5ea6d22165fe8b807cac21eb80dd94e4bbd"}, - {file = "coverage-7.7.0-cp312-cp312-win32.whl", hash = "sha256:52fc89602cde411a4196c8c6894afb384f2125f34c031774f82a4f2608c59d7d"}, - {file = "coverage-7.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:0ce8cf59e09d31a4915ff4c3b94c6514af4c84b22c4cc8ad7c3c546a86150a92"}, - {file = "coverage-7.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4545485fef7a8a2d8f30e6f79ce719eb154aab7e44217eb444c1d38239af2072"}, - {file = "coverage-7.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1393e5aa9441dafb0162c36c8506c648b89aea9565b31f6bfa351e66c11bcd82"}, - {file = "coverage-7.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:316f29cc3392fa3912493ee4c83afa4a0e2db04ff69600711f8c03997c39baaa"}, - {file = "coverage-7.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1ffde1d6bc2a92f9c9207d1ad808550873748ac2d4d923c815b866baa343b3f"}, - {file = "coverage-7.7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:416e2a8845eaff288f97eaf76ab40367deafb9073ffc47bf2a583f26b05e5265"}, - {file = "coverage-7.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5efdeff5f353ed3352c04e6b318ab05c6ce9249c25ed3c2090c6e9cadda1e3b2"}, - {file = "coverage-7.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:57f3bd0d29bf2bd9325c0ff9cc532a175110c4bf8f412c05b2405fd35745266d"}, - {file = "coverage-7.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ab7090f04b12dc6469882ce81244572779d3a4b67eea1c96fb9ecc8c607ef39"}, - {file = "coverage-7.7.0-cp313-cp313-win32.whl", hash = "sha256:180e3fc68ee4dc5af8b33b6ca4e3bb8aa1abe25eedcb958ba5cff7123071af68"}, - {file = "coverage-7.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:55143aa13c49491f5606f05b49ed88663446dce3a4d3c5d77baa4e36a16d3573"}, - {file = "coverage-7.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:cc41374d2f27d81d6558f8a24e5c114580ffefc197fd43eabd7058182f743322"}, - {file = "coverage-7.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:89078312f06237417adda7c021c33f80f7a6d2db8572a5f6c330d89b080061ce"}, - {file = "coverage-7.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b2f144444879363ea8834cd7b6869d79ac796cb8f864b0cfdde50296cd95816"}, - {file = "coverage-7.7.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:60e6347d1ed882b1159ffea172cb8466ee46c665af4ca397edbf10ff53e9ffaf"}, - {file = "coverage-7.7.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb203c0afffaf1a8f5b9659a013f8f16a1b2cad3a80a8733ceedc968c0cf4c57"}, - {file = "coverage-7.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:ad0edaa97cb983d9f2ff48cadddc3e1fb09f24aa558abeb4dc9a0dbacd12cbb4"}, - {file = "coverage-7.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:c5f8a5364fc37b2f172c26a038bc7ec4885f429de4a05fc10fdcb53fb5834c5c"}, - {file = "coverage-7.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4e09534037933bf6eb31d804e72c52ec23219b32c1730f9152feabbd7499463"}, - {file = "coverage-7.7.0-cp313-cp313t-win32.whl", hash = "sha256:1b336d06af14f8da5b1f391e8dec03634daf54dfcb4d1c4fb6d04c09d83cef90"}, - {file = "coverage-7.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b54a1ee4c6f1905a436cbaa04b26626d27925a41cbc3a337e2d3ff7038187f07"}, - {file = "coverage-7.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1c8fbce80b2b8bf135d105aa8f5b36eae0c57d702a1cc3ebdea2a6f03f6cdde5"}, - {file = "coverage-7.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d9710521f07f526de30ccdead67e6b236fe996d214e1a7fba8b36e2ba2cd8261"}, - {file = "coverage-7.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7789e700f33f2b133adae582c9f437523cd5db8de845774988a58c360fc88253"}, - {file = "coverage-7.7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8c36093aca722db73633cf2359026ed7782a239eb1c6db2abcff876012dc4cf"}, - {file = "coverage-7.7.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c075d167a6ec99b798c1fdf6e391a1d5a2d054caffe9593ba0f97e3df2c04f0e"}, - {file = "coverage-7.7.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d013c07061751ae81861cae6ec3a4fe04e84781b11fd4b6b4201590234b25c7b"}, - {file = "coverage-7.7.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:104bf640f408f4e115b85110047c7f27377e1a8b7ba86f7db4fa47aa49dc9a8e"}, - {file = "coverage-7.7.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:39abcacd1ed54e2c33c54bdc488b310e8ef6705833f7148b6eb9a547199d375d"}, - {file = "coverage-7.7.0-cp39-cp39-win32.whl", hash = "sha256:8e336b56301774ace6be0017ff85c3566c556d938359b61b840796a0202f805c"}, - {file = "coverage-7.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:8c938c6ae59be67ac19a7204e079efc94b38222cd7d0269f96e45e18cddeaa59"}, - {file = "coverage-7.7.0-pp39.pp310.pp311-none-any.whl", hash = "sha256:3b0e6e54591ae0d7427def8a4d40fca99df6b899d10354bab73cd5609807261c"}, - {file = "coverage-7.7.0-py3-none-any.whl", hash = "sha256:708f0a1105ef2b11c79ed54ed31f17e6325ac936501fc373f24be3e6a578146a"}, - {file = "coverage-7.7.0.tar.gz", hash = "sha256:cd879d4646055a573775a1cec863d00c9ff8c55860f8b17f6d8eee9140c06166"}, + {file = "coverage-7.8.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd8ec21e1443fd7a447881332f7ce9d35b8fbd2849e761bb290b584535636b0a"}, + {file = "coverage-7.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4c26c2396674816deaeae7ded0e2b42c26537280f8fe313335858ffff35019be"}, + {file = "coverage-7.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1aec326ed237e5880bfe69ad41616d333712c7937bcefc1343145e972938f9b3"}, + {file = "coverage-7.8.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5e818796f71702d7a13e50c70de2a1924f729228580bcba1607cccf32eea46e6"}, + {file = "coverage-7.8.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:546e537d9e24efc765c9c891328f30f826e3e4808e31f5d0f87c4ba12bbd1622"}, + {file = "coverage-7.8.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab9b09a2349f58e73f8ebc06fac546dd623e23b063e5398343c5270072e3201c"}, + {file = "coverage-7.8.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fd51355ab8a372d89fb0e6a31719e825cf8df8b6724bee942fb5b92c3f016ba3"}, + {file = "coverage-7.8.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0774df1e093acb6c9e4d58bce7f86656aeed6c132a16e2337692c12786b32404"}, + {file = "coverage-7.8.2-cp310-cp310-win32.whl", hash = "sha256:00f2e2f2e37f47e5f54423aeefd6c32a7dbcedc033fcd3928a4f4948e8b96af7"}, + {file = "coverage-7.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:145b07bea229821d51811bf15eeab346c236d523838eda395ea969d120d13347"}, + {file = "coverage-7.8.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b99058eef42e6a8dcd135afb068b3d53aff3921ce699e127602efff9956457a9"}, + {file = "coverage-7.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5feb7f2c3e6ea94d3b877def0270dff0947b8d8c04cfa34a17be0a4dc1836879"}, + {file = "coverage-7.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:670a13249b957bb9050fab12d86acef7bf8f6a879b9d1a883799276e0d4c674a"}, + {file = "coverage-7.8.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0bdc8bf760459a4a4187b452213e04d039990211f98644c7292adf1e471162b5"}, + {file = "coverage-7.8.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07a989c867986c2a75f158f03fdb413128aad29aca9d4dbce5fc755672d96f11"}, + {file = "coverage-7.8.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2db10dedeb619a771ef0e2949ccba7b75e33905de959c2643a4607bef2f3fb3a"}, + {file = "coverage-7.8.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e6ea7dba4e92926b7b5f0990634b78ea02f208d04af520c73a7c876d5a8d36cb"}, + {file = "coverage-7.8.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ef2f22795a7aca99fc3c84393a55a53dd18ab8c93fb431004e4d8f0774150f54"}, + {file = "coverage-7.8.2-cp311-cp311-win32.whl", hash = "sha256:641988828bc18a6368fe72355df5f1703e44411adbe49bba5644b941ce6f2e3a"}, + {file = "coverage-7.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:8ab4a51cb39dc1933ba627e0875046d150e88478dbe22ce145a68393e9652975"}, + {file = "coverage-7.8.2-cp311-cp311-win_arm64.whl", hash = "sha256:8966a821e2083c74d88cca5b7dcccc0a3a888a596a04c0b9668a891de3a0cc53"}, + {file = "coverage-7.8.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e2f6fe3654468d061942591aef56686131335b7a8325684eda85dacdf311356c"}, + {file = "coverage-7.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76090fab50610798cc05241bf83b603477c40ee87acd358b66196ab0ca44ffa1"}, + {file = "coverage-7.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bd0a0a5054be160777a7920b731a0570284db5142abaaf81bcbb282b8d99279"}, + {file = "coverage-7.8.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da23ce9a3d356d0affe9c7036030b5c8f14556bd970c9b224f9c8205505e3b99"}, + {file = "coverage-7.8.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9392773cffeb8d7e042a7b15b82a414011e9d2b5fdbbd3f7e6a6b17d5e21b20"}, + {file = "coverage-7.8.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:876cbfd0b09ce09d81585d266c07a32657beb3eaec896f39484b631555be0fe2"}, + {file = "coverage-7.8.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3da9b771c98977a13fbc3830f6caa85cae6c9c83911d24cb2d218e9394259c57"}, + {file = "coverage-7.8.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a990f6510b3292686713bfef26d0049cd63b9c7bb17e0864f133cbfd2e6167f"}, + {file = "coverage-7.8.2-cp312-cp312-win32.whl", hash = "sha256:bf8111cddd0f2b54d34e96613e7fbdd59a673f0cf5574b61134ae75b6f5a33b8"}, + {file = "coverage-7.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:86a323a275e9e44cdf228af9b71c5030861d4d2610886ab920d9945672a81223"}, + {file = "coverage-7.8.2-cp312-cp312-win_arm64.whl", hash = "sha256:820157de3a589e992689ffcda8639fbabb313b323d26388d02e154164c57b07f"}, + {file = "coverage-7.8.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ea561010914ec1c26ab4188aef8b1567272ef6de096312716f90e5baa79ef8ca"}, + {file = "coverage-7.8.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cb86337a4fcdd0e598ff2caeb513ac604d2f3da6d53df2c8e368e07ee38e277d"}, + {file = "coverage-7.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26a4636ddb666971345541b59899e969f3b301143dd86b0ddbb570bd591f1e85"}, + {file = "coverage-7.8.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5040536cf9b13fb033f76bcb5e1e5cb3b57c4807fef37db9e0ed129c6a094257"}, + {file = "coverage-7.8.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc67994df9bcd7e0150a47ef41278b9e0a0ea187caba72414b71dc590b99a108"}, + {file = "coverage-7.8.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e6c86888fd076d9e0fe848af0a2142bf606044dc5ceee0aa9eddb56e26895a0"}, + {file = "coverage-7.8.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:684ca9f58119b8e26bef860db33524ae0365601492e86ba0b71d513f525e7050"}, + {file = "coverage-7.8.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8165584ddedb49204c4e18da083913bdf6a982bfb558632a79bdaadcdafd0d48"}, + {file = "coverage-7.8.2-cp313-cp313-win32.whl", hash = "sha256:34759ee2c65362163699cc917bdb2a54114dd06d19bab860725f94ef45a3d9b7"}, + {file = "coverage-7.8.2-cp313-cp313-win_amd64.whl", hash = "sha256:2f9bc608fbafaee40eb60a9a53dbfb90f53cc66d3d32c2849dc27cf5638a21e3"}, + {file = "coverage-7.8.2-cp313-cp313-win_arm64.whl", hash = "sha256:9fe449ee461a3b0c7105690419d0b0aba1232f4ff6d120a9e241e58a556733f7"}, + {file = "coverage-7.8.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8369a7c8ef66bded2b6484053749ff220dbf83cba84f3398c84c51a6f748a008"}, + {file = "coverage-7.8.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:159b81df53a5fcbc7d45dae3adad554fdbde9829a994e15227b3f9d816d00b36"}, + {file = "coverage-7.8.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6fcbbd35a96192d042c691c9e0c49ef54bd7ed865846a3c9d624c30bb67ce46"}, + {file = "coverage-7.8.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05364b9cc82f138cc86128dc4e2e1251c2981a2218bfcd556fe6b0fbaa3501be"}, + {file = "coverage-7.8.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46d532db4e5ff3979ce47d18e2fe8ecad283eeb7367726da0e5ef88e4fe64740"}, + {file = "coverage-7.8.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4000a31c34932e7e4fa0381a3d6deb43dc0c8f458e3e7ea6502e6238e10be625"}, + {file = "coverage-7.8.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:43ff5033d657cd51f83015c3b7a443287250dc14e69910577c3e03bd2e06f27b"}, + {file = "coverage-7.8.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:94316e13f0981cbbba132c1f9f365cac1d26716aaac130866ca812006f662199"}, + {file = "coverage-7.8.2-cp313-cp313t-win32.whl", hash = "sha256:3f5673888d3676d0a745c3d0e16da338c5eea300cb1f4ada9c872981265e76d8"}, + {file = "coverage-7.8.2-cp313-cp313t-win_amd64.whl", hash = "sha256:2c08b05ee8d7861e45dc5a2cc4195c8c66dca5ac613144eb6ebeaff2d502e73d"}, + {file = "coverage-7.8.2-cp313-cp313t-win_arm64.whl", hash = "sha256:1e1448bb72b387755e1ff3ef1268a06617afd94188164960dba8d0245a46004b"}, + {file = "coverage-7.8.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:496948261eaac5ac9cf43f5d0a9f6eb7a6d4cb3bedb2c5d294138142f5c18f2a"}, + {file = "coverage-7.8.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eacd2de0d30871eff893bab0b67840a96445edcb3c8fd915e6b11ac4b2f3fa6d"}, + {file = "coverage-7.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b039ffddc99ad65d5078ef300e0c7eed08c270dc26570440e3ef18beb816c1ca"}, + {file = "coverage-7.8.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e49824808d4375ede9dd84e9961a59c47f9113039f1a525e6be170aa4f5c34d"}, + {file = "coverage-7.8.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b069938961dfad881dc2f8d02b47645cd2f455d3809ba92a8a687bf513839787"}, + {file = "coverage-7.8.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:de77c3ba8bb686d1c411e78ee1b97e6e0b963fb98b1637658dd9ad2c875cf9d7"}, + {file = "coverage-7.8.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1676628065a498943bd3f64f099bb573e08cf1bc6088bbe33cf4424e0876f4b3"}, + {file = "coverage-7.8.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8e1a26e7e50076e35f7afafde570ca2b4d7900a491174ca357d29dece5aacee7"}, + {file = "coverage-7.8.2-cp39-cp39-win32.whl", hash = "sha256:6782a12bf76fa61ad9350d5a6ef5f3f020b57f5e6305cbc663803f2ebd0f270a"}, + {file = "coverage-7.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:1efa4166ba75ccefd647f2d78b64f53f14fb82622bc94c5a5cb0a622f50f1c9e"}, + {file = "coverage-7.8.2-pp39.pp310.pp311-none-any.whl", hash = "sha256:ec455eedf3ba0bbdf8f5a570012617eb305c63cb9f03428d39bf544cb2b94837"}, + {file = "coverage-7.8.2-py3-none-any.whl", hash = "sha256:726f32ee3713f7359696331a18daf0c3b3a70bb0ae71141b9d3c52be7c595e32"}, + {file = "coverage-7.8.2.tar.gz", hash = "sha256:a886d531373a1f6ff9fad2a2ba4a045b68467b779ae729ee0b3b10ac20033b27"}, ] [package.dependencies] @@ -473,36 +477,39 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.2.2" +version = "1.3.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" groups = ["main", "dev"] files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, + {file = "exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10"}, + {file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"}, ] -markers = {main = "extra == \"check-laws\" and python_version < \"3.11\"", dev = "python_version < \"3.11\""} +markers = {main = "extra == \"check-laws\" and python_version == \"3.10\"", dev = "python_version == \"3.10\""} + +[package.dependencies] +typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} [package.extras] test = ["pytest (>=6)"] [[package]] name = "flake8" -version = "7.1.2" +version = "7.2.0" description = "the modular source code checker: pep8 pyflakes and co" optional = false -python-versions = ">=3.8.1" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "flake8-7.1.2-py2.py3-none-any.whl", hash = "sha256:1cbc62e65536f65e6d754dfe6f1bada7f5cf392d6f5db3c2b85892466c3e7c1a"}, - {file = "flake8-7.1.2.tar.gz", hash = "sha256:c586ffd0b41540951ae41af572e6790dbd49fc12b3aa2541685d253d9bd504bd"}, + {file = "flake8-7.2.0-py2.py3-none-any.whl", hash = "sha256:93b92ba5bdb60754a6da14fa3b93a9361fd00a59632ada61fd7b130436c40343"}, + {file = "flake8-7.2.0.tar.gz", hash = "sha256:fa558ae3f6f7dbf2b4f22663e5343b6b6023620461f8d4ff2019ef4b5ee70426"}, ] [package.dependencies] mccabe = ">=0.7.0,<0.8.0" -pycodestyle = ">=2.12.0,<2.13.0" -pyflakes = ">=3.2.0,<3.3.0" +pycodestyle = ">=2.13.0,<2.14.0" +pyflakes = ">=3.3.0,<3.4.0" [[package]] name = "furo" @@ -678,14 +685,14 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jsonschema" -version = "4.23.0" +version = "4.24.0" description = "An implementation of JSON Schema validation for Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, - {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, + {file = "jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d"}, + {file = "jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196"}, ] [package.dependencies] @@ -700,14 +707,14 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jsonschema-specifications" -version = "2024.10.1" +version = "2025.4.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"}, - {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"}, + {file = "jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af"}, + {file = "jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608"}, ] [package.dependencies] @@ -855,49 +862,50 @@ files = [ [[package]] name = "mypy" -version = "1.15.0" +version = "1.16.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.9" groups = ["main", "dev"] files = [ - {file = "mypy-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:979e4e1a006511dacf628e36fadfecbcc0160a8af6ca7dad2f5025529e082c13"}, - {file = "mypy-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4bb0e1bd29f7d34efcccd71cf733580191e9a264a2202b0239da95984c5b559"}, - {file = "mypy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be68172e9fd9ad8fb876c6389f16d1c1b5f100ffa779f77b1fb2176fcc9ab95b"}, - {file = "mypy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7be1e46525adfa0d97681432ee9fcd61a3964c2446795714699a998d193f1a3"}, - {file = "mypy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2e2c2e6d3593f6451b18588848e66260ff62ccca522dd231cd4dd59b0160668b"}, - {file = "mypy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:6983aae8b2f653e098edb77f893f7b6aca69f6cffb19b2cc7443f23cce5f4828"}, - {file = "mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f"}, - {file = "mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5"}, - {file = "mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e"}, - {file = "mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c"}, - {file = "mypy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f"}, - {file = "mypy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f"}, - {file = "mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd"}, - {file = "mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f"}, - {file = "mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464"}, - {file = "mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee"}, - {file = "mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e"}, - {file = "mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22"}, - {file = "mypy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445"}, - {file = "mypy-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d"}, - {file = "mypy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5"}, - {file = "mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036"}, - {file = "mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357"}, - {file = "mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf"}, - {file = "mypy-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e601a7fa172c2131bff456bb3ee08a88360760d0d2f8cbd7a75a65497e2df078"}, - {file = "mypy-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:712e962a6357634fef20412699a3655c610110e01cdaa6180acec7fc9f8513ba"}, - {file = "mypy-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95579473af29ab73a10bada2f9722856792a36ec5af5399b653aa28360290a5"}, - {file = "mypy-1.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f8722560a14cde92fdb1e31597760dc35f9f5524cce17836c0d22841830fd5b"}, - {file = "mypy-1.15.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fbb8da62dc352133d7d7ca90ed2fb0e9d42bb1a32724c287d3c76c58cbaa9c2"}, - {file = "mypy-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:d10d994b41fb3497719bbf866f227b3489048ea4bbbb5015357db306249f7980"}, - {file = "mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e"}, - {file = "mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43"}, + {file = "mypy-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7909541fef256527e5ee9c0a7e2aeed78b6cda72ba44298d1334fe7881b05c5c"}, + {file = "mypy-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e71d6f0090c2256c713ed3d52711d01859c82608b5d68d4fa01a3fe30df95571"}, + {file = "mypy-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:936ccfdd749af4766be824268bfe22d1db9eb2f34a3ea1d00ffbe5b5265f5491"}, + {file = "mypy-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4086883a73166631307fdd330c4a9080ce24913d4f4c5ec596c601b3a4bdd777"}, + {file = "mypy-1.16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:feec38097f71797da0231997e0de3a58108c51845399669ebc532c815f93866b"}, + {file = "mypy-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:09a8da6a0ee9a9770b8ff61b39c0bb07971cda90e7297f4213741b48a0cc8d93"}, + {file = "mypy-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9f826aaa7ff8443bac6a494cf743f591488ea940dd360e7dd330e30dd772a5ab"}, + {file = "mypy-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:82d056e6faa508501af333a6af192c700b33e15865bda49611e3d7d8358ebea2"}, + {file = "mypy-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:089bedc02307c2548eb51f426e085546db1fa7dd87fbb7c9fa561575cf6eb1ff"}, + {file = "mypy-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6a2322896003ba66bbd1318c10d3afdfe24e78ef12ea10e2acd985e9d684a666"}, + {file = "mypy-1.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:021a68568082c5b36e977d54e8f1de978baf401a33884ffcea09bd8e88a98f4c"}, + {file = "mypy-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:54066fed302d83bf5128632d05b4ec68412e1f03ef2c300434057d66866cea4b"}, + {file = "mypy-1.16.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c5436d11e89a3ad16ce8afe752f0f373ae9620841c50883dc96f8b8805620b13"}, + {file = "mypy-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f2622af30bf01d8fc36466231bdd203d120d7a599a6d88fb22bdcb9dbff84090"}, + {file = "mypy-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d045d33c284e10a038f5e29faca055b90eee87da3fc63b8889085744ebabb5a1"}, + {file = "mypy-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b4968f14f44c62e2ec4a038c8797a87315be8df7740dc3ee8d3bfe1c6bf5dba8"}, + {file = "mypy-1.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eb14a4a871bb8efb1e4a50360d4e3c8d6c601e7a31028a2c79f9bb659b63d730"}, + {file = "mypy-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:bd4e1ebe126152a7bbaa4daedd781c90c8f9643c79b9748caa270ad542f12bec"}, + {file = "mypy-1.16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a9e056237c89f1587a3be1a3a70a06a698d25e2479b9a2f57325ddaaffc3567b"}, + {file = "mypy-1.16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0b07e107affb9ee6ce1f342c07f51552d126c32cd62955f59a7db94a51ad12c0"}, + {file = "mypy-1.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c6fb60cbd85dc65d4d63d37cb5c86f4e3a301ec605f606ae3a9173e5cf34997b"}, + {file = "mypy-1.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7e32297a437cc915599e0578fa6bc68ae6a8dc059c9e009c628e1c47f91495d"}, + {file = "mypy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:afe420c9380ccec31e744e8baff0d406c846683681025db3531b32db56962d52"}, + {file = "mypy-1.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:55f9076c6ce55dd3f8cd0c6fff26a008ca8e5131b89d5ba6d86bd3f47e736eeb"}, + {file = "mypy-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f56236114c425620875c7cf71700e3d60004858da856c6fc78998ffe767b73d3"}, + {file = "mypy-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:15486beea80be24ff067d7d0ede673b001d0d684d0095803b3e6e17a886a2a92"}, + {file = "mypy-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f2ed0e0847a80655afa2c121835b848ed101cc7b8d8d6ecc5205aedc732b1436"}, + {file = "mypy-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eb5fbc8063cb4fde7787e4c0406aa63094a34a2daf4673f359a1fb64050e9cb2"}, + {file = "mypy-1.16.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a5fcfdb7318c6a8dd127b14b1052743b83e97a970f0edb6c913211507a255e20"}, + {file = "mypy-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e7e0ad35275e02797323a5aa1be0b14a4d03ffdb2e5f2b0489fa07b89c67b21"}, + {file = "mypy-1.16.0-py3-none-any.whl", hash = "sha256:29e1499864a3888bca5c1542f2d7232c6e586295183320caa95758fc84034031"}, + {file = "mypy-1.16.0.tar.gz", hash = "sha256:84b94283f817e2aa6350a14b4a8fb2a35a53c286f97c9d30f53b63620e7af8ab"}, ] markers = {main = "extra == \"compatible-mypy\""} [package.dependencies] mypy_extensions = ">=1.0.0" +pathspec = ">=0.9.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} typing_extensions = ">=4.6.0" @@ -910,14 +918,14 @@ reports = ["lxml"] [[package]] name = "mypy-extensions" -version = "1.0.0" +version = "1.1.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" groups = ["main", "dev"] files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, + {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, + {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, ] markers = {main = "extra == \"compatible-mypy\""} @@ -965,44 +973,57 @@ attrs = ">=19.2.0" [[package]] name = "packaging" -version = "24.2" +version = "25.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" groups = ["main", "dev", "docs"] files = [ - {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, - {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, + {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, + {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, ] markers = {main = "extra == \"check-laws\""} +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +groups = ["main", "dev"] +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] +markers = {main = "extra == \"compatible-mypy\""} + [[package]] name = "pluggy" -version = "1.5.0" +version = "1.6.0" description = "plugin and hook calling mechanisms for python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main", "dev"] files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, + {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, + {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, ] markers = {main = "extra == \"check-laws\""} [package.extras] dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] +testing = ["coverage", "pytest", "pytest-benchmark"] [[package]] name = "pycodestyle" -version = "2.12.1" +version = "2.13.0" description = "Python style guide checker" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"}, - {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"}, + {file = "pycodestyle-2.13.0-py2.py3-none-any.whl", hash = "sha256:35863c5974a271c7a726ed228a14a4f6daf49df369d8c50cd9a6f58a5e143ba9"}, + {file = "pycodestyle-2.13.0.tar.gz", hash = "sha256:c8415bf09abe81d9c7f872502a6eee881fbe85d8763dd5b9924bb0a01d67efae"}, ] [[package]] @@ -1020,14 +1041,14 @@ files = [ [[package]] name = "pyflakes" -version = "3.2.0" +version = "3.3.2" description = "passive checker of Python programs" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, - {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, + {file = "pyflakes-3.3.2-py2.py3-none-any.whl", hash = "sha256:5039c8339cbb1944045f4ee5466908906180f13cc99cc9949348d10f82a5c32a"}, + {file = "pyflakes-3.3.2.tar.gz", hash = "sha256:6dfd61d87b97fba5dcfaaf781171ac16be16453be6d816147989e7f6e6a9576b"}, ] [[package]] @@ -1368,115 +1389,129 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rpds-py" -version = "0.23.1" +version = "0.25.1" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "rpds_py-0.23.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2a54027554ce9b129fc3d633c92fa33b30de9f08bc61b32c053dc9b537266fed"}, - {file = "rpds_py-0.23.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b5ef909a37e9738d146519657a1aab4584018746a18f71c692f2f22168ece40c"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ee9d6f0b38efb22ad94c3b68ffebe4c47865cdf4b17f6806d6c674e1feb4246"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f7356a6da0562190558c4fcc14f0281db191cdf4cb96e7604c06acfcee96df15"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9441af1d25aed96901f97ad83d5c3e35e6cd21a25ca5e4916c82d7dd0490a4fa"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d8abf7896a91fb97e7977d1aadfcc2c80415d6dc2f1d0fca5b8d0df247248f3"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b08027489ba8fedde72ddd233a5ea411b85a6ed78175f40285bd401bde7466d"}, - {file = "rpds_py-0.23.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fee513135b5a58f3bb6d89e48326cd5aa308e4bcdf2f7d59f67c861ada482bf8"}, - {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:35d5631ce0af26318dba0ae0ac941c534453e42f569011585cb323b7774502a5"}, - {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a20cb698c4a59c534c6701b1c24a968ff2768b18ea2991f886bd8985ce17a89f"}, - {file = "rpds_py-0.23.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e9c206a1abc27e0588cf8b7c8246e51f1a16a103734f7750830a1ccb63f557a"}, - {file = "rpds_py-0.23.1-cp310-cp310-win32.whl", hash = "sha256:d9f75a06ecc68f159d5d7603b734e1ff6daa9497a929150f794013aa9f6e3f12"}, - {file = "rpds_py-0.23.1-cp310-cp310-win_amd64.whl", hash = "sha256:f35eff113ad430b5272bbfc18ba111c66ff525828f24898b4e146eb479a2cdda"}, - {file = "rpds_py-0.23.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b79f5ced71efd70414a9a80bbbfaa7160da307723166f09b69773153bf17c590"}, - {file = "rpds_py-0.23.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c9e799dac1ffbe7b10c1fd42fe4cd51371a549c6e108249bde9cd1200e8f59b4"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721f9c4011b443b6e84505fc00cc7aadc9d1743f1c988e4c89353e19c4a968ee"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f88626e3f5e57432e6191cd0c5d6d6b319b635e70b40be2ffba713053e5147dd"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:285019078537949cecd0190f3690a0b0125ff743d6a53dfeb7a4e6787af154f5"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b92f5654157de1379c509b15acec9d12ecf6e3bc1996571b6cb82a4302060447"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e768267cbe051dd8d1c5305ba690bb153204a09bf2e3de3ae530de955f5b5580"}, - {file = "rpds_py-0.23.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c5334a71f7dc1160382d45997e29f2637c02f8a26af41073189d79b95d3321f1"}, - {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d6adb81564af0cd428910f83fa7da46ce9ad47c56c0b22b50872bc4515d91966"}, - {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:cafa48f2133d4daa028473ede7d81cd1b9f9e6925e9e4003ebdf77010ee02f35"}, - {file = "rpds_py-0.23.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fced9fd4a07a1ded1bac7e961ddd9753dd5d8b755ba8e05acba54a21f5f1522"}, - {file = "rpds_py-0.23.1-cp311-cp311-win32.whl", hash = "sha256:243241c95174b5fb7204c04595852fe3943cc41f47aa14c3828bc18cd9d3b2d6"}, - {file = "rpds_py-0.23.1-cp311-cp311-win_amd64.whl", hash = "sha256:11dd60b2ffddba85715d8a66bb39b95ddbe389ad2cfcf42c833f1bcde0878eaf"}, - {file = "rpds_py-0.23.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3902df19540e9af4cc0c3ae75974c65d2c156b9257e91f5101a51f99136d834c"}, - {file = "rpds_py-0.23.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:66f8d2a17e5838dd6fb9be6baaba8e75ae2f5fa6b6b755d597184bfcd3cb0eba"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:112b8774b0b4ee22368fec42749b94366bd9b536f8f74c3d4175d4395f5cbd31"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0df046f2266e8586cf09d00588302a32923eb6386ced0ca5c9deade6af9a149"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3288930b947cbebe767f84cf618d2cbe0b13be476e749da0e6a009f986248c"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce473a2351c018b06dd8d30d5da8ab5a0831056cc53b2006e2a8028172c37ce5"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d550d7e9e7d8676b183b37d65b5cd8de13676a738973d330b59dc8312df9c5dc"}, - {file = "rpds_py-0.23.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e14f86b871ea74c3fddc9a40e947d6a5d09def5adc2076ee61fb910a9014fb35"}, - {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf5be5ba34e19be579ae873da515a2836a2166d8d7ee43be6ff909eda42b72b"}, - {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d7031d493c4465dbc8d40bd6cafefef4bd472b17db0ab94c53e7909ee781b9ef"}, - {file = "rpds_py-0.23.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:55ff4151cfd4bc635e51cfb1c59ac9f7196b256b12e3a57deb9e5742e65941ad"}, - {file = "rpds_py-0.23.1-cp312-cp312-win32.whl", hash = "sha256:a9d3b728f5a5873d84cba997b9d617c6090ca5721caaa691f3b1a78c60adc057"}, - {file = "rpds_py-0.23.1-cp312-cp312-win_amd64.whl", hash = "sha256:b03a8d50b137ee758e4c73638b10747b7c39988eb8e6cd11abb7084266455165"}, - {file = "rpds_py-0.23.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:4caafd1a22e5eaa3732acb7672a497123354bef79a9d7ceed43387d25025e935"}, - {file = "rpds_py-0.23.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:178f8a60fc24511c0eb756af741c476b87b610dba83270fce1e5a430204566a4"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c632419c3870507ca20a37c8f8f5352317aca097639e524ad129f58c125c61c6"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:698a79d295626ee292d1730bc2ef6e70a3ab135b1d79ada8fde3ed0047b65a10"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271fa2184cf28bdded86bb6217c8e08d3a169fe0bbe9be5e8d96e8476b707122"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b91cceb5add79ee563bd1f70b30896bd63bc5f78a11c1f00a1e931729ca4f1f4"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a6cb95074777f1ecda2ca4fa7717caa9ee6e534f42b7575a8f0d4cb0c24013"}, - {file = "rpds_py-0.23.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:50fb62f8d8364978478b12d5f03bf028c6bc2af04082479299139dc26edf4c64"}, - {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c8f7e90b948dc9dcfff8003f1ea3af08b29c062f681c05fd798e36daa3f7e3e8"}, - {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5b98b6c953e5c2bda51ab4d5b4f172617d462eebc7f4bfdc7c7e6b423f6da957"}, - {file = "rpds_py-0.23.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2893d778d4671ee627bac4037a075168b2673c57186fb1a57e993465dbd79a93"}, - {file = "rpds_py-0.23.1-cp313-cp313-win32.whl", hash = "sha256:2cfa07c346a7ad07019c33fb9a63cf3acb1f5363c33bc73014e20d9fe8b01cdd"}, - {file = "rpds_py-0.23.1-cp313-cp313-win_amd64.whl", hash = "sha256:3aaf141d39f45322e44fc2c742e4b8b4098ead5317e5f884770c8df0c332da70"}, - {file = "rpds_py-0.23.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:759462b2d0aa5a04be5b3e37fb8183615f47014ae6b116e17036b131985cb731"}, - {file = "rpds_py-0.23.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3e9212f52074fc9d72cf242a84063787ab8e21e0950d4d6709886fb62bcb91d5"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e9f3a3ac919406bc0414bbbd76c6af99253c507150191ea79fab42fdb35982a"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c04ca91dda8a61584165825907f5c967ca09e9c65fe8966ee753a3f2b019fe1e"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ab923167cfd945abb9b51a407407cf19f5bee35001221f2911dc85ffd35ff4f"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed6f011bedca8585787e5082cce081bac3d30f54520097b2411351b3574e1219"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6959bb9928c5c999aba4a3f5a6799d571ddc2c59ff49917ecf55be2bbb4e3722"}, - {file = "rpds_py-0.23.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1ed7de3c86721b4e83ac440751329ec6a1102229aa18163f84c75b06b525ad7e"}, - {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5fb89edee2fa237584e532fbf78f0ddd1e49a47c7c8cfa153ab4849dc72a35e6"}, - {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7e5413d2e2d86025e73f05510ad23dad5950ab8417b7fc6beaad99be8077138b"}, - {file = "rpds_py-0.23.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d31ed4987d72aabdf521eddfb6a72988703c091cfc0064330b9e5f8d6a042ff5"}, - {file = "rpds_py-0.23.1-cp313-cp313t-win32.whl", hash = "sha256:f3429fb8e15b20961efca8c8b21432623d85db2228cc73fe22756c6637aa39e7"}, - {file = "rpds_py-0.23.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d6f6512a90bd5cd9030a6237f5346f046c6f0e40af98657568fa45695d4de59d"}, - {file = "rpds_py-0.23.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:09cd7dbcb673eb60518231e02874df66ec1296c01a4fcd733875755c02014b19"}, - {file = "rpds_py-0.23.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c6760211eee3a76316cf328f5a8bd695b47b1626d21c8a27fb3b2473a884d597"}, - {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e680c1518733b73c994361e4b06441b92e973ef7d9449feec72e8ee4f713da"}, - {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae28144c1daa61366205d32abd8c90372790ff79fc60c1a8ad7fd3c8553a600e"}, - {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c698d123ce5d8f2d0cd17f73336615f6a2e3bdcedac07a1291bb4d8e7d82a05a"}, - {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98b257ae1e83f81fb947a363a274c4eb66640212516becaff7bef09a5dceacaa"}, - {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c9ff044eb07c8468594d12602291c635da292308c8c619244e30698e7fc455a"}, - {file = "rpds_py-0.23.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7938c7b0599a05246d704b3f5e01be91a93b411d0d6cc62275f025293b8a11ce"}, - {file = "rpds_py-0.23.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e9cb79ecedfc156c0692257ac7ed415243b6c35dd969baa461a6888fc79f2f07"}, - {file = "rpds_py-0.23.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:7b77e07233925bd33fc0022b8537774423e4c6680b6436316c5075e79b6384f4"}, - {file = "rpds_py-0.23.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a970bfaf130c29a679b1d0a6e0f867483cea455ab1535fb427566a475078f27f"}, - {file = "rpds_py-0.23.1-cp39-cp39-win32.whl", hash = "sha256:4233df01a250b3984465faed12ad472f035b7cd5240ea3f7c76b7a7016084495"}, - {file = "rpds_py-0.23.1-cp39-cp39-win_amd64.whl", hash = "sha256:c617d7453a80e29d9973b926983b1e700a9377dbe021faa36041c78537d7b08c"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c1f8afa346ccd59e4e5630d5abb67aba6a9812fddf764fd7eb11f382a345f8cc"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fad784a31869747df4ac968a351e070c06ca377549e4ace94775aaa3ab33ee06"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a96fcac2f18e5a0a23a75cd27ce2656c66c11c127b0318e508aab436b77428"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3e77febf227a1dc3220159355dba68faa13f8dca9335d97504abf428469fb18b"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26bb3e8de93443d55e2e748e9fd87deb5f8075ca7bc0502cfc8be8687d69a2ec"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:db7707dde9143a67b8812c7e66aeb2d843fe33cc8e374170f4d2c50bd8f2472d"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eedaaccc9bb66581d4ae7c50e15856e335e57ef2734dbc5fd8ba3e2a4ab3cb6"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28358c54fffadf0ae893f6c1050e8f8853e45df22483b7fff2f6ab6152f5d8bf"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:633462ef7e61d839171bf206551d5ab42b30b71cac8f10a64a662536e057fdef"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a98f510d86f689fcb486dc59e6e363af04151e5260ad1bdddb5625c10f1e95f8"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e0397dd0b3955c61ef9b22838144aa4bef6f0796ba5cc8edfc64d468b93798b4"}, - {file = "rpds_py-0.23.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:75307599f0d25bf6937248e5ac4e3bde5ea72ae6618623b86146ccc7845ed00b"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3614d280bf7aab0d3721b5ce0e73434acb90a2c993121b6e81a1c15c665298ac"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e5963ea87f88bddf7edd59644a35a0feecf75f8985430124c253612d4f7d27ae"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad76f44f70aac3a54ceb1813ca630c53415da3a24fd93c570b2dfb4856591017"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2c6ae11e6e93728d86aafc51ced98b1658a0080a7dd9417d24bfb955bb09c3c2"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc869af5cba24d45fb0399b0cfdbcefcf6910bf4dee5d74036a57cf5264b3ff4"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c76b32eb2ab650a29e423525e84eb197c45504b1c1e6e17b6cc91fcfeb1a4b1d"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4263320ed887ed843f85beba67f8b2d1483b5947f2dc73a8b068924558bfeace"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7f9682a8f71acdf59fd554b82b1c12f517118ee72c0f3944eda461606dfe7eb9"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:754fba3084b70162a6b91efceee8a3f06b19e43dac3f71841662053c0584209a"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:a1c66e71ecfd2a4acf0e4bd75e7a3605afa8f9b28a3b497e4ba962719df2be57"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:8d67beb6002441faef8251c45e24994de32c4c8686f7356a1f601ad7c466f7c3"}, - {file = "rpds_py-0.23.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a1e17d8dc8e57d8e0fd21f8f0f0a5211b3fa258b2e444c2053471ef93fe25a00"}, - {file = "rpds_py-0.23.1.tar.gz", hash = "sha256:7f3240dcfa14d198dba24b8b9cb3b108c06b68d45b7babd9eefc1038fdf7e707"}, + {file = "rpds_py-0.25.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f4ad628b5174d5315761b67f212774a32f5bad5e61396d38108bd801c0a8f5d9"}, + {file = "rpds_py-0.25.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8c742af695f7525e559c16f1562cf2323db0e3f0fbdcabdf6865b095256b2d40"}, + {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:605ffe7769e24b1800b4d024d24034405d9404f0bc2f55b6db3362cd34145a6f"}, + {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ccc6f3ddef93243538be76f8e47045b4aad7a66a212cd3a0f23e34469473d36b"}, + {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f70316f760174ca04492b5ab01be631a8ae30cadab1d1081035136ba12738cfa"}, + {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1dafef8df605fdb46edcc0bf1573dea0d6d7b01ba87f85cd04dc855b2b4479e"}, + {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0701942049095741a8aeb298a31b203e735d1c61f4423511d2b1a41dcd8a16da"}, + {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e87798852ae0b37c88babb7f7bbbb3e3fecc562a1c340195b44c7e24d403e380"}, + {file = "rpds_py-0.25.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3bcce0edc1488906c2d4c75c94c70a0417e83920dd4c88fec1078c94843a6ce9"}, + {file = "rpds_py-0.25.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e2f6a2347d3440ae789505693a02836383426249d5293541cd712e07e7aecf54"}, + {file = "rpds_py-0.25.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4fd52d3455a0aa997734f3835cbc4c9f32571345143960e7d7ebfe7b5fbfa3b2"}, + {file = "rpds_py-0.25.1-cp310-cp310-win32.whl", hash = "sha256:3f0b1798cae2bbbc9b9db44ee068c556d4737911ad53a4e5093d09d04b3bbc24"}, + {file = "rpds_py-0.25.1-cp310-cp310-win_amd64.whl", hash = "sha256:3ebd879ab996537fc510a2be58c59915b5dd63bccb06d1ef514fee787e05984a"}, + {file = "rpds_py-0.25.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5f048bbf18b1f9120685c6d6bb70cc1a52c8cc11bdd04e643d28d3be0baf666d"}, + {file = "rpds_py-0.25.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4fbb0dbba559959fcb5d0735a0f87cdbca9e95dac87982e9b95c0f8f7ad10255"}, + {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4ca54b9cf9d80b4016a67a0193ebe0bcf29f6b0a96f09db942087e294d3d4c2"}, + {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ee3e26eb83d39b886d2cb6e06ea701bba82ef30a0de044d34626ede51ec98b0"}, + {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:89706d0683c73a26f76a5315d893c051324d771196ae8b13e6ffa1ffaf5e574f"}, + {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2013ee878c76269c7b557a9a9c042335d732e89d482606990b70a839635feb7"}, + {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45e484db65e5380804afbec784522de84fa95e6bb92ef1bd3325d33d13efaebd"}, + {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:48d64155d02127c249695abb87d39f0faf410733428d499867606be138161d65"}, + {file = "rpds_py-0.25.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:048893e902132fd6548a2e661fb38bf4896a89eea95ac5816cf443524a85556f"}, + {file = "rpds_py-0.25.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0317177b1e8691ab5879f4f33f4b6dc55ad3b344399e23df2e499de7b10a548d"}, + {file = "rpds_py-0.25.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bffcf57826d77a4151962bf1701374e0fc87f536e56ec46f1abdd6a903354042"}, + {file = "rpds_py-0.25.1-cp311-cp311-win32.whl", hash = "sha256:cda776f1967cb304816173b30994faaf2fd5bcb37e73118a47964a02c348e1bc"}, + {file = "rpds_py-0.25.1-cp311-cp311-win_amd64.whl", hash = "sha256:dc3c1ff0abc91444cd20ec643d0f805df9a3661fcacf9c95000329f3ddf268a4"}, + {file = "rpds_py-0.25.1-cp311-cp311-win_arm64.whl", hash = "sha256:5a3ddb74b0985c4387719fc536faced33cadf2172769540c62e2a94b7b9be1c4"}, + {file = "rpds_py-0.25.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c"}, + {file = "rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b"}, + {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa"}, + {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda"}, + {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309"}, + {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b"}, + {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea"}, + {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65"}, + {file = "rpds_py-0.25.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c"}, + {file = "rpds_py-0.25.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd"}, + {file = "rpds_py-0.25.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb"}, + {file = "rpds_py-0.25.1-cp312-cp312-win32.whl", hash = "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe"}, + {file = "rpds_py-0.25.1-cp312-cp312-win_amd64.whl", hash = "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192"}, + {file = "rpds_py-0.25.1-cp312-cp312-win_arm64.whl", hash = "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728"}, + {file = "rpds_py-0.25.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559"}, + {file = "rpds_py-0.25.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1"}, + {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c"}, + {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb"}, + {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40"}, + {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79"}, + {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325"}, + {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295"}, + {file = "rpds_py-0.25.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b"}, + {file = "rpds_py-0.25.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98"}, + {file = "rpds_py-0.25.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd"}, + {file = "rpds_py-0.25.1-cp313-cp313-win32.whl", hash = "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31"}, + {file = "rpds_py-0.25.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500"}, + {file = "rpds_py-0.25.1-cp313-cp313-win_arm64.whl", hash = "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5"}, + {file = "rpds_py-0.25.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129"}, + {file = "rpds_py-0.25.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d"}, + {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72"}, + {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34"}, + {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9"}, + {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5"}, + {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194"}, + {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6"}, + {file = "rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78"}, + {file = "rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72"}, + {file = "rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66"}, + {file = "rpds_py-0.25.1-cp313-cp313t-win32.whl", hash = "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523"}, + {file = "rpds_py-0.25.1-cp313-cp313t-win_amd64.whl", hash = "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763"}, + {file = "rpds_py-0.25.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ce4c8e485a3c59593f1a6f683cf0ea5ab1c1dc94d11eea5619e4fb5228b40fbd"}, + {file = "rpds_py-0.25.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d8222acdb51a22929c3b2ddb236b69c59c72af4019d2cba961e2f9add9b6e634"}, + {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4593c4eae9b27d22df41cde518b4b9e4464d139e4322e2127daa9b5b981b76be"}, + {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd035756830c712b64725a76327ce80e82ed12ebab361d3a1cdc0f51ea21acb0"}, + {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:114a07e85f32b125404f28f2ed0ba431685151c037a26032b213c882f26eb908"}, + {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dec21e02e6cc932538b5203d3a8bd6aa1480c98c4914cb88eea064ecdbc6396a"}, + {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09eab132f41bf792c7a0ea1578e55df3f3e7f61888e340779b06050a9a3f16e9"}, + {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c98f126c4fc697b84c423e387337d5b07e4a61e9feac494362a59fd7a2d9ed80"}, + {file = "rpds_py-0.25.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0e6a327af8ebf6baba1c10fadd04964c1965d375d318f4435d5f3f9651550f4a"}, + {file = "rpds_py-0.25.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:bc120d1132cff853ff617754196d0ac0ae63befe7c8498bd67731ba368abe451"}, + {file = "rpds_py-0.25.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:140f61d9bed7839446bdd44852e30195c8e520f81329b4201ceead4d64eb3a9f"}, + {file = "rpds_py-0.25.1-cp39-cp39-win32.whl", hash = "sha256:9c006f3aadeda131b438c3092124bd196b66312f0caa5823ef09585a669cf449"}, + {file = "rpds_py-0.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:a61d0b2c7c9a0ae45732a77844917b427ff16ad5464b4d4f5e4adb955f582890"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c9409b47ba0650544b0bb3c188243b83654dfe55dcc173a86832314e1a6a35d"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:796ad874c89127c91970652a4ee8b00d56368b7e00d3477f4415fe78164c8000"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85608eb70a659bf4c1142b2781083d4b7c0c4e2c90eff11856a9754e965b2540"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4feb9211d15d9160bc85fa72fed46432cdc143eb9cf6d5ca377335a921ac37b"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ccfa689b9246c48947d31dd9d8b16d89a0ecc8e0e26ea5253068efb6c542b76e"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3c5b317ecbd8226887994852e85de562f7177add602514d4ac40f87de3ae45a8"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:454601988aab2c6e8fd49e7634c65476b2b919647626208e376afcd22019eeb8"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:1c0c434a53714358532d13539272db75a5ed9df75a4a090a753ac7173ec14e11"}, + {file = "rpds_py-0.25.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f73ce1512e04fbe2bc97836e89830d6b4314c171587a99688082d090f934d20a"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ee86d81551ec68a5c25373c5643d343150cc54672b5e9a0cafc93c1870a53954"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:89c24300cd4a8e4a51e55c31a8ff3918e6651b241ee8876a42cc2b2a078533ba"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:771c16060ff4e79584dc48902a91ba79fd93eade3aa3a12d6d2a4aadaf7d542b"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:785ffacd0ee61c3e60bdfde93baa6d7c10d86f15655bd706c89da08068dc5038"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a40046a529cc15cef88ac5ab589f83f739e2d332cb4d7399072242400ed68c9"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85fc223d9c76cabe5d0bff82214459189720dc135db45f9f66aa7cffbf9ff6c1"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0be9965f93c222fb9b4cc254235b3b2b215796c03ef5ee64f995b1b69af0762"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8378fa4a940f3fb509c081e06cb7f7f2adae8cf46ef258b0e0ed7519facd573e"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf"}, + {file = "rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:50f2c501a89c9a5f4e454b126193c5495b9fb441a75b298c60591d8a2eb92e1b"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d779b325cc8238227c47fbc53964c8cc9a941d5dbae87aa007a1f08f2f77b23"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:036ded36bedb727beeabc16dc1dad7cb154b3fa444e936a03b67a86dc6a5066e"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:245550f5a1ac98504147cba96ffec8fabc22b610742e9150138e5d60774686d7"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff7c23ba0a88cb7b104281a99476cccadf29de2a0ef5ce864959a52675b1ca83"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e37caa8cdb3b7cf24786451a0bdb853f6347b8b92005eeb64225ae1db54d1c2b"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2f48ab00181600ee266a095fe815134eb456163f7d6699f525dee471f312cf"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e5fc7484fa7dce57e25063b0ec9638ff02a908304f861d81ea49273e43838c1"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:d3c10228d6cf6fe2b63d2e7985e94f6916fa46940df46b70449e9ff9297bd3d1"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:5d9e40f32745db28c1ef7aad23f6fc458dc1e29945bd6781060f0d15628b8ddf"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:35a8d1a24b5936b35c5003313bc177403d8bdef0f8b24f28b1c4a255f94ea992"}, + {file = "rpds_py-0.25.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6099263f526efff9cf3883dfef505518730f7a7a93049b1d90d42e50a22b4793"}, + {file = "rpds_py-0.25.1.tar.gz", hash = "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3"}, ] [[package]] @@ -1537,14 +1572,14 @@ files = [ [[package]] name = "snowballstemmer" -version = "2.2.0" -description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +version = "3.0.1" +description = "This package provides 32 stemmers for 30 languages generated from Snowball algorithms." optional = false -python-versions = "*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*" groups = ["docs"] files = [ - {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, - {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, + {file = "snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064"}, + {file = "snowballstemmer-3.0.1.tar.gz", hash = "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895"}, ] [[package]] @@ -1562,14 +1597,14 @@ markers = {main = "extra == \"check-laws\""} [[package]] name = "soupsieve" -version = "2.6" +version = "2.7" description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" groups = ["docs"] files = [ - {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, - {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, + {file = "soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4"}, + {file = "soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a"}, ] [[package]] @@ -1871,20 +1906,20 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "wemake-python-styleguide" -version = "1.0.0" +version = "1.1.0" description = "The strictest and most opinionated python linter ever" optional = false python-versions = "<4.0,>=3.10" groups = ["dev"] files = [ - {file = "wemake_python_styleguide-1.0.0-py3-none-any.whl", hash = "sha256:c0cc3fe2a2aa8d7ca76f02bc27bfe344c76ed9652f94859c241b96f0fcefa9ac"}, - {file = "wemake_python_styleguide-1.0.0.tar.gz", hash = "sha256:00e96dc73faf5471b21d4baa5041f457c19739cf14677832429be69e5f4f7964"}, + {file = "wemake_python_styleguide-1.1.0-py3-none-any.whl", hash = "sha256:32644cf35f6cd4c49c2d36e7b10336f8fe105250ba79365e27c5fa648bfc0616"}, + {file = "wemake_python_styleguide-1.1.0.tar.gz", hash = "sha256:a9086e4867560c06fe47deb2101c72d1a1fd7ecb7a3235b297b6e02e9298e71e"}, ] [package.dependencies] attrs = "*" flake8 = ">=7.1,<8.0" -pygments = ">=2.4,<3.0" +pygments = ">=2.5,<3.0" [extras] check-laws = ["hypothesis", "pytest"] diff --git a/pyproject.toml b/pyproject.toml index c9c6edfa..c3c49c97 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,7 +54,7 @@ python = "^3.10" typing-extensions = ">=4.0,<5.0" pytest = { version = "^8.0", optional = true } hypothesis = { version = "^6.122", optional = true } -mypy = { version = ">=1.12,<1.16", optional = true } +mypy = { version = ">=1.12,<1.17", optional = true } [tool.poetry.group.dev.dependencies] anyio = "^4.3" From 28880ba3480593dad82ead3d1fd9d6d4a219c682 Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Fri, 30 May 2025 16:46:55 +0900 Subject: [PATCH 02/14] Add logic to support mypy 1.16.0 --- returns/contrib/mypy/_features/kind.py | 11 ++++++- returns/contrib/mypy/_typeops/analtype.py | 32 ++++++++++++++----- .../test_custom_strategy_for_callable.py | 4 +-- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/returns/contrib/mypy/_features/kind.py b/returns/contrib/mypy/_features/kind.py index a14185d5..1481c3ae 100644 --- a/returns/contrib/mypy/_features/kind.py +++ b/returns/contrib/mypy/_features/kind.py @@ -1,5 +1,6 @@ from collections.abc import Sequence from enum import Enum, unique +from typing import Any from mypy.checkmember import analyze_member_access from mypy.plugin import ( @@ -21,6 +22,7 @@ get_proper_type, ) from mypy.types import Type as MypyType +from mypy.version import __version__ as mypy_version from returns.contrib.mypy._typeops.fallback import asserts_fallback_to_any from returns.contrib.mypy._typeops.visitor import translate_kind_instance @@ -62,6 +64,13 @@ def attribute_access(ctx: AttributeContext) -> MypyType: return ctx.default_attr_type exprchecker = ctx.api.expr_checker # type: ignore + mypy_version_tuple = tuple( + map(int, mypy_version.partition('+')[0].split('.')) + ) + + extra_kwargs: dict[str, Any] = {} + if mypy_version_tuple < (1, 16): + extra_kwargs['msg'] = ctx.api.msg return analyze_member_access( ctx.context.name, # type: ignore accessed, @@ -69,10 +78,10 @@ def attribute_access(ctx: AttributeContext) -> MypyType: is_lvalue=False, is_super=False, is_operator=False, - msg=ctx.api.msg, original_type=instance, chk=ctx.api, # type: ignore in_literal_context=exprchecker.is_literal_context(), + **extra_kwargs, ) diff --git a/returns/contrib/mypy/_typeops/analtype.py b/returns/contrib/mypy/_typeops/analtype.py index 9b7c845a..4684c962 100644 --- a/returns/contrib/mypy/_typeops/analtype.py +++ b/returns/contrib/mypy/_typeops/analtype.py @@ -1,10 +1,12 @@ +from collections.abc import Sequence from types import MappingProxyType -from typing import Final, Literal, overload +from typing import Any, Final, Literal, overload from mypy.checkmember import analyze_member_access from mypy.nodes import ARG_NAMED, ARG_OPT from mypy.types import CallableType, FunctionLike, ProperType, get_proper_type from mypy.types import Type as MypyType +from mypy.version import __version__ as mypy_version from returns.contrib.mypy._structures.args import FuncArg from returns.contrib.mypy._structures.types import CallableContext @@ -21,7 +23,7 @@ @overload def analyze_call( function: FunctionLike, - args: list[FuncArg], + args: Sequence[FuncArg], ctx: CallableContext, *, show_errors: Literal[True], @@ -31,14 +33,20 @@ def analyze_call( @overload def analyze_call( function: FunctionLike, - args: list[FuncArg], + args: Sequence[FuncArg], ctx: CallableContext, *, show_errors: bool, ) -> CallableType | None: ... -def analyze_call(function, args, ctx, *, show_errors): +def analyze_call( + function: FunctionLike, + args: Sequence[FuncArg], + ctx: CallableContext, + *, + show_errors: bool, +) -> CallableType | None: """ Analyzes function call based on passed arguments. @@ -48,7 +56,7 @@ def analyze_call(function, args, ctx, *, show_errors): We also allow to return ``None`` instead of showing errors. This might be helpful for cases when we run intermediate analysis. """ - checker = ctx.api.expr_checker + checker = ctx.api.expr_checker # type: ignore[attr-defined] with checker.msg.filter_errors(save_filtered_errors=True) as local_errors: _return_type, checked_function = checker.check_call( function, @@ -63,7 +71,7 @@ def analyze_call(function, args, ctx, *, show_errors): checker.msg.add_errors(local_errors.filtered_errors()) # noqa: WPS441 - return checked_function + return checked_function # type: ignore[no-any-return] def safe_translate_to_function( @@ -110,6 +118,15 @@ def translate_to_function( This also preserves all type arguments as-is. """ checker = ctx.api.expr_checker # type: ignore + + mypy_version_tuple = tuple( + map(int, mypy_version.partition('+')[0].split('.')) + ) + + extra_kwargs: dict[str, Any] = {} + if mypy_version_tuple > (1, 16): + extra_kwargs['msg'] = checker.msg + return get_proper_type( analyze_member_access( '__call__', @@ -118,9 +135,8 @@ def translate_to_function( is_lvalue=False, is_super=False, is_operator=True, - msg=checker.msg, original_type=function_def, chk=checker.chk, - in_literal_context=checker.is_literal_context(), + **extra_kwargs, ) ) diff --git a/tests/test_contrib/test_hypothesis/test_laws/test_custom_strategy_for_callable.py b/tests/test_contrib/test_hypothesis/test_laws/test_custom_strategy_for_callable.py index 85287330..9cee7cfc 100644 --- a/tests/test_contrib/test_hypothesis/test_laws/test_custom_strategy_for_callable.py +++ b/tests/test_contrib/test_hypothesis/test_laws/test_custom_strategy_for_callable.py @@ -120,8 +120,8 @@ def do_nothing( def _callable_strategy( arg1: type[object], arg2: type[object] ) -> StrategyFactory[Callable]: - type_arg1 = int if arg1 == Any else arg1 # type: ignore[comparison-overlap] - type_arg2 = int if arg2 == Any else arg2 # type: ignore[comparison-overlap] + type_arg1 = int if arg1 == Any else arg1 + type_arg2 = int if arg2 == Any else arg2 return_results = st.functions( pure=True, returns=strategy_from_container(Result)(Result[type_arg1, type_arg2]), # type: ignore[valid-type] From 6bfb734526e492fcc9205c8c2a92fe84d5b17f0b Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Fri, 30 May 2025 16:55:24 +0900 Subject: [PATCH 03/14] Use importlib's metadata to get the version --- returns/contrib/mypy/_features/kind.py | 3 ++- returns/contrib/mypy/_typeops/analtype.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/returns/contrib/mypy/_features/kind.py b/returns/contrib/mypy/_features/kind.py index 1481c3ae..a39f9adf 100644 --- a/returns/contrib/mypy/_features/kind.py +++ b/returns/contrib/mypy/_features/kind.py @@ -1,5 +1,6 @@ from collections.abc import Sequence from enum import Enum, unique +from importlib.metadata import version from typing import Any from mypy.checkmember import analyze_member_access @@ -22,7 +23,6 @@ get_proper_type, ) from mypy.types import Type as MypyType -from mypy.version import __version__ as mypy_version from returns.contrib.mypy._typeops.fallback import asserts_fallback_to_any from returns.contrib.mypy._typeops.visitor import translate_kind_instance @@ -64,6 +64,7 @@ def attribute_access(ctx: AttributeContext) -> MypyType: return ctx.default_attr_type exprchecker = ctx.api.expr_checker # type: ignore + mypy_version = version('mypy') mypy_version_tuple = tuple( map(int, mypy_version.partition('+')[0].split('.')) ) diff --git a/returns/contrib/mypy/_typeops/analtype.py b/returns/contrib/mypy/_typeops/analtype.py index 4684c962..cb19b450 100644 --- a/returns/contrib/mypy/_typeops/analtype.py +++ b/returns/contrib/mypy/_typeops/analtype.py @@ -1,4 +1,5 @@ from collections.abc import Sequence +from importlib.metadata import version from types import MappingProxyType from typing import Any, Final, Literal, overload @@ -6,7 +7,6 @@ from mypy.nodes import ARG_NAMED, ARG_OPT from mypy.types import CallableType, FunctionLike, ProperType, get_proper_type from mypy.types import Type as MypyType -from mypy.version import __version__ as mypy_version from returns.contrib.mypy._structures.args import FuncArg from returns.contrib.mypy._structures.types import CallableContext @@ -119,6 +119,7 @@ def translate_to_function( """ checker = ctx.api.expr_checker # type: ignore + mypy_version = version('mypy') mypy_version_tuple = tuple( map(int, mypy_version.partition('+')[0].split('.')) ) From bf36927604ca2b161b4258c1be79da2bd9aed637 Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Tue, 3 Jun 2025 10:53:31 +0900 Subject: [PATCH 04/14] Pinned `wemake-python-styleguide` to `1.0` as per PR request --- poetry.lock | 8 ++++---- pyproject.toml | 44 ++++++++++++++++++++++---------------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/poetry.lock b/poetry.lock index 12eb3bf7..008bc174 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1906,20 +1906,20 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "wemake-python-styleguide" -version = "1.1.0" +version = "1.0.0" description = "The strictest and most opinionated python linter ever" optional = false python-versions = "<4.0,>=3.10" groups = ["dev"] files = [ - {file = "wemake_python_styleguide-1.1.0-py3-none-any.whl", hash = "sha256:32644cf35f6cd4c49c2d36e7b10336f8fe105250ba79365e27c5fa648bfc0616"}, - {file = "wemake_python_styleguide-1.1.0.tar.gz", hash = "sha256:a9086e4867560c06fe47deb2101c72d1a1fd7ecb7a3235b297b6e02e9298e71e"}, + {file = "wemake_python_styleguide-1.0.0-py3-none-any.whl", hash = "sha256:c0cc3fe2a2aa8d7ca76f02bc27bfe344c76ed9652f94859c241b96f0fcefa9ac"}, + {file = "wemake_python_styleguide-1.0.0.tar.gz", hash = "sha256:00e96dc73faf5471b21d4baa5041f457c19739cf14677832429be69e5f4f7964"}, ] [package.dependencies] attrs = "*" flake8 = ">=7.1,<8.0" -pygments = ">=2.5,<3.0" +pygments = ">=2.4,<3.0" [extras] check-laws = ["hypothesis", "pytest"] diff --git a/pyproject.toml b/pyproject.toml index c3c49c97..4d55aee0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] build-backend = "poetry.core.masonry.api" -requires = [ "poetry-core>=2" ] +requires = ["poetry-core>=2"] [tool.poetry] name = "returns" @@ -8,9 +8,7 @@ version = "0.25.0" description = "Make your functions return something meaningful, typed, and safe!" license = "BSD-3-Clause" -authors = [ - "sobolevn ", -] +authors = ["sobolevn "] readme = "README.md" @@ -62,7 +60,7 @@ trio = ">=0.28,<0.31" attrs = ">=24.2,<26.0" httpx = "^0.28" -wemake-python-styleguide = "^1.0" +wemake-python-styleguide = "1.0" codespell = "^2.2" slotscheck = "^0.19" ruff = ">=0.11,<0.13" @@ -87,8 +85,8 @@ myst-parser = "^4.0" tomli = "^2.0" [tool.poetry.extras] -compatible-mypy = [ "mypy" ] -check-laws = [ "pytest", "hypothesis" ] +compatible-mypy = ["mypy"] +check-laws = ["pytest", "hypothesis"] [tool.ruff] # Ruff config: https://docs.astral.sh/ruff/settings @@ -159,16 +157,16 @@ lint.ignore = [ "PLR6301", # do not require classmethod / staticmethod when self not used "TRY003", # long exception messages from `tryceratops` ] -lint.per-file-ignores."*.pyi" = [ "D103" ] -lint.per-file-ignores."returns/context/__init__.py" = [ "F401", "PLC0414" ] -lint.per-file-ignores."returns/contrib/mypy/*.py" = [ "S101" ] -lint.per-file-ignores."returns/contrib/mypy/_typeops/visitor.py" = [ "S101" ] -lint.per-file-ignores."returns/contrib/pytest/__init__.py" = [ "F401", "PLC0414" ] -lint.per-file-ignores."returns/interfaces/*.py" = [ "S101" ] -lint.per-file-ignores."returns/methods/__init__.py" = [ "F401", "PLC0414" ] -lint.per-file-ignores."returns/pipeline.py" = [ "F401", "PLC0414" ] -lint.per-file-ignores."returns/pointfree/__init__.py" = [ "F401", "PLC0414" ] -lint.per-file-ignores."returns/primitives/asserts.py" = [ "S101" ] +lint.per-file-ignores."*.pyi" = ["D103"] +lint.per-file-ignores."returns/context/__init__.py" = ["F401", "PLC0414"] +lint.per-file-ignores."returns/contrib/mypy/*.py" = ["S101"] +lint.per-file-ignores."returns/contrib/mypy/_typeops/visitor.py" = ["S101"] +lint.per-file-ignores."returns/contrib/pytest/__init__.py" = ["F401", "PLC0414"] +lint.per-file-ignores."returns/interfaces/*.py" = ["S101"] +lint.per-file-ignores."returns/methods/__init__.py" = ["F401", "PLC0414"] +lint.per-file-ignores."returns/pipeline.py" = ["F401", "PLC0414"] +lint.per-file-ignores."returns/pointfree/__init__.py" = ["F401", "PLC0414"] +lint.per-file-ignores."returns/primitives/asserts.py" = ["S101"] lint.per-file-ignores."tests/*.py" = [ "RUF029", # allow async functions to not use `await` "S101", # asserts @@ -177,18 +175,20 @@ lint.per-file-ignores."tests/*.py" = [ "S603", # do not require `shell=True` "S607", # partial executable paths ] -lint.per-file-ignores."tests/test_examples/*" = [ "D102" ] +lint.per-file-ignores."tests/test_examples/*" = ["D102"] lint.per-file-ignores."tests/test_examples/test_maybe/test_maybe_pattern_matching.py" = [ "D101", "D103", "F811", ] -lint.per-file-ignores."tests/test_examples/test_result/test_result_pattern_matching.py" = [ "D103" ] -lint.per-file-ignores."tests/test_pattern_matching.py" = [ "S101" ] -lint.external = [ "WPS" ] +lint.per-file-ignores."tests/test_examples/test_result/test_result_pattern_matching.py" = [ + "D103", +] +lint.per-file-ignores."tests/test_pattern_matching.py" = ["S101"] +lint.external = ["WPS"] lint.flake8-quotes.inline-quotes = "single" lint.mccabe.max-complexity = 6 -lint.pep8-naming.staticmethod-decorators = [ "law_definition", "staticmethod" ] +lint.pep8-naming.staticmethod-decorators = ["law_definition", "staticmethod"] lint.pydocstyle.convention = "google" [tool.slotscheck] From 6c03ad48fc2a0f3852acac88bc7e0a902d15fd38 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 3 Jun 2025 01:56:16 +0000 Subject: [PATCH 05/14] [pre-commit.ci] auto fixes from pre-commit.com hooks --- pyproject.toml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4d55aee0..3e52f10b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] build-backend = "poetry.core.masonry.api" -requires = ["poetry-core>=2"] +requires = [ "poetry-core>=2" ] [tool.poetry] name = "returns" @@ -8,7 +8,7 @@ version = "0.25.0" description = "Make your functions return something meaningful, typed, and safe!" license = "BSD-3-Clause" -authors = ["sobolevn "] +authors = [ "sobolevn " ] readme = "README.md" @@ -85,8 +85,8 @@ myst-parser = "^4.0" tomli = "^2.0" [tool.poetry.extras] -compatible-mypy = ["mypy"] -check-laws = ["pytest", "hypothesis"] +compatible-mypy = [ "mypy" ] +check-laws = [ "pytest", "hypothesis" ] [tool.ruff] # Ruff config: https://docs.astral.sh/ruff/settings @@ -157,16 +157,16 @@ lint.ignore = [ "PLR6301", # do not require classmethod / staticmethod when self not used "TRY003", # long exception messages from `tryceratops` ] -lint.per-file-ignores."*.pyi" = ["D103"] -lint.per-file-ignores."returns/context/__init__.py" = ["F401", "PLC0414"] -lint.per-file-ignores."returns/contrib/mypy/*.py" = ["S101"] -lint.per-file-ignores."returns/contrib/mypy/_typeops/visitor.py" = ["S101"] -lint.per-file-ignores."returns/contrib/pytest/__init__.py" = ["F401", "PLC0414"] -lint.per-file-ignores."returns/interfaces/*.py" = ["S101"] -lint.per-file-ignores."returns/methods/__init__.py" = ["F401", "PLC0414"] -lint.per-file-ignores."returns/pipeline.py" = ["F401", "PLC0414"] -lint.per-file-ignores."returns/pointfree/__init__.py" = ["F401", "PLC0414"] -lint.per-file-ignores."returns/primitives/asserts.py" = ["S101"] +lint.per-file-ignores."*.pyi" = [ "D103" ] +lint.per-file-ignores."returns/context/__init__.py" = [ "F401", "PLC0414" ] +lint.per-file-ignores."returns/contrib/mypy/*.py" = [ "S101" ] +lint.per-file-ignores."returns/contrib/mypy/_typeops/visitor.py" = [ "S101" ] +lint.per-file-ignores."returns/contrib/pytest/__init__.py" = [ "F401", "PLC0414" ] +lint.per-file-ignores."returns/interfaces/*.py" = [ "S101" ] +lint.per-file-ignores."returns/methods/__init__.py" = [ "F401", "PLC0414" ] +lint.per-file-ignores."returns/pipeline.py" = [ "F401", "PLC0414" ] +lint.per-file-ignores."returns/pointfree/__init__.py" = [ "F401", "PLC0414" ] +lint.per-file-ignores."returns/primitives/asserts.py" = [ "S101" ] lint.per-file-ignores."tests/*.py" = [ "RUF029", # allow async functions to not use `await` "S101", # asserts @@ -175,7 +175,7 @@ lint.per-file-ignores."tests/*.py" = [ "S603", # do not require `shell=True` "S607", # partial executable paths ] -lint.per-file-ignores."tests/test_examples/*" = ["D102"] +lint.per-file-ignores."tests/test_examples/*" = [ "D102" ] lint.per-file-ignores."tests/test_examples/test_maybe/test_maybe_pattern_matching.py" = [ "D101", "D103", @@ -184,11 +184,11 @@ lint.per-file-ignores."tests/test_examples/test_maybe/test_maybe_pattern_matchin lint.per-file-ignores."tests/test_examples/test_result/test_result_pattern_matching.py" = [ "D103", ] -lint.per-file-ignores."tests/test_pattern_matching.py" = ["S101"] -lint.external = ["WPS"] +lint.per-file-ignores."tests/test_pattern_matching.py" = [ "S101" ] +lint.external = [ "WPS" ] lint.flake8-quotes.inline-quotes = "single" lint.mccabe.max-complexity = 6 -lint.pep8-naming.staticmethod-decorators = ["law_definition", "staticmethod"] +lint.pep8-naming.staticmethod-decorators = [ "law_definition", "staticmethod" ] lint.pydocstyle.convention = "google" [tool.slotscheck] From 7f3022012228ae5b00e618fdf212c05a09c94988 Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Tue, 22 Jul 2025 16:15:44 +0900 Subject: [PATCH 06/14] Update Project configuration and dependencies lockfile --- poetry.lock | 523 ++++++++++++++++++++++++++----------------------- pyproject.toml | 2 +- setup.cfg | 4 - 3 files changed, 276 insertions(+), 253 deletions(-) diff --git a/poetry.lock b/poetry.lock index 008bc174..3cce1029 100644 --- a/poetry.lock +++ b/poetry.lock @@ -114,14 +114,14 @@ lxml = ["lxml"] [[package]] name = "certifi" -version = "2025.4.26" +version = "2025.7.14" description = "Python package for providing Mozilla's CA Bundle." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" groups = ["dev", "docs"] files = [ - {file = "certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3"}, - {file = "certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6"}, + {file = "certifi-2025.7.14-py3-none-any.whl", hash = "sha256:6b31f564a415d79ee77df69d757bb49a5bb53bd9f756cbbe24394ffd6fc1f4b2"}, + {file = "certifi-2025.7.14.tar.gz", hash = "sha256:8ea99dbdfaaf2ba2f9bac77b9249ef62ec5218e7c2b2e903378ed5fccf765995"}, ] [[package]] @@ -370,79 +370,79 @@ coverage = ">=6.0.2" [[package]] name = "coverage" -version = "7.8.2" +version = "7.9.2" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "coverage-7.8.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd8ec21e1443fd7a447881332f7ce9d35b8fbd2849e761bb290b584535636b0a"}, - {file = "coverage-7.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4c26c2396674816deaeae7ded0e2b42c26537280f8fe313335858ffff35019be"}, - {file = "coverage-7.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1aec326ed237e5880bfe69ad41616d333712c7937bcefc1343145e972938f9b3"}, - {file = "coverage-7.8.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5e818796f71702d7a13e50c70de2a1924f729228580bcba1607cccf32eea46e6"}, - {file = "coverage-7.8.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:546e537d9e24efc765c9c891328f30f826e3e4808e31f5d0f87c4ba12bbd1622"}, - {file = "coverage-7.8.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ab9b09a2349f58e73f8ebc06fac546dd623e23b063e5398343c5270072e3201c"}, - {file = "coverage-7.8.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fd51355ab8a372d89fb0e6a31719e825cf8df8b6724bee942fb5b92c3f016ba3"}, - {file = "coverage-7.8.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0774df1e093acb6c9e4d58bce7f86656aeed6c132a16e2337692c12786b32404"}, - {file = "coverage-7.8.2-cp310-cp310-win32.whl", hash = "sha256:00f2e2f2e37f47e5f54423aeefd6c32a7dbcedc033fcd3928a4f4948e8b96af7"}, - {file = "coverage-7.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:145b07bea229821d51811bf15eeab346c236d523838eda395ea969d120d13347"}, - {file = "coverage-7.8.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b99058eef42e6a8dcd135afb068b3d53aff3921ce699e127602efff9956457a9"}, - {file = "coverage-7.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5feb7f2c3e6ea94d3b877def0270dff0947b8d8c04cfa34a17be0a4dc1836879"}, - {file = "coverage-7.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:670a13249b957bb9050fab12d86acef7bf8f6a879b9d1a883799276e0d4c674a"}, - {file = "coverage-7.8.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0bdc8bf760459a4a4187b452213e04d039990211f98644c7292adf1e471162b5"}, - {file = "coverage-7.8.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07a989c867986c2a75f158f03fdb413128aad29aca9d4dbce5fc755672d96f11"}, - {file = "coverage-7.8.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2db10dedeb619a771ef0e2949ccba7b75e33905de959c2643a4607bef2f3fb3a"}, - {file = "coverage-7.8.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e6ea7dba4e92926b7b5f0990634b78ea02f208d04af520c73a7c876d5a8d36cb"}, - {file = "coverage-7.8.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ef2f22795a7aca99fc3c84393a55a53dd18ab8c93fb431004e4d8f0774150f54"}, - {file = "coverage-7.8.2-cp311-cp311-win32.whl", hash = "sha256:641988828bc18a6368fe72355df5f1703e44411adbe49bba5644b941ce6f2e3a"}, - {file = "coverage-7.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:8ab4a51cb39dc1933ba627e0875046d150e88478dbe22ce145a68393e9652975"}, - {file = "coverage-7.8.2-cp311-cp311-win_arm64.whl", hash = "sha256:8966a821e2083c74d88cca5b7dcccc0a3a888a596a04c0b9668a891de3a0cc53"}, - {file = "coverage-7.8.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e2f6fe3654468d061942591aef56686131335b7a8325684eda85dacdf311356c"}, - {file = "coverage-7.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76090fab50610798cc05241bf83b603477c40ee87acd358b66196ab0ca44ffa1"}, - {file = "coverage-7.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2bd0a0a5054be160777a7920b731a0570284db5142abaaf81bcbb282b8d99279"}, - {file = "coverage-7.8.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da23ce9a3d356d0affe9c7036030b5c8f14556bd970c9b224f9c8205505e3b99"}, - {file = "coverage-7.8.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9392773cffeb8d7e042a7b15b82a414011e9d2b5fdbbd3f7e6a6b17d5e21b20"}, - {file = "coverage-7.8.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:876cbfd0b09ce09d81585d266c07a32657beb3eaec896f39484b631555be0fe2"}, - {file = "coverage-7.8.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3da9b771c98977a13fbc3830f6caa85cae6c9c83911d24cb2d218e9394259c57"}, - {file = "coverage-7.8.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a990f6510b3292686713bfef26d0049cd63b9c7bb17e0864f133cbfd2e6167f"}, - {file = "coverage-7.8.2-cp312-cp312-win32.whl", hash = "sha256:bf8111cddd0f2b54d34e96613e7fbdd59a673f0cf5574b61134ae75b6f5a33b8"}, - {file = "coverage-7.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:86a323a275e9e44cdf228af9b71c5030861d4d2610886ab920d9945672a81223"}, - {file = "coverage-7.8.2-cp312-cp312-win_arm64.whl", hash = "sha256:820157de3a589e992689ffcda8639fbabb313b323d26388d02e154164c57b07f"}, - {file = "coverage-7.8.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ea561010914ec1c26ab4188aef8b1567272ef6de096312716f90e5baa79ef8ca"}, - {file = "coverage-7.8.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cb86337a4fcdd0e598ff2caeb513ac604d2f3da6d53df2c8e368e07ee38e277d"}, - {file = "coverage-7.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26a4636ddb666971345541b59899e969f3b301143dd86b0ddbb570bd591f1e85"}, - {file = "coverage-7.8.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5040536cf9b13fb033f76bcb5e1e5cb3b57c4807fef37db9e0ed129c6a094257"}, - {file = "coverage-7.8.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc67994df9bcd7e0150a47ef41278b9e0a0ea187caba72414b71dc590b99a108"}, - {file = "coverage-7.8.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e6c86888fd076d9e0fe848af0a2142bf606044dc5ceee0aa9eddb56e26895a0"}, - {file = "coverage-7.8.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:684ca9f58119b8e26bef860db33524ae0365601492e86ba0b71d513f525e7050"}, - {file = "coverage-7.8.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8165584ddedb49204c4e18da083913bdf6a982bfb558632a79bdaadcdafd0d48"}, - {file = "coverage-7.8.2-cp313-cp313-win32.whl", hash = "sha256:34759ee2c65362163699cc917bdb2a54114dd06d19bab860725f94ef45a3d9b7"}, - {file = "coverage-7.8.2-cp313-cp313-win_amd64.whl", hash = "sha256:2f9bc608fbafaee40eb60a9a53dbfb90f53cc66d3d32c2849dc27cf5638a21e3"}, - {file = "coverage-7.8.2-cp313-cp313-win_arm64.whl", hash = "sha256:9fe449ee461a3b0c7105690419d0b0aba1232f4ff6d120a9e241e58a556733f7"}, - {file = "coverage-7.8.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8369a7c8ef66bded2b6484053749ff220dbf83cba84f3398c84c51a6f748a008"}, - {file = "coverage-7.8.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:159b81df53a5fcbc7d45dae3adad554fdbde9829a994e15227b3f9d816d00b36"}, - {file = "coverage-7.8.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6fcbbd35a96192d042c691c9e0c49ef54bd7ed865846a3c9d624c30bb67ce46"}, - {file = "coverage-7.8.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:05364b9cc82f138cc86128dc4e2e1251c2981a2218bfcd556fe6b0fbaa3501be"}, - {file = "coverage-7.8.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46d532db4e5ff3979ce47d18e2fe8ecad283eeb7367726da0e5ef88e4fe64740"}, - {file = "coverage-7.8.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4000a31c34932e7e4fa0381a3d6deb43dc0c8f458e3e7ea6502e6238e10be625"}, - {file = "coverage-7.8.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:43ff5033d657cd51f83015c3b7a443287250dc14e69910577c3e03bd2e06f27b"}, - {file = "coverage-7.8.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:94316e13f0981cbbba132c1f9f365cac1d26716aaac130866ca812006f662199"}, - {file = "coverage-7.8.2-cp313-cp313t-win32.whl", hash = "sha256:3f5673888d3676d0a745c3d0e16da338c5eea300cb1f4ada9c872981265e76d8"}, - {file = "coverage-7.8.2-cp313-cp313t-win_amd64.whl", hash = "sha256:2c08b05ee8d7861e45dc5a2cc4195c8c66dca5ac613144eb6ebeaff2d502e73d"}, - {file = "coverage-7.8.2-cp313-cp313t-win_arm64.whl", hash = "sha256:1e1448bb72b387755e1ff3ef1268a06617afd94188164960dba8d0245a46004b"}, - {file = "coverage-7.8.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:496948261eaac5ac9cf43f5d0a9f6eb7a6d4cb3bedb2c5d294138142f5c18f2a"}, - {file = "coverage-7.8.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eacd2de0d30871eff893bab0b67840a96445edcb3c8fd915e6b11ac4b2f3fa6d"}, - {file = "coverage-7.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b039ffddc99ad65d5078ef300e0c7eed08c270dc26570440e3ef18beb816c1ca"}, - {file = "coverage-7.8.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e49824808d4375ede9dd84e9961a59c47f9113039f1a525e6be170aa4f5c34d"}, - {file = "coverage-7.8.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b069938961dfad881dc2f8d02b47645cd2f455d3809ba92a8a687bf513839787"}, - {file = "coverage-7.8.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:de77c3ba8bb686d1c411e78ee1b97e6e0b963fb98b1637658dd9ad2c875cf9d7"}, - {file = "coverage-7.8.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1676628065a498943bd3f64f099bb573e08cf1bc6088bbe33cf4424e0876f4b3"}, - {file = "coverage-7.8.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8e1a26e7e50076e35f7afafde570ca2b4d7900a491174ca357d29dece5aacee7"}, - {file = "coverage-7.8.2-cp39-cp39-win32.whl", hash = "sha256:6782a12bf76fa61ad9350d5a6ef5f3f020b57f5e6305cbc663803f2ebd0f270a"}, - {file = "coverage-7.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:1efa4166ba75ccefd647f2d78b64f53f14fb82622bc94c5a5cb0a622f50f1c9e"}, - {file = "coverage-7.8.2-pp39.pp310.pp311-none-any.whl", hash = "sha256:ec455eedf3ba0bbdf8f5a570012617eb305c63cb9f03428d39bf544cb2b94837"}, - {file = "coverage-7.8.2-py3-none-any.whl", hash = "sha256:726f32ee3713f7359696331a18daf0c3b3a70bb0ae71141b9d3c52be7c595e32"}, - {file = "coverage-7.8.2.tar.gz", hash = "sha256:a886d531373a1f6ff9fad2a2ba4a045b68467b779ae729ee0b3b10ac20033b27"}, + {file = "coverage-7.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:66283a192a14a3854b2e7f3418d7db05cdf411012ab7ff5db98ff3b181e1f912"}, + {file = "coverage-7.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4e01d138540ef34fcf35c1aa24d06c3de2a4cffa349e29a10056544f35cca15f"}, + {file = "coverage-7.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f22627c1fe2745ee98d3ab87679ca73a97e75ca75eb5faee48660d060875465f"}, + {file = "coverage-7.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b1c2d8363247b46bd51f393f86c94096e64a1cf6906803fa8d5a9d03784bdbf"}, + {file = "coverage-7.9.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c10c882b114faf82dbd33e876d0cbd5e1d1ebc0d2a74ceef642c6152f3f4d547"}, + {file = "coverage-7.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:de3c0378bdf7066c3988d66cd5232d161e933b87103b014ab1b0b4676098fa45"}, + {file = "coverage-7.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:1e2f097eae0e5991e7623958a24ced3282676c93c013dde41399ff63e230fcf2"}, + {file = "coverage-7.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28dc1f67e83a14e7079b6cea4d314bc8b24d1aed42d3582ff89c0295f09b181e"}, + {file = "coverage-7.9.2-cp310-cp310-win32.whl", hash = "sha256:bf7d773da6af9e10dbddacbf4e5cab13d06d0ed93561d44dae0188a42c65be7e"}, + {file = "coverage-7.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:0c0378ba787681ab1897f7c89b415bd56b0b2d9a47e5a3d8dc0ea55aac118d6c"}, + {file = "coverage-7.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a7a56a2964a9687b6aba5b5ced6971af308ef6f79a91043c05dd4ee3ebc3e9ba"}, + {file = "coverage-7.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:123d589f32c11d9be7fe2e66d823a236fe759b0096f5db3fb1b75b2fa414a4fa"}, + {file = "coverage-7.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:333b2e0ca576a7dbd66e85ab402e35c03b0b22f525eed82681c4b866e2e2653a"}, + {file = "coverage-7.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:326802760da234baf9f2f85a39e4a4b5861b94f6c8d95251f699e4f73b1835dc"}, + {file = "coverage-7.9.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19e7be4cfec248df38ce40968c95d3952fbffd57b400d4b9bb580f28179556d2"}, + {file = "coverage-7.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0b4a4cb73b9f2b891c1788711408ef9707666501ba23684387277ededab1097c"}, + {file = "coverage-7.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:2c8937fa16c8c9fbbd9f118588756e7bcdc7e16a470766a9aef912dd3f117dbd"}, + {file = "coverage-7.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:42da2280c4d30c57a9b578bafd1d4494fa6c056d4c419d9689e66d775539be74"}, + {file = "coverage-7.9.2-cp311-cp311-win32.whl", hash = "sha256:14fa8d3da147f5fdf9d298cacc18791818f3f1a9f542c8958b80c228320e90c6"}, + {file = "coverage-7.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:549cab4892fc82004f9739963163fd3aac7a7b0df430669b75b86d293d2df2a7"}, + {file = "coverage-7.9.2-cp311-cp311-win_arm64.whl", hash = "sha256:c2667a2b913e307f06aa4e5677f01a9746cd08e4b35e14ebcde6420a9ebb4c62"}, + {file = "coverage-7.9.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ae9eb07f1cfacd9cfe8eaee6f4ff4b8a289a668c39c165cd0c8548484920ffc0"}, + {file = "coverage-7.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9ce85551f9a1119f02adc46d3014b5ee3f765deac166acf20dbb851ceb79b6f3"}, + {file = "coverage-7.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8f6389ac977c5fb322e0e38885fbbf901743f79d47f50db706e7644dcdcb6e1"}, + {file = "coverage-7.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff0d9eae8cdfcd58fe7893b88993723583a6ce4dfbfd9f29e001922544f95615"}, + {file = "coverage-7.9.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fae939811e14e53ed8a9818dad51d434a41ee09df9305663735f2e2d2d7d959b"}, + {file = "coverage-7.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:31991156251ec202c798501e0a42bbdf2169dcb0f137b1f5c0f4267f3fc68ef9"}, + {file = "coverage-7.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d0d67963f9cbfc7c7f96d4ac74ed60ecbebd2ea6eeb51887af0f8dce205e545f"}, + {file = "coverage-7.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:49b752a2858b10580969ec6af6f090a9a440a64a301ac1528d7ca5f7ed497f4d"}, + {file = "coverage-7.9.2-cp312-cp312-win32.whl", hash = "sha256:88d7598b8ee130f32f8a43198ee02edd16d7f77692fa056cb779616bbea1b355"}, + {file = "coverage-7.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:9dfb070f830739ee49d7c83e4941cc767e503e4394fdecb3b54bfdac1d7662c0"}, + {file = "coverage-7.9.2-cp312-cp312-win_arm64.whl", hash = "sha256:4e2c058aef613e79df00e86b6d42a641c877211384ce5bd07585ed7ba71ab31b"}, + {file = "coverage-7.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:985abe7f242e0d7bba228ab01070fde1d6c8fa12f142e43debe9ed1dde686038"}, + {file = "coverage-7.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82c3939264a76d44fde7f213924021ed31f55ef28111a19649fec90c0f109e6d"}, + {file = "coverage-7.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae5d563e970dbe04382f736ec214ef48103d1b875967c89d83c6e3f21706d5b3"}, + {file = "coverage-7.9.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdd612e59baed2a93c8843c9a7cb902260f181370f1d772f4842987535071d14"}, + {file = "coverage-7.9.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:256ea87cb2a1ed992bcdfc349d8042dcea1b80436f4ddf6e246d6bee4b5d73b6"}, + {file = "coverage-7.9.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f44ae036b63c8ea432f610534a2668b0c3aee810e7037ab9d8ff6883de480f5b"}, + {file = "coverage-7.9.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:82d76ad87c932935417a19b10cfe7abb15fd3f923cfe47dbdaa74ef4e503752d"}, + {file = "coverage-7.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:619317bb86de4193debc712b9e59d5cffd91dc1d178627ab2a77b9870deb2868"}, + {file = "coverage-7.9.2-cp313-cp313-win32.whl", hash = "sha256:0a07757de9feb1dfafd16ab651e0f628fd7ce551604d1bf23e47e1ddca93f08a"}, + {file = "coverage-7.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:115db3d1f4d3f35f5bb021e270edd85011934ff97c8797216b62f461dd69374b"}, + {file = "coverage-7.9.2-cp313-cp313-win_arm64.whl", hash = "sha256:48f82f889c80af8b2a7bb6e158d95a3fbec6a3453a1004d04e4f3b5945a02694"}, + {file = "coverage-7.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:55a28954545f9d2f96870b40f6c3386a59ba8ed50caf2d949676dac3ecab99f5"}, + {file = "coverage-7.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cdef6504637731a63c133bb2e6f0f0214e2748495ec15fe42d1e219d1b133f0b"}, + {file = "coverage-7.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcd5ebe66c7a97273d5d2ddd4ad0ed2e706b39630ed4b53e713d360626c3dbb3"}, + {file = "coverage-7.9.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9303aed20872d7a3c9cb39c5d2b9bdbe44e3a9a1aecb52920f7e7495410dfab8"}, + {file = "coverage-7.9.2-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc18ea9e417a04d1920a9a76fe9ebd2f43ca505b81994598482f938d5c315f46"}, + {file = "coverage-7.9.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6406cff19880aaaadc932152242523e892faff224da29e241ce2fca329866584"}, + {file = "coverage-7.9.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2d0d4f6ecdf37fcc19c88fec3e2277d5dee740fb51ffdd69b9579b8c31e4232e"}, + {file = "coverage-7.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c33624f50cf8de418ab2b4d6ca9eda96dc45b2c4231336bac91454520e8d1fac"}, + {file = "coverage-7.9.2-cp313-cp313t-win32.whl", hash = "sha256:1df6b76e737c6a92210eebcb2390af59a141f9e9430210595251fbaf02d46926"}, + {file = "coverage-7.9.2-cp313-cp313t-win_amd64.whl", hash = "sha256:f5fd54310b92741ebe00d9c0d1d7b2b27463952c022da6d47c175d246a98d1bd"}, + {file = "coverage-7.9.2-cp313-cp313t-win_arm64.whl", hash = "sha256:c48c2375287108c887ee87d13b4070a381c6537d30e8487b24ec721bf2a781cb"}, + {file = "coverage-7.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ddc39510ac922a5c4c27849b739f875d3e1d9e590d1e7b64c98dadf037a16cce"}, + {file = "coverage-7.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a535c0c7364acd55229749c2b3e5eebf141865de3a8f697076a3291985f02d30"}, + {file = "coverage-7.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df0f9ef28e0f20c767ccdccfc5ae5f83a6f4a2fbdfbcbcc8487a8a78771168c8"}, + {file = "coverage-7.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f3da12e0ccbcb348969221d29441ac714bbddc4d74e13923d3d5a7a0bebef7a"}, + {file = "coverage-7.9.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a17eaf46f56ae0f870f14a3cbc2e4632fe3771eab7f687eda1ee59b73d09fe4"}, + {file = "coverage-7.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:669135a9d25df55d1ed56a11bf555f37c922cf08d80799d4f65d77d7d6123fcf"}, + {file = "coverage-7.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9d3a700304d01a627df9db4322dc082a0ce1e8fc74ac238e2af39ced4c083193"}, + {file = "coverage-7.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:71ae8b53855644a0b1579d4041304ddc9995c7b21c8a1f16753c4d8903b4dfed"}, + {file = "coverage-7.9.2-cp39-cp39-win32.whl", hash = "sha256:dd7a57b33b5cf27acb491e890720af45db05589a80c1ffc798462a765be6d4d7"}, + {file = "coverage-7.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:f65bb452e579d5540c8b37ec105dd54d8b9307b07bcaa186818c104ffda22441"}, + {file = "coverage-7.9.2-pp39.pp310.pp311-none-any.whl", hash = "sha256:8a1166db2fb62473285bcb092f586e081e92656c7dfa8e9f62b4d39d7e6b5050"}, + {file = "coverage-7.9.2-py3-none-any.whl", hash = "sha256:e425cd5b00f6fc0ed7cdbd766c70be8baab4b7839e4d4fe5fac48581dd968ea4"}, + {file = "coverage-7.9.2.tar.gz", hash = "sha256:997024fa51e3290264ffd7492ec97d0690293ccd2b45a6cd7d82d945a4a80c8b"}, ] [package.dependencies] @@ -496,20 +496,20 @@ test = ["pytest (>=6)"] [[package]] name = "flake8" -version = "7.2.0" +version = "7.3.0" description = "the modular source code checker: pep8 pyflakes and co" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "flake8-7.2.0-py2.py3-none-any.whl", hash = "sha256:93b92ba5bdb60754a6da14fa3b93a9361fd00a59632ada61fd7b130436c40343"}, - {file = "flake8-7.2.0.tar.gz", hash = "sha256:fa558ae3f6f7dbf2b4f22663e5343b6b6023620461f8d4ff2019ef4b5ee70426"}, + {file = "flake8-7.3.0-py2.py3-none-any.whl", hash = "sha256:b9696257b9ce8beb888cdbe31cf885c90d31928fe202be0889a7cdafad32f01e"}, + {file = "flake8-7.3.0.tar.gz", hash = "sha256:fe044858146b9fc69b551a4b490d69cf960fcb78ad1edcb84e7fbb1b4a8e3872"}, ] [package.dependencies] mccabe = ">=0.7.0,<0.8.0" -pycodestyle = ">=2.13.0,<2.14.0" -pyflakes = ">=3.3.0,<3.4.0" +pycodestyle = ">=2.14.0,<2.15.0" +pyflakes = ">=3.4.0,<3.5.0" [[package]] name = "furo" @@ -591,15 +591,15 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "hypothesis" -version = "6.135.13" +version = "6.136.2" description = "A library for property-based testing" optional = true python-versions = ">=3.9" groups = ["main"] markers = "extra == \"check-laws\"" files = [ - {file = "hypothesis-6.135.13-py3-none-any.whl", hash = "sha256:02f757c0ca75ea7999521e02c11b318ead902d287e37c906817861f218d9422a"}, - {file = "hypothesis-6.135.13.tar.gz", hash = "sha256:6009c0a11753554efd5413c2145a5badfdb391cdf19f60619613ce5430762ad3"}, + {file = "hypothesis-6.136.2-py3-none-any.whl", hash = "sha256:4b6113ca65cb1d200ed1299e610bee1da49ec127f63b13b4c6ac0c36c1d8ded7"}, + {file = "hypothesis-6.136.2.tar.gz", hash = "sha256:57a04f750e79d6587ccf4cd2ff01d494bade0440bb1e245975ced8590c1c49bf"}, ] [package.dependencies] @@ -685,14 +685,14 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jsonschema" -version = "4.24.0" +version = "4.25.0" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d"}, - {file = "jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196"}, + {file = "jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716"}, + {file = "jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f"}, ] [package.dependencies] @@ -703,7 +703,7 @@ rpds-py = ">=0.7.1" [package.extras] format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] -format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "rfc3987-syntax (>=1.1.0)", "uri-template", "webcolors (>=24.6.0)"] [[package]] name = "jsonschema-specifications" @@ -862,44 +862,44 @@ files = [ [[package]] name = "mypy" -version = "1.16.0" +version = "1.17.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.9" groups = ["main", "dev"] files = [ - {file = "mypy-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7909541fef256527e5ee9c0a7e2aeed78b6cda72ba44298d1334fe7881b05c5c"}, - {file = "mypy-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e71d6f0090c2256c713ed3d52711d01859c82608b5d68d4fa01a3fe30df95571"}, - {file = "mypy-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:936ccfdd749af4766be824268bfe22d1db9eb2f34a3ea1d00ffbe5b5265f5491"}, - {file = "mypy-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4086883a73166631307fdd330c4a9080ce24913d4f4c5ec596c601b3a4bdd777"}, - {file = "mypy-1.16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:feec38097f71797da0231997e0de3a58108c51845399669ebc532c815f93866b"}, - {file = "mypy-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:09a8da6a0ee9a9770b8ff61b39c0bb07971cda90e7297f4213741b48a0cc8d93"}, - {file = "mypy-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9f826aaa7ff8443bac6a494cf743f591488ea940dd360e7dd330e30dd772a5ab"}, - {file = "mypy-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:82d056e6faa508501af333a6af192c700b33e15865bda49611e3d7d8358ebea2"}, - {file = "mypy-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:089bedc02307c2548eb51f426e085546db1fa7dd87fbb7c9fa561575cf6eb1ff"}, - {file = "mypy-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6a2322896003ba66bbd1318c10d3afdfe24e78ef12ea10e2acd985e9d684a666"}, - {file = "mypy-1.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:021a68568082c5b36e977d54e8f1de978baf401a33884ffcea09bd8e88a98f4c"}, - {file = "mypy-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:54066fed302d83bf5128632d05b4ec68412e1f03ef2c300434057d66866cea4b"}, - {file = "mypy-1.16.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c5436d11e89a3ad16ce8afe752f0f373ae9620841c50883dc96f8b8805620b13"}, - {file = "mypy-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f2622af30bf01d8fc36466231bdd203d120d7a599a6d88fb22bdcb9dbff84090"}, - {file = "mypy-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d045d33c284e10a038f5e29faca055b90eee87da3fc63b8889085744ebabb5a1"}, - {file = "mypy-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b4968f14f44c62e2ec4a038c8797a87315be8df7740dc3ee8d3bfe1c6bf5dba8"}, - {file = "mypy-1.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eb14a4a871bb8efb1e4a50360d4e3c8d6c601e7a31028a2c79f9bb659b63d730"}, - {file = "mypy-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:bd4e1ebe126152a7bbaa4daedd781c90c8f9643c79b9748caa270ad542f12bec"}, - {file = "mypy-1.16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a9e056237c89f1587a3be1a3a70a06a698d25e2479b9a2f57325ddaaffc3567b"}, - {file = "mypy-1.16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0b07e107affb9ee6ce1f342c07f51552d126c32cd62955f59a7db94a51ad12c0"}, - {file = "mypy-1.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c6fb60cbd85dc65d4d63d37cb5c86f4e3a301ec605f606ae3a9173e5cf34997b"}, - {file = "mypy-1.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7e32297a437cc915599e0578fa6bc68ae6a8dc059c9e009c628e1c47f91495d"}, - {file = "mypy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:afe420c9380ccec31e744e8baff0d406c846683681025db3531b32db56962d52"}, - {file = "mypy-1.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:55f9076c6ce55dd3f8cd0c6fff26a008ca8e5131b89d5ba6d86bd3f47e736eeb"}, - {file = "mypy-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f56236114c425620875c7cf71700e3d60004858da856c6fc78998ffe767b73d3"}, - {file = "mypy-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:15486beea80be24ff067d7d0ede673b001d0d684d0095803b3e6e17a886a2a92"}, - {file = "mypy-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f2ed0e0847a80655afa2c121835b848ed101cc7b8d8d6ecc5205aedc732b1436"}, - {file = "mypy-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eb5fbc8063cb4fde7787e4c0406aa63094a34a2daf4673f359a1fb64050e9cb2"}, - {file = "mypy-1.16.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a5fcfdb7318c6a8dd127b14b1052743b83e97a970f0edb6c913211507a255e20"}, - {file = "mypy-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e7e0ad35275e02797323a5aa1be0b14a4d03ffdb2e5f2b0489fa07b89c67b21"}, - {file = "mypy-1.16.0-py3-none-any.whl", hash = "sha256:29e1499864a3888bca5c1542f2d7232c6e586295183320caa95758fc84034031"}, - {file = "mypy-1.16.0.tar.gz", hash = "sha256:84b94283f817e2aa6350a14b4a8fb2a35a53c286f97c9d30f53b63620e7af8ab"}, + {file = "mypy-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f8e08de6138043108b3b18f09d3f817a4783912e48828ab397ecf183135d84d6"}, + {file = "mypy-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce4a17920ec144647d448fc43725b5873548b1aae6c603225626747ededf582d"}, + {file = "mypy-1.17.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6ff25d151cc057fdddb1cb1881ef36e9c41fa2a5e78d8dd71bee6e4dcd2bc05b"}, + {file = "mypy-1.17.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93468cf29aa9a132bceb103bd8475f78cacde2b1b9a94fd978d50d4bdf616c9a"}, + {file = "mypy-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:98189382b310f16343151f65dd7e6867386d3e35f7878c45cfa11383d175d91f"}, + {file = "mypy-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:c004135a300ab06a045c1c0d8e3f10215e71d7b4f5bb9a42ab80236364429937"}, + {file = "mypy-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9d4fe5c72fd262d9c2c91c1117d16aac555e05f5beb2bae6a755274c6eec42be"}, + {file = "mypy-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d96b196e5c16f41b4f7736840e8455958e832871990c7ba26bf58175e357ed61"}, + {file = "mypy-1.17.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:73a0ff2dd10337ceb521c080d4147755ee302dcde6e1a913babd59473904615f"}, + {file = "mypy-1.17.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:24cfcc1179c4447854e9e406d3af0f77736d631ec87d31c6281ecd5025df625d"}, + {file = "mypy-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c56f180ff6430e6373db7a1d569317675b0a451caf5fef6ce4ab365f5f2f6c3"}, + {file = "mypy-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:eafaf8b9252734400f9b77df98b4eee3d2eecab16104680d51341c75702cad70"}, + {file = "mypy-1.17.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f986f1cab8dbec39ba6e0eaa42d4d3ac6686516a5d3dccd64be095db05ebc6bb"}, + {file = "mypy-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:51e455a54d199dd6e931cd7ea987d061c2afbaf0960f7f66deef47c90d1b304d"}, + {file = "mypy-1.17.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3204d773bab5ff4ebbd1f8efa11b498027cd57017c003ae970f310e5b96be8d8"}, + {file = "mypy-1.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1051df7ec0886fa246a530ae917c473491e9a0ba6938cfd0ec2abc1076495c3e"}, + {file = "mypy-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f773c6d14dcc108a5b141b4456b0871df638eb411a89cd1c0c001fc4a9d08fc8"}, + {file = "mypy-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:1619a485fd0e9c959b943c7b519ed26b712de3002d7de43154a489a2d0fd817d"}, + {file = "mypy-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c41aa59211e49d717d92b3bb1238c06d387c9325d3122085113c79118bebb06"}, + {file = "mypy-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e69db1fb65b3114f98c753e3930a00514f5b68794ba80590eb02090d54a5d4a"}, + {file = "mypy-1.17.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:03ba330b76710f83d6ac500053f7727270b6b8553b0423348ffb3af6f2f7b889"}, + {file = "mypy-1.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:037bc0f0b124ce46bfde955c647f3e395c6174476a968c0f22c95a8d2f589bba"}, + {file = "mypy-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c38876106cb6132259683632b287238858bd58de267d80defb6f418e9ee50658"}, + {file = "mypy-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:d30ba01c0f151998f367506fab31c2ac4527e6a7b2690107c7a7f9e3cb419a9c"}, + {file = "mypy-1.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:63e751f1b5ab51d6f3d219fe3a2fe4523eaa387d854ad06906c63883fde5b1ab"}, + {file = "mypy-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fb09d05e0f1c329a36dcd30e27564a3555717cde87301fae4fb542402ddfad"}, + {file = "mypy-1.17.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b72c34ce05ac3a1361ae2ebb50757fb6e3624032d91488d93544e9f82db0ed6c"}, + {file = "mypy-1.17.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:434ad499ad8dde8b2f6391ddfa982f41cb07ccda8e3c67781b1bfd4e5f9450a8"}, + {file = "mypy-1.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f105f61a5eff52e137fd73bee32958b2add9d9f0a856f17314018646af838e97"}, + {file = "mypy-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:ba06254a5a22729853209550d80f94e28690d5530c661f9416a68ac097b13fc4"}, + {file = "mypy-1.17.0-py3-none-any.whl", hash = "sha256:15d9d0018237ab058e5de3d8fce61b6fa72cc59cc78fd91f1b474bce12abf496"}, + {file = "mypy-1.17.0.tar.gz", hash = "sha256:e5d7ccc08ba089c06e2f5629c660388ef1fee708444f1dee0b9203fa031dee03"}, ] markers = {main = "extra == \"compatible-mypy\""} @@ -1016,14 +1016,14 @@ testing = ["coverage", "pytest", "pytest-benchmark"] [[package]] name = "pycodestyle" -version = "2.13.0" +version = "2.14.0" description = "Python style guide checker" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "pycodestyle-2.13.0-py2.py3-none-any.whl", hash = "sha256:35863c5974a271c7a726ed228a14a4f6daf49df369d8c50cd9a6f58a5e143ba9"}, - {file = "pycodestyle-2.13.0.tar.gz", hash = "sha256:c8415bf09abe81d9c7f872502a6eee881fbe85d8763dd5b9924bb0a01d67efae"}, + {file = "pycodestyle-2.14.0-py2.py3-none-any.whl", hash = "sha256:dd6bf7cb4ee77f8e016f9c8e74a35ddd9f67e1d5fd4184d86c3b98e07099f42d"}, + {file = "pycodestyle-2.14.0.tar.gz", hash = "sha256:c4b5b517d278089ff9d0abdec919cd97262a3367449ea1c8b49b91529167b783"}, ] [[package]] @@ -1041,26 +1041,26 @@ files = [ [[package]] name = "pyflakes" -version = "3.3.2" +version = "3.4.0" description = "passive checker of Python programs" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "pyflakes-3.3.2-py2.py3-none-any.whl", hash = "sha256:5039c8339cbb1944045f4ee5466908906180f13cc99cc9949348d10f82a5c32a"}, - {file = "pyflakes-3.3.2.tar.gz", hash = "sha256:6dfd61d87b97fba5dcfaaf781171ac16be16453be6d816147989e7f6e6a9576b"}, + {file = "pyflakes-3.4.0-py2.py3-none-any.whl", hash = "sha256:f742a7dbd0d9cb9ea41e9a24a918996e8170c799fa528688d40dd582c8265f4f"}, + {file = "pyflakes-3.4.0.tar.gz", hash = "sha256:b24f96fafb7d2ab0ec5075b7350b3d2d2218eab42003821c06344973d3ea2f58"}, ] [[package]] name = "pygments" -version = "2.19.1" +version = "2.19.2" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" groups = ["main", "dev", "docs"] files = [ - {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, - {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, + {file = "pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"}, + {file = "pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887"}, ] markers = {main = "extra == \"check-laws\""} @@ -1389,129 +1389,156 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rpds-py" -version = "0.25.1" +version = "0.26.0" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "rpds_py-0.25.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f4ad628b5174d5315761b67f212774a32f5bad5e61396d38108bd801c0a8f5d9"}, - {file = "rpds_py-0.25.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8c742af695f7525e559c16f1562cf2323db0e3f0fbdcabdf6865b095256b2d40"}, - {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:605ffe7769e24b1800b4d024d24034405d9404f0bc2f55b6db3362cd34145a6f"}, - {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ccc6f3ddef93243538be76f8e47045b4aad7a66a212cd3a0f23e34469473d36b"}, - {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f70316f760174ca04492b5ab01be631a8ae30cadab1d1081035136ba12738cfa"}, - {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1dafef8df605fdb46edcc0bf1573dea0d6d7b01ba87f85cd04dc855b2b4479e"}, - {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0701942049095741a8aeb298a31b203e735d1c61f4423511d2b1a41dcd8a16da"}, - {file = "rpds_py-0.25.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e87798852ae0b37c88babb7f7bbbb3e3fecc562a1c340195b44c7e24d403e380"}, - {file = "rpds_py-0.25.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3bcce0edc1488906c2d4c75c94c70a0417e83920dd4c88fec1078c94843a6ce9"}, - {file = "rpds_py-0.25.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e2f6a2347d3440ae789505693a02836383426249d5293541cd712e07e7aecf54"}, - {file = "rpds_py-0.25.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4fd52d3455a0aa997734f3835cbc4c9f32571345143960e7d7ebfe7b5fbfa3b2"}, - {file = "rpds_py-0.25.1-cp310-cp310-win32.whl", hash = "sha256:3f0b1798cae2bbbc9b9db44ee068c556d4737911ad53a4e5093d09d04b3bbc24"}, - {file = "rpds_py-0.25.1-cp310-cp310-win_amd64.whl", hash = "sha256:3ebd879ab996537fc510a2be58c59915b5dd63bccb06d1ef514fee787e05984a"}, - {file = "rpds_py-0.25.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5f048bbf18b1f9120685c6d6bb70cc1a52c8cc11bdd04e643d28d3be0baf666d"}, - {file = "rpds_py-0.25.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4fbb0dbba559959fcb5d0735a0f87cdbca9e95dac87982e9b95c0f8f7ad10255"}, - {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4ca54b9cf9d80b4016a67a0193ebe0bcf29f6b0a96f09db942087e294d3d4c2"}, - {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ee3e26eb83d39b886d2cb6e06ea701bba82ef30a0de044d34626ede51ec98b0"}, - {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:89706d0683c73a26f76a5315d893c051324d771196ae8b13e6ffa1ffaf5e574f"}, - {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2013ee878c76269c7b557a9a9c042335d732e89d482606990b70a839635feb7"}, - {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45e484db65e5380804afbec784522de84fa95e6bb92ef1bd3325d33d13efaebd"}, - {file = "rpds_py-0.25.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:48d64155d02127c249695abb87d39f0faf410733428d499867606be138161d65"}, - {file = "rpds_py-0.25.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:048893e902132fd6548a2e661fb38bf4896a89eea95ac5816cf443524a85556f"}, - {file = "rpds_py-0.25.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0317177b1e8691ab5879f4f33f4b6dc55ad3b344399e23df2e499de7b10a548d"}, - {file = "rpds_py-0.25.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bffcf57826d77a4151962bf1701374e0fc87f536e56ec46f1abdd6a903354042"}, - {file = "rpds_py-0.25.1-cp311-cp311-win32.whl", hash = "sha256:cda776f1967cb304816173b30994faaf2fd5bcb37e73118a47964a02c348e1bc"}, - {file = "rpds_py-0.25.1-cp311-cp311-win_amd64.whl", hash = "sha256:dc3c1ff0abc91444cd20ec643d0f805df9a3661fcacf9c95000329f3ddf268a4"}, - {file = "rpds_py-0.25.1-cp311-cp311-win_arm64.whl", hash = "sha256:5a3ddb74b0985c4387719fc536faced33cadf2172769540c62e2a94b7b9be1c4"}, - {file = "rpds_py-0.25.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c"}, - {file = "rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b"}, - {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa"}, - {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda"}, - {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309"}, - {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b"}, - {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea"}, - {file = "rpds_py-0.25.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65"}, - {file = "rpds_py-0.25.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c"}, - {file = "rpds_py-0.25.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd"}, - {file = "rpds_py-0.25.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb"}, - {file = "rpds_py-0.25.1-cp312-cp312-win32.whl", hash = "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe"}, - {file = "rpds_py-0.25.1-cp312-cp312-win_amd64.whl", hash = "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192"}, - {file = "rpds_py-0.25.1-cp312-cp312-win_arm64.whl", hash = "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728"}, - {file = "rpds_py-0.25.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559"}, - {file = "rpds_py-0.25.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1"}, - {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c"}, - {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb"}, - {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40"}, - {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79"}, - {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325"}, - {file = "rpds_py-0.25.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295"}, - {file = "rpds_py-0.25.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b"}, - {file = "rpds_py-0.25.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98"}, - {file = "rpds_py-0.25.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd"}, - {file = "rpds_py-0.25.1-cp313-cp313-win32.whl", hash = "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31"}, - {file = "rpds_py-0.25.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500"}, - {file = "rpds_py-0.25.1-cp313-cp313-win_arm64.whl", hash = "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5"}, - {file = "rpds_py-0.25.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129"}, - {file = "rpds_py-0.25.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d"}, - {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72"}, - {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34"}, - {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9"}, - {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5"}, - {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194"}, - {file = "rpds_py-0.25.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6"}, - {file = "rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78"}, - {file = "rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72"}, - {file = "rpds_py-0.25.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66"}, - {file = "rpds_py-0.25.1-cp313-cp313t-win32.whl", hash = "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523"}, - {file = "rpds_py-0.25.1-cp313-cp313t-win_amd64.whl", hash = "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763"}, - {file = "rpds_py-0.25.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ce4c8e485a3c59593f1a6f683cf0ea5ab1c1dc94d11eea5619e4fb5228b40fbd"}, - {file = "rpds_py-0.25.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d8222acdb51a22929c3b2ddb236b69c59c72af4019d2cba961e2f9add9b6e634"}, - {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4593c4eae9b27d22df41cde518b4b9e4464d139e4322e2127daa9b5b981b76be"}, - {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd035756830c712b64725a76327ce80e82ed12ebab361d3a1cdc0f51ea21acb0"}, - {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:114a07e85f32b125404f28f2ed0ba431685151c037a26032b213c882f26eb908"}, - {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dec21e02e6cc932538b5203d3a8bd6aa1480c98c4914cb88eea064ecdbc6396a"}, - {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09eab132f41bf792c7a0ea1578e55df3f3e7f61888e340779b06050a9a3f16e9"}, - {file = "rpds_py-0.25.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c98f126c4fc697b84c423e387337d5b07e4a61e9feac494362a59fd7a2d9ed80"}, - {file = "rpds_py-0.25.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0e6a327af8ebf6baba1c10fadd04964c1965d375d318f4435d5f3f9651550f4a"}, - {file = "rpds_py-0.25.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:bc120d1132cff853ff617754196d0ac0ae63befe7c8498bd67731ba368abe451"}, - {file = "rpds_py-0.25.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:140f61d9bed7839446bdd44852e30195c8e520f81329b4201ceead4d64eb3a9f"}, - {file = "rpds_py-0.25.1-cp39-cp39-win32.whl", hash = "sha256:9c006f3aadeda131b438c3092124bd196b66312f0caa5823ef09585a669cf449"}, - {file = "rpds_py-0.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:a61d0b2c7c9a0ae45732a77844917b427ff16ad5464b4d4f5e4adb955f582890"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c9409b47ba0650544b0bb3c188243b83654dfe55dcc173a86832314e1a6a35d"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:796ad874c89127c91970652a4ee8b00d56368b7e00d3477f4415fe78164c8000"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85608eb70a659bf4c1142b2781083d4b7c0c4e2c90eff11856a9754e965b2540"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4feb9211d15d9160bc85fa72fed46432cdc143eb9cf6d5ca377335a921ac37b"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ccfa689b9246c48947d31dd9d8b16d89a0ecc8e0e26ea5253068efb6c542b76e"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3c5b317ecbd8226887994852e85de562f7177add602514d4ac40f87de3ae45a8"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:454601988aab2c6e8fd49e7634c65476b2b919647626208e376afcd22019eeb8"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:1c0c434a53714358532d13539272db75a5ed9df75a4a090a753ac7173ec14e11"}, - {file = "rpds_py-0.25.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f73ce1512e04fbe2bc97836e89830d6b4314c171587a99688082d090f934d20a"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ee86d81551ec68a5c25373c5643d343150cc54672b5e9a0cafc93c1870a53954"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:89c24300cd4a8e4a51e55c31a8ff3918e6651b241ee8876a42cc2b2a078533ba"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:771c16060ff4e79584dc48902a91ba79fd93eade3aa3a12d6d2a4aadaf7d542b"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:785ffacd0ee61c3e60bdfde93baa6d7c10d86f15655bd706c89da08068dc5038"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a40046a529cc15cef88ac5ab589f83f739e2d332cb4d7399072242400ed68c9"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85fc223d9c76cabe5d0bff82214459189720dc135db45f9f66aa7cffbf9ff6c1"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0be9965f93c222fb9b4cc254235b3b2b215796c03ef5ee64f995b1b69af0762"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8378fa4a940f3fb509c081e06cb7f7f2adae8cf46ef258b0e0ed7519facd573e"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf"}, - {file = "rpds_py-0.25.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:50f2c501a89c9a5f4e454b126193c5495b9fb441a75b298c60591d8a2eb92e1b"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d779b325cc8238227c47fbc53964c8cc9a941d5dbae87aa007a1f08f2f77b23"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:036ded36bedb727beeabc16dc1dad7cb154b3fa444e936a03b67a86dc6a5066e"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:245550f5a1ac98504147cba96ffec8fabc22b610742e9150138e5d60774686d7"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff7c23ba0a88cb7b104281a99476cccadf29de2a0ef5ce864959a52675b1ca83"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e37caa8cdb3b7cf24786451a0bdb853f6347b8b92005eeb64225ae1db54d1c2b"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2f48ab00181600ee266a095fe815134eb456163f7d6699f525dee471f312cf"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e5fc7484fa7dce57e25063b0ec9638ff02a908304f861d81ea49273e43838c1"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:d3c10228d6cf6fe2b63d2e7985e94f6916fa46940df46b70449e9ff9297bd3d1"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:5d9e40f32745db28c1ef7aad23f6fc458dc1e29945bd6781060f0d15628b8ddf"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:35a8d1a24b5936b35c5003313bc177403d8bdef0f8b24f28b1c4a255f94ea992"}, - {file = "rpds_py-0.25.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6099263f526efff9cf3883dfef505518730f7a7a93049b1d90d42e50a22b4793"}, - {file = "rpds_py-0.25.1.tar.gz", hash = "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3"}, + {file = "rpds_py-0.26.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4c70c70f9169692b36307a95f3d8c0a9fcd79f7b4a383aad5eaa0e9718b79b37"}, + {file = "rpds_py-0.26.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:777c62479d12395bfb932944e61e915741e364c843afc3196b694db3d669fcd0"}, + {file = "rpds_py-0.26.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec671691e72dff75817386aa02d81e708b5a7ec0dec6669ec05213ff6b77e1bd"}, + {file = "rpds_py-0.26.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a1cb5d6ce81379401bbb7f6dbe3d56de537fb8235979843f0d53bc2e9815a79"}, + {file = "rpds_py-0.26.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f789e32fa1fb6a7bf890e0124e7b42d1e60d28ebff57fe806719abb75f0e9a3"}, + {file = "rpds_py-0.26.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c55b0a669976cf258afd718de3d9ad1b7d1fe0a91cd1ab36f38b03d4d4aeaaf"}, + {file = "rpds_py-0.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c70d9ec912802ecfd6cd390dadb34a9578b04f9bcb8e863d0a7598ba5e9e7ccc"}, + {file = "rpds_py-0.26.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3021933c2cb7def39d927b9862292e0f4c75a13d7de70eb0ab06efed4c508c19"}, + {file = "rpds_py-0.26.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8a7898b6ca3b7d6659e55cdac825a2e58c638cbf335cde41f4619e290dd0ad11"}, + {file = "rpds_py-0.26.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:12bff2ad9447188377f1b2794772f91fe68bb4bbfa5a39d7941fbebdbf8c500f"}, + {file = "rpds_py-0.26.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:191aa858f7d4902e975d4cf2f2d9243816c91e9605070aeb09c0a800d187e323"}, + {file = "rpds_py-0.26.0-cp310-cp310-win32.whl", hash = "sha256:b37a04d9f52cb76b6b78f35109b513f6519efb481d8ca4c321f6a3b9580b3f45"}, + {file = "rpds_py-0.26.0-cp310-cp310-win_amd64.whl", hash = "sha256:38721d4c9edd3eb6670437d8d5e2070063f305bfa2d5aa4278c51cedcd508a84"}, + {file = "rpds_py-0.26.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:9e8cb77286025bdb21be2941d64ac6ca016130bfdcd228739e8ab137eb4406ed"}, + {file = "rpds_py-0.26.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5e09330b21d98adc8ccb2dbb9fc6cb434e8908d4c119aeaa772cb1caab5440a0"}, + {file = "rpds_py-0.26.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c9c1b92b774b2e68d11193dc39620d62fd8ab33f0a3c77ecdabe19c179cdbc1"}, + {file = "rpds_py-0.26.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:824e6d3503ab990d7090768e4dfd9e840837bae057f212ff9f4f05ec6d1975e7"}, + {file = "rpds_py-0.26.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ad7fd2258228bf288f2331f0a6148ad0186b2e3643055ed0db30990e59817a6"}, + {file = "rpds_py-0.26.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0dc23bbb3e06ec1ea72d515fb572c1fea59695aefbffb106501138762e1e915e"}, + {file = "rpds_py-0.26.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d80bf832ac7b1920ee29a426cdca335f96a2b5caa839811803e999b41ba9030d"}, + {file = "rpds_py-0.26.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0919f38f5542c0a87e7b4afcafab6fd2c15386632d249e9a087498571250abe3"}, + {file = "rpds_py-0.26.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d422b945683e409000c888e384546dbab9009bb92f7c0b456e217988cf316107"}, + {file = "rpds_py-0.26.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:77a7711fa562ba2da1aa757e11024ad6d93bad6ad7ede5afb9af144623e5f76a"}, + {file = "rpds_py-0.26.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:238e8c8610cb7c29460e37184f6799547f7e09e6a9bdbdab4e8edb90986a2318"}, + {file = "rpds_py-0.26.0-cp311-cp311-win32.whl", hash = "sha256:893b022bfbdf26d7bedb083efeea624e8550ca6eb98bf7fea30211ce95b9201a"}, + {file = "rpds_py-0.26.0-cp311-cp311-win_amd64.whl", hash = "sha256:87a5531de9f71aceb8af041d72fc4cab4943648d91875ed56d2e629bef6d4c03"}, + {file = "rpds_py-0.26.0-cp311-cp311-win_arm64.whl", hash = "sha256:de2713f48c1ad57f89ac25b3cb7daed2156d8e822cf0eca9b96a6f990718cc41"}, + {file = "rpds_py-0.26.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:894514d47e012e794f1350f076c427d2347ebf82f9b958d554d12819849a369d"}, + {file = "rpds_py-0.26.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc921b96fa95a097add244da36a1d9e4f3039160d1d30f1b35837bf108c21136"}, + {file = "rpds_py-0.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e1157659470aa42a75448b6e943c895be8c70531c43cb78b9ba990778955582"}, + {file = "rpds_py-0.26.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:521ccf56f45bb3a791182dc6b88ae5f8fa079dd705ee42138c76deb1238e554e"}, + {file = "rpds_py-0.26.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9def736773fd56b305c0eef698be5192c77bfa30d55a0e5885f80126c4831a15"}, + {file = "rpds_py-0.26.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cdad4ea3b4513b475e027be79e5a0ceac8ee1c113a1a11e5edc3c30c29f964d8"}, + {file = "rpds_py-0.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82b165b07f416bdccf5c84546a484cc8f15137ca38325403864bfdf2b5b72f6a"}, + {file = "rpds_py-0.26.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d04cab0a54b9dba4d278fe955a1390da3cf71f57feb78ddc7cb67cbe0bd30323"}, + {file = "rpds_py-0.26.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:79061ba1a11b6a12743a2b0f72a46aa2758613d454aa6ba4f5a265cc48850158"}, + {file = "rpds_py-0.26.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:f405c93675d8d4c5ac87364bb38d06c988e11028a64b52a47158a355079661f3"}, + {file = "rpds_py-0.26.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dafd4c44b74aa4bed4b250f1aed165b8ef5de743bcca3b88fc9619b6087093d2"}, + {file = "rpds_py-0.26.0-cp312-cp312-win32.whl", hash = "sha256:3da5852aad63fa0c6f836f3359647870e21ea96cf433eb393ffa45263a170d44"}, + {file = "rpds_py-0.26.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf47cfdabc2194a669dcf7a8dbba62e37a04c5041d2125fae0233b720da6f05c"}, + {file = "rpds_py-0.26.0-cp312-cp312-win_arm64.whl", hash = "sha256:20ab1ae4fa534f73647aad289003f1104092890849e0266271351922ed5574f8"}, + {file = "rpds_py-0.26.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:696764a5be111b036256c0b18cd29783fab22154690fc698062fc1b0084b511d"}, + {file = "rpds_py-0.26.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1e6c15d2080a63aaed876e228efe4f814bc7889c63b1e112ad46fdc8b368b9e1"}, + {file = "rpds_py-0.26.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:390e3170babf42462739a93321e657444f0862c6d722a291accc46f9d21ed04e"}, + {file = "rpds_py-0.26.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7da84c2c74c0f5bc97d853d9e17bb83e2dcafcff0dc48286916001cc114379a1"}, + {file = "rpds_py-0.26.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c5fe114a6dd480a510b6d3661d09d67d1622c4bf20660a474507aaee7eeeee9"}, + {file = "rpds_py-0.26.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3100b3090269f3a7ea727b06a6080d4eb7439dca4c0e91a07c5d133bb1727ea7"}, + {file = "rpds_py-0.26.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c03c9b0c64afd0320ae57de4c982801271c0c211aa2d37f3003ff5feb75bb04"}, + {file = "rpds_py-0.26.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5963b72ccd199ade6ee493723d18a3f21ba7d5b957017607f815788cef50eaf1"}, + {file = "rpds_py-0.26.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9da4e873860ad5bab3291438525cae80169daecbfafe5657f7f5fb4d6b3f96b9"}, + {file = "rpds_py-0.26.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5afaddaa8e8c7f1f7b4c5c725c0070b6eed0228f705b90a1732a48e84350f4e9"}, + {file = "rpds_py-0.26.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4916dc96489616a6f9667e7526af8fa693c0fdb4f3acb0e5d9f4400eb06a47ba"}, + {file = "rpds_py-0.26.0-cp313-cp313-win32.whl", hash = "sha256:2a343f91b17097c546b93f7999976fd6c9d5900617aa848c81d794e062ab302b"}, + {file = "rpds_py-0.26.0-cp313-cp313-win_amd64.whl", hash = "sha256:0a0b60701f2300c81b2ac88a5fb893ccfa408e1c4a555a77f908a2596eb875a5"}, + {file = "rpds_py-0.26.0-cp313-cp313-win_arm64.whl", hash = "sha256:257d011919f133a4746958257f2c75238e3ff54255acd5e3e11f3ff41fd14256"}, + {file = "rpds_py-0.26.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:529c8156d7506fba5740e05da8795688f87119cce330c244519cf706a4a3d618"}, + {file = "rpds_py-0.26.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f53ec51f9d24e9638a40cabb95078ade8c99251945dad8d57bf4aabe86ecee35"}, + {file = "rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab504c4d654e4a29558eaa5bb8cea5fdc1703ea60a8099ffd9c758472cf913f"}, + {file = "rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fd0641abca296bc1a00183fe44f7fced8807ed49d501f188faa642d0e4975b83"}, + {file = "rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69b312fecc1d017b5327afa81d4da1480f51c68810963a7336d92203dbb3d4f1"}, + {file = "rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c741107203954f6fc34d3066d213d0a0c40f7bb5aafd698fb39888af277c70d8"}, + {file = "rpds_py-0.26.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc3e55a7db08dc9a6ed5fb7103019d2c1a38a349ac41901f9f66d7f95750942f"}, + {file = "rpds_py-0.26.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e851920caab2dbcae311fd28f4313c6953993893eb5c1bb367ec69d9a39e7ed"}, + {file = "rpds_py-0.26.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:dfbf280da5f876d0b00c81f26bedce274e72a678c28845453885a9b3c22ae632"}, + {file = "rpds_py-0.26.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1cc81d14ddfa53d7f3906694d35d54d9d3f850ef8e4e99ee68bc0d1e5fed9a9c"}, + {file = "rpds_py-0.26.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dca83c498b4650a91efcf7b88d669b170256bf8017a5db6f3e06c2bf031f57e0"}, + {file = "rpds_py-0.26.0-cp313-cp313t-win32.whl", hash = "sha256:4d11382bcaf12f80b51d790dee295c56a159633a8e81e6323b16e55d81ae37e9"}, + {file = "rpds_py-0.26.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff110acded3c22c033e637dd8896e411c7d3a11289b2edf041f86663dbc791e9"}, + {file = "rpds_py-0.26.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:da619979df60a940cd434084355c514c25cf8eb4cf9a508510682f6c851a4f7a"}, + {file = "rpds_py-0.26.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ea89a2458a1a75f87caabefe789c87539ea4e43b40f18cff526052e35bbb4fdf"}, + {file = "rpds_py-0.26.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feac1045b3327a45944e7dcbeb57530339f6b17baff154df51ef8b0da34c8c12"}, + {file = "rpds_py-0.26.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b818a592bd69bfe437ee8368603d4a2d928c34cffcdf77c2e761a759ffd17d20"}, + {file = "rpds_py-0.26.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a8b0dd8648709b62d9372fc00a57466f5fdeefed666afe3fea5a6c9539a0331"}, + {file = "rpds_py-0.26.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d3498ad0df07d81112aa6ec6c95a7e7b1ae00929fb73e7ebee0f3faaeabad2f"}, + {file = "rpds_py-0.26.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24a4146ccb15be237fdef10f331c568e1b0e505f8c8c9ed5d67759dac58ac246"}, + {file = "rpds_py-0.26.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a9a63785467b2d73635957d32a4f6e73d5e4df497a16a6392fa066b753e87387"}, + {file = "rpds_py-0.26.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:de4ed93a8c91debfd5a047be327b7cc8b0cc6afe32a716bbbc4aedca9e2a83af"}, + {file = "rpds_py-0.26.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:caf51943715b12af827696ec395bfa68f090a4c1a1d2509eb4e2cb69abbbdb33"}, + {file = "rpds_py-0.26.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:4a59e5bc386de021f56337f757301b337d7ab58baa40174fb150accd480bc953"}, + {file = "rpds_py-0.26.0-cp314-cp314-win32.whl", hash = "sha256:92c8db839367ef16a662478f0a2fe13e15f2227da3c1430a782ad0f6ee009ec9"}, + {file = "rpds_py-0.26.0-cp314-cp314-win_amd64.whl", hash = "sha256:b0afb8cdd034150d4d9f53926226ed27ad15b7f465e93d7468caaf5eafae0d37"}, + {file = "rpds_py-0.26.0-cp314-cp314-win_arm64.whl", hash = "sha256:ca3f059f4ba485d90c8dc75cb5ca897e15325e4e609812ce57f896607c1c0867"}, + {file = "rpds_py-0.26.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:5afea17ab3a126006dc2f293b14ffc7ef3c85336cf451564a0515ed7648033da"}, + {file = "rpds_py-0.26.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:69f0c0a3df7fd3a7eec50a00396104bb9a843ea6d45fcc31c2d5243446ffd7a7"}, + {file = "rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:801a71f70f9813e82d2513c9a96532551fce1e278ec0c64610992c49c04c2dad"}, + {file = "rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df52098cde6d5e02fa75c1f6244f07971773adb4a26625edd5c18fee906fa84d"}, + {file = "rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bc596b30f86dc6f0929499c9e574601679d0341a0108c25b9b358a042f51bca"}, + {file = "rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9dfbe56b299cf5875b68eb6f0ebaadc9cac520a1989cac0db0765abfb3709c19"}, + {file = "rpds_py-0.26.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac64f4b2bdb4ea622175c9ab7cf09444e412e22c0e02e906978b3b488af5fde8"}, + {file = "rpds_py-0.26.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:181ef9b6bbf9845a264f9aa45c31836e9f3c1f13be565d0d010e964c661d1e2b"}, + {file = "rpds_py-0.26.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:49028aa684c144ea502a8e847d23aed5e4c2ef7cadfa7d5eaafcb40864844b7a"}, + {file = "rpds_py-0.26.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:e5d524d68a474a9688336045bbf76cb0def88549c1b2ad9dbfec1fb7cfbe9170"}, + {file = "rpds_py-0.26.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c1851f429b822831bd2edcbe0cfd12ee9ea77868f8d3daf267b189371671c80e"}, + {file = "rpds_py-0.26.0-cp314-cp314t-win32.whl", hash = "sha256:7bdb17009696214c3b66bb3590c6d62e14ac5935e53e929bcdbc5a495987a84f"}, + {file = "rpds_py-0.26.0-cp314-cp314t-win_amd64.whl", hash = "sha256:f14440b9573a6f76b4ee4770c13f0b5921f71dde3b6fcb8dabbefd13b7fe05d7"}, + {file = "rpds_py-0.26.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:7a48af25d9b3c15684059d0d1fc0bc30e8eee5ca521030e2bffddcab5be40226"}, + {file = "rpds_py-0.26.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0c71c2f6bf36e61ee5c47b2b9b5d47e4d1baad6426bfed9eea3e858fc6ee8806"}, + {file = "rpds_py-0.26.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d815d48b1804ed7867b539236b6dd62997850ca1c91cad187f2ddb1b7bbef19"}, + {file = "rpds_py-0.26.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84cfbd4d4d2cdeb2be61a057a258d26b22877266dd905809e94172dff01a42ae"}, + {file = "rpds_py-0.26.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fbaa70553ca116c77717f513e08815aec458e6b69a028d4028d403b3bc84ff37"}, + {file = "rpds_py-0.26.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39bfea47c375f379d8e87ab4bb9eb2c836e4f2069f0f65731d85e55d74666387"}, + {file = "rpds_py-0.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1533b7eb683fb5f38c1d68a3c78f5fdd8f1412fa6b9bf03b40f450785a0ab915"}, + {file = "rpds_py-0.26.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c5ab0ee51f560d179b057555b4f601b7df909ed31312d301b99f8b9fc6028284"}, + {file = "rpds_py-0.26.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e5162afc9e0d1f9cae3b577d9c29ddbab3505ab39012cb794d94a005825bde21"}, + {file = "rpds_py-0.26.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:43f10b007033f359bc3fa9cd5e6c1e76723f056ffa9a6b5c117cc35720a80292"}, + {file = "rpds_py-0.26.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e3730a48e5622e598293eee0762b09cff34dd3f271530f47b0894891281f051d"}, + {file = "rpds_py-0.26.0-cp39-cp39-win32.whl", hash = "sha256:4b1f66eb81eab2e0ff5775a3a312e5e2e16bf758f7b06be82fb0d04078c7ac51"}, + {file = "rpds_py-0.26.0-cp39-cp39-win_amd64.whl", hash = "sha256:519067e29f67b5c90e64fb1a6b6e9d2ec0ba28705c51956637bac23a2f4ddae1"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3c0909c5234543ada2515c05dc08595b08d621ba919629e94427e8e03539c958"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c1fb0cda2abcc0ac62f64e2ea4b4e64c57dfd6b885e693095460c61bde7bb18e"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d142d2d6cf9b31c12aa4878d82ed3b2324226270b89b676ac62ccd7df52d08"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a547e21c5610b7e9093d870be50682a6a6cf180d6da0f42c47c306073bfdbbf6"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:35e9a70a0f335371275cdcd08bc5b8051ac494dd58bff3bbfb421038220dc871"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0dfa6115c6def37905344d56fb54c03afc49104e2ca473d5dedec0f6606913b4"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:313cfcd6af1a55a286a3c9a25f64af6d0e46cf60bc5798f1db152d97a216ff6f"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f7bf2496fa563c046d05e4d232d7b7fd61346e2402052064b773e5c378bf6f73"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:aa81873e2c8c5aa616ab8e017a481a96742fdf9313c40f14338ca7dbf50cb55f"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:68ffcf982715f5b5b7686bdd349ff75d422e8f22551000c24b30eaa1b7f7ae84"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6188de70e190847bb6db3dc3981cbadff87d27d6fe9b4f0e18726d55795cee9b"}, + {file = "rpds_py-0.26.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1c962145c7473723df9722ba4c058de12eb5ebedcb4e27e7d902920aa3831ee8"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f61a9326f80ca59214d1cceb0a09bb2ece5b2563d4e0cd37bfd5515c28510674"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:183f857a53bcf4b1b42ef0f57ca553ab56bdd170e49d8091e96c51c3d69ca696"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:941c1cfdf4799d623cf3aa1d326a6b4fdb7a5799ee2687f3516738216d2262fb"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72a8d9564a717ee291f554eeb4bfeafe2309d5ec0aa6c475170bdab0f9ee8e88"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:511d15193cbe013619dd05414c35a7dedf2088fcee93c6bbb7c77859765bd4e8"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aea1f9741b603a8d8fedb0ed5502c2bc0accbc51f43e2ad1337fe7259c2b77a5"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4019a9d473c708cf2f16415688ef0b4639e07abaa569d72f74745bbeffafa2c7"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:093d63b4b0f52d98ebae33b8c50900d3d67e0666094b1be7a12fffd7f65de74b"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2abe21d8ba64cded53a2a677e149ceb76dcf44284202d737178afe7ba540c1eb"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:4feb7511c29f8442cbbc28149a92093d32e815a28aa2c50d333826ad2a20fdf0"}, + {file = "rpds_py-0.26.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e99685fc95d386da368013e7fb4269dd39c30d99f812a8372d62f244f662709c"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a90a13408a7a856b87be8a9f008fff53c5080eea4e4180f6c2e546e4a972fb5d"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:3ac51b65e8dc76cf4949419c54c5528adb24fc721df722fd452e5fbc236f5c40"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59b2093224a18c6508d95cfdeba8db9cbfd6f3494e94793b58972933fcee4c6d"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4f01a5d6444a3258b00dc07b6ea4733e26f8072b788bef750baa37b370266137"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b6e2c12160c72aeda9d1283e612f68804621f448145a210f1bf1d79151c47090"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cb28c1f569f8d33b2b5dcd05d0e6ef7005d8639c54c2f0be824f05aedf715255"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1766b5724c3f779317d5321664a343c07773c8c5fd1532e4039e6cc7d1a815be"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b6d9e5a2ed9c4988c8f9b28b3bc0e3e5b1aaa10c28d210a594ff3a8c02742daf"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:b5f7a446ddaf6ca0fad9a5535b56fbfc29998bf0e0b450d174bbec0d600e1d72"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:eed5ac260dd545fbc20da5f4f15e7efe36a55e0e7cf706e4ec005b491a9546a0"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:582462833ba7cee52e968b0341b85e392ae53d44c0f9af6a5927c80e539a8b67"}, + {file = "rpds_py-0.26.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:69a607203441e07e9a8a529cff1d5b73f6a160f22db1097211e6212a68567d11"}, + {file = "rpds_py-0.26.0.tar.gz", hash = "sha256:20dae58a859b0906f0685642e591056f1e787f3a8b39c8e8749a45dc7d26bdb0"}, ] [[package]] @@ -1843,14 +1870,14 @@ files = [ [[package]] name = "tomlkit" -version = "0.13.2" +version = "0.13.3" description = "Style preserving TOML library" optional = false python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, - {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, + {file = "tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0"}, + {file = "tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1"}, ] [[package]] @@ -1928,4 +1955,4 @@ compatible-mypy = ["mypy"] [metadata] lock-version = "2.1" python-versions = "^3.10" -content-hash = "0bd04c21bc468867345df5c47dccfa7bc5bb4dcd0412a4d2d27722c103145fff" +content-hash = "859e9a8607bce41472565d77559137bc3061bbee5a8eadb9db16ffe0bf3c7cdc" diff --git a/pyproject.toml b/pyproject.toml index 3e52f10b..bbb458d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,7 +52,7 @@ python = "^3.10" typing-extensions = ">=4.0,<5.0" pytest = { version = "^8.0", optional = true } hypothesis = { version = "^6.122", optional = true } -mypy = { version = ">=1.12,<1.17", optional = true } +mypy = { version = ">=1.12,<1.18", optional = true } [tool.poetry.group.dev.dependencies] anyio = "^4.3" diff --git a/setup.cfg b/setup.cfg index 59d95f0e..17958209 100644 --- a/setup.cfg +++ b/setup.cfg @@ -157,10 +157,6 @@ strict = true strict_bytes = true warn_unreachable = true -# TODO: update our output assertions to match a new syntax -force_uppercase_builtins = true -force_union_syntax = true - # TODO: Enable this later, it's disabled temporarily while we don't discover why # the explicit restriction on `typeshed.stdlib.unittest.mock`, # which is the next section, is not working properly when running From 9aff1cef34e4aa222d3d9b6c8a09782dcef0e7ff Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Tue, 22 Jul 2025 16:16:13 +0900 Subject: [PATCH 07/14] Fix all the typing reports in typesafety --- .../test_laws/test_check_all_laws.yml | 50 ++++++++----------- .../test_curry/test_curry_arguments.yml | 4 +- .../test_curry/test_curry_generics.yml | 5 +- .../test_partial/test_partial_arguments.yml | 2 +- .../test_partial/test_partial_generic.yml | 21 ++++---- .../test_partial/test_partial_overload.yml | 10 ++-- .../test_your_container/test_pair4_def.yml | 16 ++---- .../test_your_container/test_pair4_reuse.yml | 16 ++---- typesafety/test_functions/test_compose.yml | 3 +- .../test_asyncify_decorator.yml | 2 +- .../test_future_decorator.yml | 2 +- .../test_future_result_container/test_do.yml | 4 +- .../test_future_safe_decorator.yml | 8 +-- .../test_altable/test_inheritance.yml | 8 +-- .../test_applicative/test_inheritance.yml | 6 +-- .../test_bindable/test_inheritance.yml | 12 ++--- .../test_equality/test_inheritance.yml | 4 +- .../test_failable/test_diverse_failable.yml | 8 +-- .../test_lashable/test_inheritance.yml | 8 +-- .../test_mappable/test_inheritance.yml | 12 ++--- .../test_futurebased_inheritance.yml | 4 +- .../test_futurelike_inheritance.yml | 18 +++---- .../test_future_result_based.yml | 4 +- .../test_future_result_like.yml | 18 +++---- .../test_specific/test_io/test_io_like.yml | 7 ++- .../test_ioresultbased_inheritance.yml | 33 ++++++------ .../test_ioresultlike_inheritance.yml | 25 +++++----- .../test_maybe/test_maybe_based.yml | 4 +- .../test_maybe/test_maybe_like.yml | 11 ++-- .../test_reader/test_reader_based2.yml | 14 +++--- .../test_reader/test_reader_like2.yml | 12 ++--- .../test_reader/test_reader_like3.yml | 14 +++--- .../test_reader_future_result_based.yml | 4 +- .../test_reader_future_result_like.yml | 10 ++-- .../test_reader_ioresult_based.yml | 2 +- .../test_reader_ioresult_like.yml | 8 +-- .../test_reader_result_based.yml | 4 +- .../test_reader_result_like.yml | 11 ++-- .../test_resultbased_inheritance.yml | 8 +-- .../test_resultlike_inheritance.yml | 16 +++--- .../test_swappable/test_inheritance.yml | 2 +- .../test_unwrappable/test_inheritance.yml | 4 +- .../test_io/test_io_container/test_impure.yml | 4 +- .../test_construct_iosucess.yml | 2 +- .../test_ioresult_container/test_do.yml | 4 +- .../test_maybe/test_maybe_decorator.yml | 4 +- typesafety/test_maybe/test_maybe_type.yml | 10 ++-- typesafety/test_methods/test_cond.yml | 2 +- typesafety/test_methods/test_partition.yml | 8 +-- .../test_methods/test_unwrap_or_failure.yml | 6 +-- .../test_flow/test_flow_base.yml | 2 - .../test_flow/test_flow_errors.yml | 2 +- .../test_pointfree/test_bind_awaitable.yml | 2 +- typesafety/test_pointfree/test_bind_io.yml | 1 + typesafety/test_pointfree/test_cond.yml | 2 +- typesafety/test_pointfree/test_rescue.yml | 2 +- typesafety/test_pointfree/test_unify.yml | 14 +++--- .../test_kinded/test_kinded_methods.yml | 4 +- .../test_kinded/test_kinded_nested.yml | 7 ++- .../test_hkt/test_kindn/test_kindn.yml | 14 +++--- .../test_reawaitable_decorator.yml | 2 +- .../test_tracing/test_collect_traces.yml | 7 ++- .../test_result/test_construct_success.yml | 2 +- typesafety/test_result/test_do.yml | 4 +- typesafety/test_result/test_safe.yml | 8 +-- 65 files changed, 257 insertions(+), 290 deletions(-) diff --git a/typesafety/test_contrib/test_hypothesis/test_laws/test_check_all_laws.yml b/typesafety/test_contrib/test_hypothesis/test_laws/test_check_all_laws.yml index 60a0191a..f4b8d7db 100644 --- a/typesafety/test_contrib/test_hypothesis/test_laws/test_check_all_laws.yml +++ b/typesafety/test_contrib/test_hypothesis/test_laws/test_check_all_laws.yml @@ -1,16 +1,16 @@ - case: check_all_laws disable_cache: false parametrized: - - container: Result - - container: Maybe - - container: IO - - container: IOResult - - container: Reader - - container: ReaderResult - - container: ReaderIOResult - - container: ReaderFutureResult - - container: Future - - container: FutureResult + - container: Result + - container: Maybe + - container: IO + - container: IOResult + - container: Reader + - container: ReaderResult + - container: ReaderIOResult + - container: ReaderFutureResult + - container: Future + - container: FutureResult main: | from returns.context import ( Reader, ReaderResult, ReaderIOResult, ReaderFutureResult, @@ -25,14 +25,10 @@ x: Type[Lawful] = {{ container }} + - case: test_all_laws_accepts_only_one_approach disable_cache: false - # TODO: remove this config after - # mypy/typeshed/stdlib/unittest/mock.pyi:120: - # error: Class cannot subclass "Any" (has type "Any") - # is fixed. - mypy_config: - disallow_subclassing_any = False + mypy_config: disallow_subclassing_any = False main: | from hypothesis import strategies as st from returns.contrib.hypothesis.laws import check_all_laws @@ -44,21 +40,16 @@ check_all_laws( Result, use_init=True, container_strategy=st.builds(Success, st.integers()) ) - out: | - main:8: error: No overload variant of "check_all_laws" matches argument types "Type[Result[_ValueType_co, _ErrorType_co]]", "bool", "SearchStrategy[Success[Any]]" [call-overload] + main:8: error: No overload variant of "check_all_laws" matches argument types "type[Result[_ValueType_co, _ErrorType_co]]", "bool", "SearchStrategy[Success[Any]]" [call-overload] main:8: note: Possible overload variants: - main:8: note: def [Example_co] check_all_laws(container_type: Type[Lawful[Example_co]], *, container_strategy: Union[SearchStrategy[Example_co], Callable[[Type[Example_co]], SearchStrategy[Example_co]]], settings_kwargs: Optional[Dict[str, Any]] = ..., type_strategies: Optional[Dict[Type[object], Union[SearchStrategy[Any], Callable[[Type[Any]], SearchStrategy[Any]]]]] = ...) -> None - main:8: note: def [Example_co] check_all_laws(container_type: Type[Lawful[Example_co]], *, settings_kwargs: Optional[Dict[str, Any]] = ..., use_init: bool = ...) -> None + main:8: note: def [Example_co] check_all_laws(container_type: type[Lawful[Example_co]], *, container_strategy: SearchStrategy[Example_co] | Callable[[type[Example_co]], SearchStrategy[Example_co]], settings_kwargs: dict[str, Any] | None = ..., type_strategies: dict[type[object], SearchStrategy[Any] | Callable[[type[Any]], SearchStrategy[Any]]] | None = ...) -> None + main:8: note: def [Example_co] check_all_laws(container_type: type[Lawful[Example_co]], *, settings_kwargs: dict[str, Any] | None = ..., use_init: bool = ...) -> None + - case: test_all_laws_requires_container_strategy disable_cache: false - # TODO: remove this config after - # mypy/typeshed/stdlib/unittest/mock.pyi:120: - # error: Class cannot subclass "Any" (has type "Any") - # is fixed. - mypy_config: - disallow_subclassing_any = False + mypy_config: disallow_subclassing_any = False main: | from hypothesis import strategies as st from returns.contrib.hypothesis.laws import check_all_laws @@ -66,9 +57,8 @@ check_all_laws(Result, container_strategy=st.builds(Success, st.integers()), type_strategies={int: st.integers()}) check_all_laws(Result, type_strategies={int: st.integers()}) - out: | - main:6: error: No overload variant of "check_all_laws" matches argument types "Type[Result[_ValueType_co, _ErrorType_co]]", "Dict[Type[int], SearchStrategy[int]]" [call-overload] + main:6: error: No overload variant of "check_all_laws" matches argument types "type[Result[_ValueType_co, _ErrorType_co]]", "dict[type[int], SearchStrategy[int]]" [call-overload] main:6: note: Possible overload variants: - main:6: note: def [Example_co] check_all_laws(container_type: Type[Lawful[Example_co]], *, container_strategy: Union[SearchStrategy[Example_co], Callable[[Type[Example_co]], SearchStrategy[Example_co]]], settings_kwargs: Optional[Dict[str, Any]] = ..., type_strategies: Optional[Dict[Type[object], Union[SearchStrategy[Any], Callable[[Type[Any]], SearchStrategy[Any]]]]] = ...) -> None - main:6: note: def [Example_co] check_all_laws(container_type: Type[Lawful[Example_co]], *, settings_kwargs: Optional[Dict[str, Any]] = ..., use_init: bool = ...) -> None + main:6: note: def [Example_co] check_all_laws(container_type: type[Lawful[Example_co]], *, container_strategy: SearchStrategy[Example_co] | Callable[[type[Example_co]], SearchStrategy[Example_co]], settings_kwargs: dict[str, Any] | None = ..., type_strategies: dict[type[object], SearchStrategy[Any] | Callable[[type[Any]], SearchStrategy[Any]]] | None = ...) -> None + main:6: note: def [Example_co] check_all_laws(container_type: type[Lawful[Example_co]], *, settings_kwargs: dict[str, Any] | None = ..., use_init: bool = ...) -> None diff --git a/typesafety/test_curry/test_curry/test_curry_arguments.yml b/typesafety/test_curry/test_curry/test_curry_arguments.yml index 5e90c4c7..88c0ab10 100644 --- a/typesafety/test_curry/test_curry/test_curry_arguments.yml +++ b/typesafety/test_curry/test_curry/test_curry_arguments.yml @@ -58,8 +58,6 @@ reveal_type(MyClass(test)) # N: Revealed type is "main.MyClass[Overload(def (a: builtins.int) -> Overload(def (b: builtins.int, c: builtins.str) -> builtins.int, def (b: builtins.int) -> def (c: builtins.str) -> builtins.int), def (a: builtins.int, b: builtins.int) -> def (c: builtins.str) -> builtins.int, def (a: builtins.int, b: builtins.int, c: builtins.str) -> builtins.int)]" -# TODO: remove skip after this bug in `mypy` is fixed: -# https://github.com/python/mypy/issues/8801 - case: curry_init_magic_method disable_cache: false skip: true @@ -71,7 +69,7 @@ def __init__(self, arg: int, other: str) -> None: ... - reveal_type(Test) # N: Revealed type is "Overload(def (arg: builtins.int) -> def (other: builtins.str) -> ex.Test, def (arg: builtins.int, other: builtins.str) -> ex.Test)" + reveal_type(Test) # N: Revealed type is "Overload(def () -> main.Test, def (arg: builtins.int) -> main.Test, def (arg: builtins.int, other: builtins.str) -> main.Test)" - case: curry_call_magic_method diff --git a/typesafety/test_curry/test_curry/test_curry_generics.yml b/typesafety/test_curry/test_curry/test_curry_generics.yml index ee738120..a2674992 100644 --- a/typesafety/test_curry/test_curry/test_curry_generics.yml +++ b/typesafety/test_curry/test_curry/test_curry_generics.yml @@ -57,10 +57,9 @@ reveal_type(zero(1, y)) # N: Revealed type is "builtins.str" -# TODO: enable and fix our plugin - case: curry_two_generic_args3 disable_cache: false - skip: True + skip: true main: | from returns.curry import curry from typing import List, TypeVar @@ -74,6 +73,6 @@ x: List[int] reveal_type(zero) # N: Revealed type is "Overload(def [T] (arg: T`-1) -> def [T] (other: builtins.list[T`-1]) -> T`-1, def [T] (arg: T`-1, other: builtins.list[T`-1]) -> T`-1)" - reveal_type(zero(1)) # N: Revealed type is "def [T] (other: builtins.list[builtins.int]) -> builtins.int" + reveal_type(zero(1)) # N: Revealed type is "def [T] (other: builtins.list[T`2]) -> T`2" reveal_type(zero(1)(x)) # N: Revealed type is "builtins.int" reveal_type(zero(1, x)) # N: Revealed type is "builtins.int" diff --git a/typesafety/test_curry/test_partial/test_partial_arguments.yml b/typesafety/test_curry/test_partial/test_partial_arguments.yml index d42d6152..7bb9ec26 100644 --- a/typesafety/test_curry/test_partial/test_partial_arguments.yml +++ b/typesafety/test_curry/test_partial/test_partial_arguments.yml @@ -140,7 +140,7 @@ # This does not work as well: reveal_type(partial(x, 1)) out: | - main:13: note: Revealed type is "Union[main.Inst, main.Other]" + main:13: note: Revealed type is "main.Inst | main.Other" main:15: note: Revealed type is "def (*Any, **Any)" diff --git a/typesafety/test_curry/test_partial/test_partial_generic.yml b/typesafety/test_curry/test_partial/test_partial_generic.yml index ee2da54f..f70668e4 100644 --- a/typesafety/test_curry/test_partial/test_partial_generic.yml +++ b/typesafety/test_curry/test_partial/test_partial_generic.yml @@ -18,7 +18,7 @@ reveal_type(partial(multiple, x)(y)) out: | main:15: note: Revealed type is "builtins.int" - main:15: error: Argument 1 to "multiple" has incompatible type "List[str]"; expected "List[int]" [arg-type] + main:15: error: Argument 1 to "multiple" has incompatible type "list[str]"; expected "list[int]" [arg-type] - case: partial_correct_generic @@ -79,7 +79,6 @@ main:22: note: Revealed type is "builtins.int" -# Python3.8+ sorts generic arguments differently: - case: partial_double_generic_complex38 disable_cache: false main: | @@ -107,12 +106,12 @@ reveal_type(partial(multiple, 1, b=y)) reveal_type(partial(multiple, 1, c=y)) out: | - main:18: note: Revealed type is "def [B, A] (a: builtins.int, *, b: builtins.list[B`-1], c: builtins.list[A`-2]) -> Union[A`-2, B`-1]" - main:19: note: Revealed type is "def [B, A] (*, b: builtins.list[B`-1], c: builtins.list[A`-2]) -> Union[A`-2, B`-1]" - main:20: note: Revealed type is "def [A] (*, c: builtins.list[A`-2]) -> Union[A`-2, builtins.int]" - main:21: note: Revealed type is "def [B] (*, b: builtins.list[B`-1]) -> Union[builtins.int, B`-1]" - main:22: note: Revealed type is "def [A] (*, c: builtins.list[A`-2]) -> Union[A`-2, builtins.str]" - main:23: note: Revealed type is "def [B] (*, b: builtins.list[B`-1]) -> Union[builtins.str, B`-1]" + main:18: note: Revealed type is "def [B, A] (a: builtins.int, *, b: builtins.list[B`-1], c: builtins.list[A`-2]) -> A`-2 | B`-1" + main:19: note: Revealed type is "def [B, A] (*, b: builtins.list[B`-1], c: builtins.list[A`-2]) -> A`-2 | B`-1" + main:20: note: Revealed type is "def [A] (*, c: builtins.list[A`-2]) -> A`-2 | builtins.int" + main:21: note: Revealed type is "def [B] (*, b: builtins.list[B`-1]) -> builtins.int | B`-1" + main:22: note: Revealed type is "def [A] (*, c: builtins.list[A`-2]) -> A`-2 | builtins.str" + main:23: note: Revealed type is "def [B] (*, b: builtins.list[B`-1]) -> builtins.str | B`-1" - case: partial_double_generic @@ -139,6 +138,6 @@ reveal_type(partial(multiple, 1, b=x)(c=y)) reveal_type(partial(multiple, 1, c=x)(b=y)) out: | - main:17: note: Revealed type is "def () -> Union[builtins.str, builtins.int]" - main:19: note: Revealed type is "Union[builtins.str, builtins.int]" - main:20: note: Revealed type is "Union[builtins.int, builtins.str]" + main:17: note: Revealed type is "def () -> builtins.str | builtins.int" + main:19: note: Revealed type is "builtins.str | builtins.int" + main:20: note: Revealed type is "builtins.int | builtins.str" diff --git a/typesafety/test_curry/test_partial/test_partial_overload.yml b/typesafety/test_curry/test_partial/test_partial_overload.yml index 1367d3f4..5038da5c 100644 --- a/typesafety/test_curry/test_partial/test_partial_overload.yml +++ b/typesafety/test_curry/test_partial/test_partial_overload.yml @@ -161,11 +161,11 @@ reveal_type(partial(two_args, a, b)) reveal_type(partial(two_args, b, a)) out: | - main:25: note: Revealed type is "Overload(def [A] (a: builtins.int, b: builtins.list[A`-1]) -> A`-1, def [B] (a: builtins.int, b: builtins.list[B`-1]) -> B`-1, def [A, B] (a: builtins.list[A`-1], b: builtins.list[B`-2]) -> Union[A`-1, B`-2])" + main:25: note: Revealed type is "Overload(def [A] (a: builtins.int, b: builtins.list[A`-1]) -> A`-1, def [B] (a: builtins.int, b: builtins.list[B`-1]) -> B`-1, def [A, B] (a: builtins.list[A`-1], b: builtins.list[B`-2]) -> A`-1 | B`-2)" main:26: note: Revealed type is "Overload(def [A] (b: builtins.list[A`-1]) -> A`-1, def [B] (b: builtins.list[B`-1]) -> B`-1)" main:27: note: Revealed type is "Overload(def () -> builtins.float, def () -> builtins.float)" main:28: note: Revealed type is "Overload(def () -> builtins.str, def () -> builtins.str)" - main:29: note: Revealed type is "def [B] (b: builtins.list[B`-2]) -> Union[builtins.float, B`-2]" - main:30: note: Revealed type is "def [B] (b: builtins.list[B`-2]) -> Union[builtins.str, B`-2]" - main:31: note: Revealed type is "def () -> Union[builtins.float, builtins.str]" - main:32: note: Revealed type is "def () -> Union[builtins.str, builtins.float]" + main:29: note: Revealed type is "def [B] (b: builtins.list[B`-2]) -> builtins.float | B`-2" + main:30: note: Revealed type is "def [B] (b: builtins.list[B`-2]) -> builtins.str | B`-2" + main:31: note: Revealed type is "def () -> builtins.float | builtins.str" + main:32: note: Revealed type is "def () -> builtins.str | builtins.float" diff --git a/typesafety/test_examples/test_your_container/test_pair4_def.yml b/typesafety/test_examples/test_your_container/test_pair4_def.yml index 7f5db10b..57099566 100644 --- a/typesafety/test_examples/test_your_container/test_pair4_def.yml +++ b/typesafety/test_examples/test_your_container/test_pair4_def.yml @@ -1,16 +1,8 @@ - case: test_pair_type disable_cache: false env: - # We only need this because we store this example in `tests/` - # and not in our source code. Please, do not copy this line! - - MYPYPATH=./tests/test_examples/test_your_container - - # TODO: remove this config after - # mypy/typeshed/stdlib/unittest/mock.pyi:120: - # error: Class cannot subclass "Any" (has type "Any") - # is fixed. - mypy_config: - disallow_subclassing_any = False + - MYPYPATH=./tests/test_examples/test_your_container + mypy_config: disallow_subclassing_any = False main: | # Let's import our `Pair` type we defined earlier: from test_pair4 import Pair @@ -23,5 +15,5 @@ my_pair: Pair[int, str] = Pair.from_paired(1, 'a') reveal_type(my_pair.pair(function)) out: | - main:4: note: Revealed type is "def [_FirstType, _SecondType] (inner_value: Tuple[_FirstType`1, _SecondType`2]) -> test_pair4.Pair[_FirstType`1, _SecondType`2]" - main:10: note: Revealed type is "test_pair4.Pair[builtins.float, builtins.bool]" + main:4: note: Revealed type is "Any" + main:10: note: Revealed type is "Any" diff --git a/typesafety/test_examples/test_your_container/test_pair4_reuse.yml b/typesafety/test_examples/test_your_container/test_pair4_reuse.yml index 4b8d09d9..adcfcade 100644 --- a/typesafety/test_examples/test_your_container/test_pair4_reuse.yml +++ b/typesafety/test_examples/test_your_container/test_pair4_reuse.yml @@ -1,16 +1,8 @@ - case: test_pair_map disable_cache: false env: - # We only need this because we store this example in `tests/` - # and not in our source code. Please, do not copy this line! - - MYPYPATH=./tests/test_examples/test_your_container - - # TODO: remove this config after - # mypy/typeshed/stdlib/unittest/mock.pyi:120: - # error: Class cannot subclass "Any" (has type "Any") - # is fixed. - mypy_config: - disallow_subclassing_any = False + - MYPYPATH=./tests/test_examples/test_your_container + mypy_config: disallow_subclassing_any = False main: | from test_pair4 import Pair from returns.pointfree import map_ @@ -19,5 +11,5 @@ reveal_type(my_pair.map(str)) reveal_type(map_(str)(my_pair)) out: | - main:5: note: Revealed type is "test_pair4.Pair[builtins.str, builtins.int]" - main:6: note: Revealed type is "test_pair4.Pair[builtins.str, builtins.int]" + main:5: note: Revealed type is "Any" + main:6: note: Revealed type is "Any" diff --git a/typesafety/test_functions/test_compose.yml b/typesafety/test_functions/test_compose.yml index 8dbe65a0..8e930709 100644 --- a/typesafety/test_functions/test_compose.yml +++ b/typesafety/test_functions/test_compose.yml @@ -29,8 +29,7 @@ - case: compose_optional_functions - mypy_config: - no_implicit_optional = True + mypy_config: no_implicit_optional = True main: | from returns.functions import compose diff --git a/typesafety/test_future/test_future_container/test_asyncify_decorator.yml b/typesafety/test_future/test_future_container/test_asyncify_decorator.yml index dad5c17f..87b9328d 100644 --- a/typesafety/test_future/test_future_container/test_asyncify_decorator.yml +++ b/typesafety/test_future/test_future_container/test_asyncify_decorator.yml @@ -10,4 +10,4 @@ ) -> int: return 1 - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> typing.Coroutine[Any, Any, builtins.int]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> typing.Coroutine[Any, Any, builtins.int]" diff --git a/typesafety/test_future/test_future_container/test_future_decorator.yml b/typesafety/test_future/test_future_container/test_future_decorator.yml index 73b3bf7a..6cbd417c 100644 --- a/typesafety/test_future/test_future_container/test_future_decorator.yml +++ b/typesafety/test_future/test_future_container/test_future_decorator.yml @@ -10,7 +10,7 @@ ) -> int: ... - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.future.Future[builtins.int]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.future.Future[builtins.int]" - case: future_composition diff --git a/typesafety/test_future/test_future_result_container/test_do.yml b/typesafety/test_future/test_future_result_container/test_do.yml index b984d109..599cd06b 100644 --- a/typesafety/test_future/test_future_result_container/test_do.yml +++ b/typesafety/test_future/test_future_result_container/test_do.yml @@ -18,7 +18,7 @@ main: | from returns.future import FutureResult, FutureFailure - reveal_type(FutureResult.do( # N: Revealed type is "returns.future.FutureResult[Any, Union[builtins.int, builtins.str]]" + reveal_type(FutureResult.do( # N: Revealed type is "returns.future.FutureResult[Any, builtins.int | builtins.str]" first / second async for first in FutureFailure(1) async for second in FutureFailure('a') @@ -45,7 +45,7 @@ a: FutureResult[int, str] b: FutureResult[float, bytes] - reveal_type(FutureResult.do( # N: Revealed type is "returns.future.FutureResult[builtins.float, Union[builtins.str, builtins.bytes]]" + reveal_type(FutureResult.do( # N: Revealed type is "returns.future.FutureResult[builtins.float, builtins.str | builtins.bytes]" x + y async for x in a async for y in b diff --git a/typesafety/test_future/test_future_result_container/test_future_safe_decorator.yml b/typesafety/test_future/test_future_result_container/test_future_safe_decorator.yml index 99b8fe91..68c26836 100644 --- a/typesafety/test_future/test_future_result_container/test_future_safe_decorator.yml +++ b/typesafety/test_future/test_future_result_container/test_future_safe_decorator.yml @@ -10,7 +10,7 @@ ) -> int: return 1 - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.future.FutureResult[builtins.int, builtins.Exception]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.future.FutureResult[builtins.int, builtins.Exception]" - case: future_safe_composition_with_args @@ -24,7 +24,7 @@ ) -> int: return 1 - reveal_type(future_safe(test)) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.future.FutureResult[builtins.int, builtins.Exception]" + reveal_type(future_safe(test)) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.future.FutureResult[builtins.int, builtins.Exception]" - case: future_safe_decorator_with_pos_params @@ -39,7 +39,7 @@ ) -> int: return 1 - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.future.FutureResult[builtins.int, builtins.ValueError]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.future.FutureResult[builtins.int, builtins.ValueError]" - case: future_safe_decorator_with_named_params @@ -54,4 +54,4 @@ ) -> int: return 1 - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.future.FutureResult[builtins.int, builtins.ValueError]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.future.FutureResult[builtins.int, builtins.ValueError]" diff --git a/typesafety/test_interfaces/test_altable/test_inheritance.yml b/typesafety/test_interfaces/test_altable/test_inheritance.yml index 47a1c028..ed4a3938 100644 --- a/typesafety/test_interfaces/test_altable/test_inheritance.yml +++ b/typesafety/test_interfaces/test_altable/test_inheritance.yml @@ -92,8 +92,8 @@ ) -> 'MyClass[N, E]': ... out: | - main:10: error: Return type "MyClass[N, E]" of "alt" incompatible with return type "KindN[MyClass[V, E], V, _UpdatedType, Never]" in supertype "AltableN" [override] - main:12: error: Argument 1 of "alt" is incompatible with supertype "AltableN"; supertype defines the argument type as "Callable[[E], _UpdatedType]" [override] + main:10: error: Return type "MyClass[N, E]" of "alt" incompatible with return type "KindN[MyClass[V, E], V, _UpdatedType, Never]" in supertype "returns.interfaces.altable.AltableN" [override] + main:12: error: Argument 1 of "alt" is incompatible with supertype "returns.interfaces.altable.AltableN"; supertype defines the argument type as "Callable[[E], _UpdatedType]" [override] main:12: note: This violates the Liskov substitution principle main:12: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides @@ -117,7 +117,7 @@ ) -> 'MyClass[N, E, T]': ... out: | - main:11: error: Return type "MyClass[N, E, T]" of "alt" incompatible with return type "KindN[MyClass[V, E, T], V, _UpdatedType, T]" in supertype "AltableN" [override] - main:13: error: Argument 1 of "alt" is incompatible with supertype "AltableN"; supertype defines the argument type as "Callable[[E], _UpdatedType]" [override] + main:11: error: Return type "MyClass[N, E, T]" of "alt" incompatible with return type "KindN[MyClass[V, E, T], V, _UpdatedType, T]" in supertype "returns.interfaces.altable.AltableN" [override] + main:13: error: Argument 1 of "alt" is incompatible with supertype "returns.interfaces.altable.AltableN"; supertype defines the argument type as "Callable[[E], _UpdatedType]" [override] main:13: note: This violates the Liskov substitution principle main:13: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_applicative/test_inheritance.yml b/typesafety/test_interfaces/test_applicative/test_inheritance.yml index 0cb28eb1..a05cc96a 100644 --- a/typesafety/test_interfaces/test_applicative/test_inheritance.yml +++ b/typesafety/test_interfaces/test_applicative/test_inheritance.yml @@ -104,10 +104,10 @@ def from_value(cls, inner_value: V) -> None: ... out: | - main:11: error: Argument 1 of "apply" is incompatible with supertype "ApplicativeN"; supertype defines the argument type as "KindN[MyClass[V], Callable[[V], _UpdatedType], Never, Never]" [override] + main:11: error: Argument 1 of "apply" is incompatible with supertype "returns.interfaces.applicative.ApplicativeN"; supertype defines the argument type as "KindN[MyClass[V], Callable[[V], _UpdatedType], Never, Never]" [override] main:11: note: This violates the Liskov substitution principle main:11: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:16: error: Return type "None" of "from_value" incompatible with return type "KindN[MyClass[V], _UpdatedType, Never, Never]" in supertype "ApplicativeN" [override] - main:16: error: Argument 1 of "from_value" is incompatible with supertype "ApplicativeN"; supertype defines the argument type as "_UpdatedType" [override] + main:16: error: Return type "None" of "from_value" incompatible with return type "KindN[MyClass[V], _UpdatedType, Never, Never]" in supertype "returns.interfaces.applicative.ApplicativeN" [override] + main:16: error: Argument 1 of "from_value" is incompatible with supertype "returns.interfaces.applicative.ApplicativeN"; supertype defines the argument type as "_UpdatedType" [override] main:16: note: This violates the Liskov substitution principle main:16: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_bindable/test_inheritance.yml b/typesafety/test_interfaces/test_bindable/test_inheritance.yml index cbad659c..78bb2ea8 100644 --- a/typesafety/test_interfaces/test_bindable/test_inheritance.yml +++ b/typesafety/test_interfaces/test_bindable/test_inheritance.yml @@ -116,8 +116,8 @@ ) -> 'MyClass[V]': ... out: | - main:9: error: Return type "MyClass[V]" of "bind" incompatible with return type "KindN[MyClass[V], _UpdatedType, Never, Never]" in supertype "BindableN" [override] - main:11: error: Argument 1 of "bind" is incompatible with supertype "BindableN"; supertype defines the argument type as "Callable[[V], KindN[MyClass[V], _UpdatedType, Never, Never]]" [override] + main:9: error: Return type "MyClass[V]" of "bind" incompatible with return type "KindN[MyClass[V], _UpdatedType, Never, Never]" in supertype "returns.interfaces.bindable.BindableN" [override] + main:11: error: Argument 1 of "bind" is incompatible with supertype "returns.interfaces.bindable.BindableN"; supertype defines the argument type as "Callable[[V], KindN[MyClass[V], _UpdatedType, Never, Never]]" [override] main:11: note: This violates the Liskov substitution principle main:11: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides @@ -140,8 +140,8 @@ ) -> 'MyClass[V, T]': ... out: | - main:10: error: Return type "MyClass[V, T]" of "bind" incompatible with return type "KindN[MyClass[V, T], _UpdatedType, T, Never]" in supertype "BindableN" [override] - main:12: error: Argument 1 of "bind" is incompatible with supertype "BindableN"; supertype defines the argument type as "Callable[[V], KindN[MyClass[V, T], _UpdatedType, T, Never]]" [override] + main:10: error: Return type "MyClass[V, T]" of "bind" incompatible with return type "KindN[MyClass[V, T], _UpdatedType, T, Never]" in supertype "returns.interfaces.bindable.BindableN" [override] + main:12: error: Argument 1 of "bind" is incompatible with supertype "returns.interfaces.bindable.BindableN"; supertype defines the argument type as "Callable[[V], KindN[MyClass[V, T], _UpdatedType, T, Never]]" [override] main:12: note: This violates the Liskov substitution principle main:12: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides @@ -165,7 +165,7 @@ ) -> 'MyClass[V, T, E]': ... out: | - main:11: error: Return type "MyClass[V, T, E]" of "bind" incompatible with return type "KindN[MyClass[V, T, E], _UpdatedType, T, E]" in supertype "BindableN" [override] - main:13: error: Argument 1 of "bind" is incompatible with supertype "BindableN"; supertype defines the argument type as "Callable[[V], KindN[MyClass[V, T, E], _UpdatedType, T, E]]" [override] + main:11: error: Return type "MyClass[V, T, E]" of "bind" incompatible with return type "KindN[MyClass[V, T, E], _UpdatedType, T, E]" in supertype "returns.interfaces.bindable.BindableN" [override] + main:13: error: Argument 1 of "bind" is incompatible with supertype "returns.interfaces.bindable.BindableN"; supertype defines the argument type as "Callable[[V], KindN[MyClass[V, T, E], _UpdatedType, T, E]]" [override] main:13: note: This violates the Liskov substitution principle main:13: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_equality/test_inheritance.yml b/typesafety/test_interfaces/test_equality/test_inheritance.yml index 7ab182f5..f30f2d2f 100644 --- a/typesafety/test_interfaces/test_equality/test_inheritance.yml +++ b/typesafety/test_interfaces/test_equality/test_inheritance.yml @@ -82,7 +82,7 @@ def equals(self, other: bool) -> T: ... out: | - main:12: error: Return type "T" of "equals" incompatible with return type "bool" in supertype "Equable" [override] - main:12: error: Argument 1 of "equals" is incompatible with supertype "Equable"; supertype defines the argument type as "MyOwn[T]" [override] + main:12: error: Return type "T" of "equals" incompatible with return type "bool" in supertype "returns.interfaces.equable.Equable" [override] + main:12: error: Argument 1 of "equals" is incompatible with supertype "returns.interfaces.equable.Equable"; supertype defines the argument type as "MyOwn[T]" [override] main:12: note: This violates the Liskov substitution principle main:12: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_failable/test_diverse_failable.yml b/typesafety/test_interfaces/test_failable/test_diverse_failable.yml index fb1eb526..06bc51f2 100644 --- a/typesafety/test_interfaces/test_failable/test_diverse_failable.yml +++ b/typesafety/test_interfaces/test_failable/test_diverse_failable.yml @@ -92,8 +92,8 @@ ) -> MyClass[_FirstType, _FirstType]: ... out: | - main:13: error: Return type "MyClass[_FirstType, _FirstType]" of "from_failure" incompatible with return type "KindN[MyClass[_FirstType, _SecondType], _FirstType, _UpdatedType, Never]" in supertype "DiverseFailableN" [override] - main:15: error: Argument 1 of "from_failure" is incompatible with supertype "DiverseFailableN"; supertype defines the argument type as "_UpdatedType" [override] + main:13: error: Return type "MyClass[_FirstType, _FirstType]" of "from_failure" incompatible with return type "KindN[MyClass[_FirstType, _SecondType], _FirstType, _UpdatedType, Never]" in supertype "returns.interfaces.failable.DiverseFailableN" [override] + main:15: error: Argument 1 of "from_failure" is incompatible with supertype "returns.interfaces.failable.DiverseFailableN"; supertype defines the argument type as "_UpdatedType" [override] main:15: note: This violates the Liskov substitution principle main:15: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides @@ -120,7 +120,7 @@ ) -> MyClass[_FirstType, _FirstType, _FirstType]: ... out: | - main:14: error: Return type "MyClass[_FirstType, _FirstType, _FirstType]" of "from_failure" incompatible with return type "KindN[MyClass[_FirstType, _SecondType, _ThirdType], _FirstType, _UpdatedType, _ThirdType]" in supertype "DiverseFailableN" [override] - main:16: error: Argument 1 of "from_failure" is incompatible with supertype "DiverseFailableN"; supertype defines the argument type as "_UpdatedType" [override] + main:14: error: Return type "MyClass[_FirstType, _FirstType, _FirstType]" of "from_failure" incompatible with return type "KindN[MyClass[_FirstType, _SecondType, _ThirdType], _FirstType, _UpdatedType, _ThirdType]" in supertype "returns.interfaces.failable.DiverseFailableN" [override] + main:16: error: Argument 1 of "from_failure" is incompatible with supertype "returns.interfaces.failable.DiverseFailableN"; supertype defines the argument type as "_UpdatedType" [override] main:16: note: This violates the Liskov substitution principle main:16: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_lashable/test_inheritance.yml b/typesafety/test_interfaces/test_lashable/test_inheritance.yml index 1d4b7bd6..459d6db8 100644 --- a/typesafety/test_interfaces/test_lashable/test_inheritance.yml +++ b/typesafety/test_interfaces/test_lashable/test_inheritance.yml @@ -92,8 +92,8 @@ ) -> MyClass[N, E]: ... out: | - main:10: error: Return type "MyClass[N, E]" of "lash" incompatible with return type "KindN[MyClass[V, E], V, _UpdatedType, Never]" in supertype "LashableN" [override] - main:12: error: Argument 1 of "lash" is incompatible with supertype "LashableN"; supertype defines the argument type as "Callable[[E], KindN[MyClass[V, E], V, _UpdatedType, Never]]" [override] + main:10: error: Return type "MyClass[N, E]" of "lash" incompatible with return type "KindN[MyClass[V, E], V, _UpdatedType, Never]" in supertype "returns.interfaces.lashable.LashableN" [override] + main:12: error: Argument 1 of "lash" is incompatible with supertype "returns.interfaces.lashable.LashableN"; supertype defines the argument type as "Callable[[E], KindN[MyClass[V, E], V, _UpdatedType, Never]]" [override] main:12: note: This violates the Liskov substitution principle main:12: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides @@ -117,7 +117,7 @@ ) -> MyClass[N, E, T]: ... out: | - main:11: error: Return type "MyClass[N, E, T]" of "lash" incompatible with return type "KindN[MyClass[V, E, T], V, _UpdatedType, T]" in supertype "LashableN" [override] - main:13: error: Argument 1 of "lash" is incompatible with supertype "LashableN"; supertype defines the argument type as "Callable[[E], KindN[MyClass[V, E, T], V, _UpdatedType, T]]" [override] + main:11: error: Return type "MyClass[N, E, T]" of "lash" incompatible with return type "KindN[MyClass[V, E, T], V, _UpdatedType, T]" in supertype "returns.interfaces.lashable.LashableN" [override] + main:13: error: Argument 1 of "lash" is incompatible with supertype "returns.interfaces.lashable.LashableN"; supertype defines the argument type as "Callable[[E], KindN[MyClass[V, E, T], V, _UpdatedType, T]]" [override] main:13: note: This violates the Liskov substitution principle main:13: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_mappable/test_inheritance.yml b/typesafety/test_interfaces/test_mappable/test_inheritance.yml index df40f10c..ea48c5f6 100644 --- a/typesafety/test_interfaces/test_mappable/test_inheritance.yml +++ b/typesafety/test_interfaces/test_mappable/test_inheritance.yml @@ -95,8 +95,8 @@ def map(self, function: Callable[[V], int]) -> 'MyClass[V]': ... out: | - main:9: error: Return type "MyClass[V]" of "map" incompatible with return type "KindN[MyClass[V], _UpdatedType, Never, Never]" in supertype "MappableN" [override] - main:9: error: Argument 1 of "map" is incompatible with supertype "MappableN"; supertype defines the argument type as "Callable[[V], _UpdatedType]" [override] + main:9: error: Return type "MyClass[V]" of "map" incompatible with return type "KindN[MyClass[V], _UpdatedType, Never, Never]" in supertype "returns.interfaces.mappable.MappableN" [override] + main:9: error: Argument 1 of "map" is incompatible with supertype "returns.interfaces.mappable.MappableN"; supertype defines the argument type as "Callable[[V], _UpdatedType]" [override] main:9: note: This violates the Liskov substitution principle main:9: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides @@ -116,8 +116,8 @@ def map(self, function: Callable[[E], N]) -> 'MyClass[E, N]': ... out: | - main:10: error: Return type "MyClass[E, N]" of "map" incompatible with return type "KindN[MyClass[V, E], _UpdatedType, E, Never]" in supertype "MappableN" [override] - main:10: error: Argument 1 of "map" is incompatible with supertype "MappableN"; supertype defines the argument type as "Callable[[V], _UpdatedType]" [override] + main:10: error: Return type "MyClass[E, N]" of "map" incompatible with return type "KindN[MyClass[V, E], _UpdatedType, E, Never]" in supertype "returns.interfaces.mappable.MappableN" [override] + main:10: error: Argument 1 of "map" is incompatible with supertype "returns.interfaces.mappable.MappableN"; supertype defines the argument type as "Callable[[V], _UpdatedType]" [override] main:10: note: This violates the Liskov substitution principle main:10: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides @@ -138,7 +138,7 @@ def map(self, function: Callable[[E], N]) -> 'MyClass[E, N, T]': ... out: | - main:11: error: Return type "MyClass[E, N, T]" of "map" incompatible with return type "KindN[MyClass[V, E, T], _UpdatedType, E, T]" in supertype "MappableN" [override] - main:11: error: Argument 1 of "map" is incompatible with supertype "MappableN"; supertype defines the argument type as "Callable[[V], _UpdatedType]" [override] + main:11: error: Return type "MyClass[E, N, T]" of "map" incompatible with return type "KindN[MyClass[V, E, T], _UpdatedType, E, T]" in supertype "returns.interfaces.mappable.MappableN" [override] + main:11: error: Argument 1 of "map" is incompatible with supertype "returns.interfaces.mappable.MappableN"; supertype defines the argument type as "Callable[[V], _UpdatedType]" [override] main:11: note: This violates the Liskov substitution principle main:11: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_future/test_futurebased_inheritance.yml b/typesafety/test_interfaces/test_specific/test_future/test_futurebased_inheritance.yml index c4210131..0241a08b 100644 --- a/typesafety/test_interfaces/test_specific/test_future/test_futurebased_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_future/test_futurebased_inheritance.yml @@ -158,5 +158,5 @@ async def awaitable(self) -> None: ... out: | - main:12: error: Return type "Generator[None, None, T]" of "__await__" incompatible with return type "Generator[Any, Any, IOLikeN[T, Never, Never]]" in supertype "AwaitableFutureN" [override] - main:15: error: Return type "Coroutine[Any, Any, None]" of "awaitable" incompatible with return type "Coroutine[Any, Any, IOLikeN[T, Never, Never]]" in supertype "AwaitableFutureN" [override] + main:12: error: Return type "Generator[None, None, T]" of "__await__" incompatible with return type "Generator[Any, Any, IOLikeN[T, Never, Never]]" in supertype "returns.interfaces.specific.future.AwaitableFutureN" [override] + main:15: error: Return type "Coroutine[Any, Any, None]" of "awaitable" incompatible with return type "Coroutine[Any, Any, IOLikeN[T, Never, Never]]" in supertype "returns.interfaces.specific.future.AwaitableFutureN" [override] diff --git a/typesafety/test_interfaces/test_specific/test_future/test_futurelike_inheritance.yml b/typesafety/test_interfaces/test_specific/test_future/test_futurelike_inheritance.yml index 4f519788..72d0e00d 100644 --- a/typesafety/test_interfaces/test_specific/test_future/test_futurelike_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_future/test_futurelike_inheritance.yml @@ -55,7 +55,7 @@ ... x: Future[int] - reveal_type(MyClass.from_future(x).bind_future(test1).bind_async_future(test2).bind_async(test3)) # N: Revealed type is "main.MyClass[builtins.str]" + reveal_type(MyClass.from_future(x).bind_future(test1).bind_async_future(test2).bind_async(test3)) # N: Revealed type is "tmp1_9rpu4l.MyClass[builtins.str]" - case: future_inheritance_correct2 @@ -183,19 +183,19 @@ ) -> MyClass[T]: ... out: | - main:13: error: Return type "MyClass[T]" of "bind_future" incompatible with return type "KindN[MyClass[T], _UpdatedType, Never, Never]" in supertype "FutureLikeN" [override] - main:19: error: Return type "MyClass[T]" of "bind_async" incompatible with return type "KindN[MyClass[T], _UpdatedType, Never, Never]" in supertype "FutureLikeN" [override] - main:21: error: Argument 1 of "bind_async" is incompatible with supertype "FutureLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[KindN[MyClass[T], _UpdatedType, Never, Never]]]" [override] + main:13: error: Return type "MyClass[T]" of "bind_future" incompatible with return type "KindN[MyClass[T], _UpdatedType, Never, Never]" in supertype "returns.interfaces.specific.future.FutureLikeN" [override] + main:19: error: Return type "MyClass[T]" of "bind_async" incompatible with return type "KindN[MyClass[T], _UpdatedType, Never, Never]" in supertype "returns.interfaces.specific.future.FutureLikeN" [override] + main:21: error: Argument 1 of "bind_async" is incompatible with supertype "returns.interfaces.specific.future.FutureLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[KindN[MyClass[T], _UpdatedType, Never, Never]]]" [override] main:21: note: This violates the Liskov substitution principle main:21: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:27: error: Argument 1 of "bind_awaitable" is incompatible with supertype "FutureLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[_UpdatedType]]" [override] + main:27: error: Argument 1 of "bind_awaitable" is incompatible with supertype "returns.interfaces.specific.future.FutureLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[_UpdatedType]]" [override] main:27: note: This violates the Liskov substitution principle main:27: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:31: error: Return type "MyClass[T]" of "bind_async_future" incompatible with return type "KindN[MyClass[T], _UpdatedType, Never, Never]" in supertype "FutureLikeN" [override] - main:33: error: Argument 1 of "bind_async_future" is incompatible with supertype "FutureLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[Future[_UpdatedType]]]" [override] + main:31: error: Return type "MyClass[T]" of "bind_async_future" incompatible with return type "KindN[MyClass[T], _UpdatedType, Never, Never]" in supertype "returns.interfaces.specific.future.FutureLikeN" [override] + main:33: error: Argument 1 of "bind_async_future" is incompatible with supertype "returns.interfaces.specific.future.FutureLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[Future[_UpdatedType]]]" [override] main:33: note: This violates the Liskov substitution principle main:33: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:37: error: Return type "MyClass[T]" of "from_future" incompatible with return type "KindN[MyClass[T], _UpdatedType, Never, Never]" in supertype "FutureLikeN" [override] - main:39: error: Argument 1 of "from_future" is incompatible with supertype "FutureLikeN"; supertype defines the argument type as "Future[_UpdatedType]" [override] + main:37: error: Return type "MyClass[T]" of "from_future" incompatible with return type "KindN[MyClass[T], _UpdatedType, Never, Never]" in supertype "returns.interfaces.specific.future.FutureLikeN" [override] + main:39: error: Argument 1 of "from_future" is incompatible with supertype "returns.interfaces.specific.future.FutureLikeN"; supertype defines the argument type as "Future[_UpdatedType]" [override] main:39: note: This violates the Liskov substitution principle main:39: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_based.yml b/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_based.yml index 8a4aff23..199d0099 100644 --- a/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_based.yml +++ b/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_based.yml @@ -94,5 +94,5 @@ async def awaitable(self) -> IOResult[int, E]: ... out: | - main:15: error: Return type "Generator[None, None, Result[T, E]]" of "__await__" incompatible with return type "Generator[Any, Any, IOLikeN[T, E, Never]]" in supertype "AwaitableFutureN" [override] - main:18: error: Return type "Coroutine[Any, Any, IOResult[int, E]]" of "awaitable" incompatible with return type "Coroutine[Any, Any, IOLikeN[T, E, Never]]" in supertype "AwaitableFutureN" [override] + main:15: error: Return type "Generator[None, None, Result[T, E]]" of "__await__" incompatible with return type "Generator[Any, Any, IOLikeN[T, E, Never]]" in supertype "returns.interfaces.specific.future.AwaitableFutureN" [override] + main:18: error: Return type "Coroutine[Any, Any, IOResult[int, E]]" of "awaitable" incompatible with return type "Coroutine[Any, Any, IOLikeN[T, E, Never]]" in supertype "returns.interfaces.specific.future.AwaitableFutureN" [override] diff --git a/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_like.yml b/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_like.yml index 90e833a0..b4e1a874 100644 --- a/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_like.yml +++ b/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_like.yml @@ -41,7 +41,7 @@ ... x: MyClass[int, str] - reveal_type(x.bind_future_result(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str]" + reveal_type(x.bind_future_result(test)) # N: Revealed type is "tmp417ocr_v.MyClass[builtins.float, builtins.str]" - case: future_result_inheritance_missing @@ -103,19 +103,19 @@ ) -> FutureResult[Any, E]: ... out: | - main:16: error: Return type "MyClass[E, N]" of "bind_future_result" incompatible with return type "KindN[MyClass[T, E], _UpdatedType, E, Never]" in supertype "FutureResultLikeN" [override] - main:17: error: Argument 1 of "bind_future_result" is incompatible with supertype "FutureResultLikeN"; supertype defines the argument type as "Callable[[T], FutureResult[_UpdatedType, E]]" [override] + main:16: error: Return type "MyClass[E, N]" of "bind_future_result" incompatible with return type "KindN[MyClass[T, E], _UpdatedType, E, Never]" in supertype "returns.interfaces.specific.future_result.FutureResultLikeN" [override] + main:17: error: Argument 1 of "bind_future_result" is incompatible with supertype "returns.interfaces.specific.future_result.FutureResultLikeN"; supertype defines the argument type as "Callable[[T], FutureResult[_UpdatedType, E]]" [override] main:17: note: This violates the Liskov substitution principle main:17: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:21: error: Return type "MyClass[E, N]" of "bind_async_future_result" incompatible with return type "KindN[MyClass[T, E], _UpdatedType, E, Never]" in supertype "FutureResultLikeN" [override] - main:22: error: Argument 1 of "bind_async_future_result" is incompatible with supertype "FutureResultLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[FutureResult[_UpdatedType, E]]]" [override] + main:21: error: Return type "MyClass[E, N]" of "bind_async_future_result" incompatible with return type "KindN[MyClass[T, E], _UpdatedType, E, Never]" in supertype "returns.interfaces.specific.future_result.FutureResultLikeN" [override] + main:22: error: Argument 1 of "bind_async_future_result" is incompatible with supertype "returns.interfaces.specific.future_result.FutureResultLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[FutureResult[_UpdatedType, E]]]" [override] main:22: note: This violates the Liskov substitution principle main:22: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:26: error: Return type "MyClass[T, E]" of "from_future_result" incompatible with return type "KindN[MyClass[T, E], _ValueType, _ErrorType, Never]" in supertype "FutureResultLikeN" [override] - main:27: error: Argument 1 of "from_future_result" is incompatible with supertype "FutureResultLikeN"; supertype defines the argument type as "FutureResult[_ValueType, _ErrorType]" [override] + main:26: error: Return type "MyClass[T, E]" of "from_future_result" incompatible with return type "KindN[MyClass[T, E], _ValueType, _ErrorType, Never]" in supertype "returns.interfaces.specific.future_result.FutureResultLikeN" [override] + main:27: error: Argument 1 of "from_future_result" is incompatible with supertype "returns.interfaces.specific.future_result.FutureResultLikeN"; supertype defines the argument type as "FutureResult[_ValueType, _ErrorType]" [override] main:27: note: This violates the Liskov substitution principle main:27: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:32: error: Return type "FutureResult[Any, E]" of "from_failed_future" incompatible with return type "KindN[MyClass[T, E], T, _ErrorType, Never]" in supertype "FutureResultLikeN" [override] - main:33: error: Argument 1 of "from_failed_future" is incompatible with supertype "FutureResultLikeN"; supertype defines the argument type as "Future[_ErrorType]" [override] + main:32: error: Return type "FutureResult[Any, E]" of "from_failed_future" incompatible with return type "KindN[MyClass[T, E], T, _ErrorType, Never]" in supertype "returns.interfaces.specific.future_result.FutureResultLikeN" [override] + main:33: error: Argument 1 of "from_failed_future" is incompatible with supertype "returns.interfaces.specific.future_result.FutureResultLikeN"; supertype defines the argument type as "Future[_ErrorType]" [override] main:33: note: This violates the Liskov substitution principle main:33: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_io/test_io_like.yml b/typesafety/test_interfaces/test_specific/test_io/test_io_like.yml index 285b29c5..22fc8b1a 100644 --- a/typesafety/test_interfaces/test_specific/test_io/test_io_like.yml +++ b/typesafety/test_interfaces/test_specific/test_io/test_io_like.yml @@ -77,13 +77,12 @@ ) -> MyClass[_NewValueType]: ... out: | - main:13: error: Return type "MyClass[_ValueType]" of "bind_io" incompatible with return type "KindN[MyClass[_ValueType], _UpdatedType, Never, Never]" in supertype "IOLikeN" [override] - main:15: error: Argument 1 of "bind_io" is incompatible with supertype "IOLikeN"; supertype defines the argument type as "Callable[[_ValueType], IO[_UpdatedType]]" [override] + main:13: error: Return type "MyClass[_ValueType]" of "bind_io" incompatible with return type "KindN[MyClass[_ValueType], _UpdatedType, Never, Never]" in supertype "returns.interfaces.specific.io.IOLikeN" [override] + main:15: error: Argument 1 of "bind_io" is incompatible with supertype "returns.interfaces.specific.io.IOLikeN"; supertype defines the argument type as "Callable[[_ValueType], IO[_UpdatedType]]" [override] main:15: note: This violates the Liskov substitution principle main:15: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:19: error: Signature of "from_io" incompatible with supertype "IOLikeN" [override] + main:19: error: Signature of "from_io" incompatible with supertype "returns.interfaces.specific.io.IOLikeN" [override] main:19: note: Superclass: - main:19: note: @classmethod main:19: note: def [_UpdatedType] from_io(cls, inner_value: IO[_UpdatedType]) -> KindN[MyClass[_ValueType], _UpdatedType, Never, Never] main:19: note: Subclass: main:19: note: def [_NewValueType] from_io(self, inner_value: IO[_NewValueType]) -> MyClass[_NewValueType] diff --git a/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultbased_inheritance.yml b/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultbased_inheritance.yml index 9128a1b9..a2704441 100644 --- a/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultbased_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultbased_inheritance.yml @@ -48,7 +48,7 @@ ... x: IOResult[int, str] - reveal_type(MyClass.from_ioresult(x).bind_ioresult(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str]" + reveal_type(MyClass.from_ioresult(x).bind_ioresult(test)) # N: Revealed type is "tmpi_w81f7k.MyClass[builtins.float, builtins.str]" - case: ioresult_inheritance_correct3 @@ -102,7 +102,7 @@ ... x: IOResult[int, str] - reveal_type(MyClass.from_ioresult(x).bind_ioresult(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str, Any]" + reveal_type(MyClass.from_ioresult(x).bind_ioresult(test)) # N: Revealed type is "tmp_ao0nwoz.MyClass[builtins.float, builtins.str, Any]" - case: ioresult_inheritance_missing @@ -127,8 +127,7 @@ - case: ioresult_inheritance_wrong2 disable_cache: false - # TODO: unskip, mypy fails sometimes on different python versions - skip: True + skip: true main: | from typing import Callable, TypeVar, Any from returns.interfaces.specific.ioresult import IOResultBased2 @@ -167,18 +166,18 @@ ) -> MyClass[_NewErrorType, Any]: ... out: | - main:18: error: Argument 1 of "bind_ioresult" is incompatible with supertype "IOResultLikeN"; supertype defines the argument type as "Callable[[_ValueType], IOResult[_UpdatedType, _ErrorType]]" - main:18: note: This violates the Liskov substitution principle - main:18: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:18: error: Return type "int" of "bind_ioresult" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType], _UpdatedType, _ErrorType, Never]" in supertype "IOResultLikeN" - main:27: error: Signature of "from_ioresult" incompatible with supertype "IOResultLikeN" + main:18: error: Return type "int" of "bind_ioresult" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType], _UpdatedType, _ErrorType, Never]" in supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] + main:20: error: Argument 1 of "bind_ioresult" is incompatible with supertype "returns.interfaces.specific.ioresult.IOResultLikeN"; supertype defines the argument type as "Callable[[_ValueType], IOResult[_UpdatedType, _ErrorType]]" [override] + main:20: note: This violates the Liskov substitution principle + main:20: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides + main:27: error: Signature of "from_ioresult" incompatible with supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] main:27: note: Superclass: - main:27: note: def [_ValueType, _ErrorType] from_ioresult(cls, inner_value: IOResult[_ValueType, _ErrorType]) -> KindN[MyClass[_ValueType, _ErrorType], _ValueType, _ErrorType, Never] + main:27: note: def [_ValueType, _ErrorType] from_ioresult(cls, inner_value: IOResult[_ValueType, _ErrorType]) -> KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass], _ValueType, _ErrorType, Never] main:27: note: Subclass: main:27: note: def [_NewValueType, _NewErrorType] from_ioresult(self, inner_value: IOResult[_NewValueType, _NewErrorType]) -> MyClass[_NewValueType, _NewErrorType] - main:33: error: Signature of "from_failed_io" incompatible with supertype "IOResultLikeN" + main:33: error: Signature of "from_failed_io" incompatible with supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] main:33: note: Superclass: - main:33: note: def [_ErrorType] from_failed_io(cls, inner_value: IO[_ErrorType]) -> KindN[MyClass[_ValueType, _ErrorType], _ValueType, _ErrorType, Never] + main:33: note: def [_ErrorType] from_failed_io(cls, inner_value: IO[_ErrorType]) -> KindN[MyClass[_ValueType, _ErrorType@MyClass], _ValueType, _ErrorType, Never] main:33: note: Subclass: main:33: note: @classmethod main:33: note: def [_NewErrorType] from_failed_io(cls, inner_value: IO[_NewErrorType]) -> MyClass[_NewErrorType, Any] @@ -231,8 +230,8 @@ ) -> MyClass[Any, _NewErrorType, Exception]: ... out: | - main:18: error: Return type "MyClass[_NewValueType, _ErrorType, int]" of "bind_ioresult" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _T], _UpdatedType, _ErrorType, _T]" in supertype "IOResultLikeN" [override] - main:27: error: Return type "IO[_ErrorType]" of "unwrap" incompatible with return type "IO[_ValueType]" in supertype "Unwrappable" [override] - main:30: error: Return type "IO[_ValueType]" of "failure" incompatible with return type "IO[_ErrorType]" in supertype "Unwrappable" [override] - main:34: error: Return type "MyClass[_NewValueType, _NewErrorType, str]" of "from_ioresult" incompatible with return type "KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass, _T], _ValueType@from_ioresult, _ErrorType@from_ioresult, _T]" in supertype "IOResultLikeN" [override] - main:40: error: Return type "MyClass[Any, _NewErrorType, Exception]" of "from_failed_io" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType@MyClass, _T], _ValueType, _ErrorType@from_failed_io, _T]" in supertype "IOResultLikeN" [override] + main:18: error: Return type "MyClass[_NewValueType, _ErrorType, int]" of "bind_ioresult" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _T], _UpdatedType, _ErrorType, _T]" in supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] + main:27: error: Return type "IO[_ErrorType]" of "unwrap" incompatible with return type "IO[_ValueType]" in supertype "returns.interfaces.unwrappable.Unwrappable" [override] + main:30: error: Return type "IO[_ValueType]" of "failure" incompatible with return type "IO[_ErrorType]" in supertype "returns.interfaces.unwrappable.Unwrappable" [override] + main:34: error: Return type "MyClass[_NewValueType, _NewErrorType, str]" of "from_ioresult" incompatible with return type "KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass, _T], _ValueType, _ErrorType, _T]" in supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] + main:40: error: Return type "MyClass[Any, _NewErrorType, Exception]" of "from_failed_io" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType@MyClass, _T], _ValueType, _ErrorType, _T]" in supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] diff --git a/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultlike_inheritance.yml b/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultlike_inheritance.yml index 23fdf7e9..5f302874 100644 --- a/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultlike_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultlike_inheritance.yml @@ -114,8 +114,7 @@ - case: ioresult_inheritance_wrong - # TODO: unskip, mypy fails sometimes on different python versions - skip: True + skip: true disable_cache: false main: | from typing import Callable, TypeVar, Any @@ -155,18 +154,18 @@ ) -> MyClass[_NewErrorType, Any]: ... out: | - main:18: error: Argument 1 of "bind_ioresult" is incompatible with supertype "IOResultLikeN"; supertype defines the argument type as "Callable[[_ValueType], IOResult[_UpdatedType, _ErrorType]]" - main:18: note: This violates the Liskov substitution principle - main:18: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:18: error: Return type "int" of "bind_ioresult" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType], _UpdatedType, _ErrorType, Never]" in supertype "IOResultLikeN" - main:27: error: Signature of "from_ioresult" incompatible with supertype "IOResultLikeN" + main:18: error: Return type "int" of "bind_ioresult" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType], _UpdatedType, _ErrorType, Never]" in supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] + main:20: error: Argument 1 of "bind_ioresult" is incompatible with supertype "returns.interfaces.specific.ioresult.IOResultLikeN"; supertype defines the argument type as "Callable[[_ValueType], IOResult[_UpdatedType, _ErrorType]]" [override] + main:20: note: This violates the Liskov substitution principle + main:20: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides + main:27: error: Signature of "from_ioresult" incompatible with supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] main:27: note: Superclass: - main:27: note: def [_ValueType, _ErrorType] from_ioresult(cls, inner_value: IOResult[_ValueType, _ErrorType]) -> KindN[MyClass[_ValueType, _ErrorType], _ValueType, _ErrorType, Never] + main:27: note: def [_ValueType, _ErrorType] from_ioresult(cls, inner_value: IOResult[_ValueType, _ErrorType]) -> KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass], _ValueType, _ErrorType, Never] main:27: note: Subclass: main:27: note: def [_NewValueType, _NewErrorType] from_ioresult(self, inner_value: IOResult[_NewValueType, _NewErrorType]) -> MyClass[_NewValueType, _NewErrorType] - main:33: error: Signature of "from_failed_io" incompatible with supertype "IOResultLikeN" + main:33: error: Signature of "from_failed_io" incompatible with supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] main:33: note: Superclass: - main:33: note: def [_ErrorType] from_failed_io(cls, inner_value: IO[_ErrorType]) -> KindN[MyClass[_ValueType, _ErrorType], _ValueType, _ErrorType, Never] + main:33: note: def [_ErrorType] from_failed_io(cls, inner_value: IO[_ErrorType]) -> KindN[MyClass[_ValueType, _ErrorType@MyClass], _ValueType, _ErrorType, Never] main:33: note: Subclass: main:33: note: @classmethod main:33: note: def [_NewErrorType] from_failed_io(cls, inner_value: IO[_NewErrorType]) -> MyClass[_NewErrorType, Any] @@ -213,6 +212,6 @@ ) -> MyClass[Any, _NewErrorType, Exception]: ... out: | - main:18: error: Return type "MyClass[_NewValueType, _ErrorType, int]" of "bind_ioresult" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _T], _UpdatedType, _ErrorType, _T]" in supertype "IOResultLikeN" [override] - main:28: error: Return type "MyClass[_NewValueType, _NewErrorType, str]" of "from_ioresult" incompatible with return type "KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass, _T], _ValueType@from_ioresult, _ErrorType@from_ioresult, _T]" in supertype "IOResultLikeN" [override] - main:34: error: Return type "MyClass[Any, _NewErrorType, Exception]" of "from_failed_io" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType@MyClass, _T], _ValueType, _ErrorType@from_failed_io, _T]" in supertype "IOResultLikeN" [override] + main:18: error: Return type "MyClass[_NewValueType, _ErrorType, int]" of "bind_ioresult" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _T], _UpdatedType, _ErrorType, _T]" in supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] + main:28: error: Return type "MyClass[_NewValueType, _NewErrorType, str]" of "from_ioresult" incompatible with return type "KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass, _T], _ValueType, _ErrorType, _T]" in supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] + main:34: error: Return type "MyClass[Any, _NewErrorType, Exception]" of "from_failed_io" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType@MyClass, _T], _ValueType, _ErrorType, _T]" in supertype "returns.interfaces.specific.ioresult.IOResultLikeN" [override] diff --git a/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_based.yml b/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_based.yml index 187558a7..a32bc2f4 100644 --- a/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_based.yml +++ b/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_based.yml @@ -49,7 +49,7 @@ ) -> Union[None, V]: ... out: | - main:9: error: Return type "Optional[V]" of "or_else_call" incompatible with return type "Union[V, _ValueType]" in supertype "MaybeBasedN" [override] - main:11: error: Argument 1 of "or_else_call" is incompatible with supertype "MaybeBasedN"; supertype defines the argument type as "Callable[[], _ValueType]" [override] + main:9: error: Return type "V | None" of "or_else_call" incompatible with return type "V | _ValueType" in supertype "returns.interfaces.specific.maybe.MaybeBasedN" [override] + main:11: error: Argument 1 of "or_else_call" is incompatible with supertype "returns.interfaces.specific.maybe.MaybeBasedN"; supertype defines the argument type as "Callable[[], _ValueType]" [override] main:11: note: This violates the Liskov substitution principle main:11: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_like.yml b/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_like.yml index b3ac0721..4fac025b 100644 --- a/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_like.yml +++ b/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_like.yml @@ -33,7 +33,7 @@ class MyClass(SupportsKind2['MyClass', V, None], MaybeLike2[V, None]): ... out: | - main:8: error: Final class main.MyClass has abstract attributes "apply", "bind", "bind_optional", "empty", "from_optional", "from_value", "lash", "map" [misc] + main:8: error: Final class tmpgpg_17uy.MyClass has abstract attributes "apply", "bind", "bind_optional", "empty", "from_optional", "from_value", "lash", "map" [misc] - case: maybe_like_inheritance_wrong @@ -56,10 +56,9 @@ def from_optional(self, inner_value: Optional[N]) -> MyClass[N]: ... out: | - main:9: error: Return type "MyClass[Optional[N]]" of "bind_optional" incompatible with return type "KindN[MyClass[V], _UpdatedType, None, Never]" in supertype "MaybeLikeN" [override] - main:15: error: Signature of "from_optional" incompatible with supertype "MaybeLikeN" [override] + main:9: error: Return type "MyClass[N | None]" of "bind_optional" incompatible with return type "KindN[MyClass[V], _UpdatedType, None, Never]" in supertype "returns.interfaces.specific.maybe.MaybeLikeN" [override] + main:15: error: Signature of "from_optional" incompatible with supertype "returns.interfaces.specific.maybe.MaybeLikeN" [override] main:15: note: Superclass: - main:15: note: @classmethod - main:15: note: def [_ValueType] from_optional(cls, inner_value: Optional[_ValueType]) -> KindN[MyClass[V], _ValueType, None, Never] + main:15: note: def [_ValueType] from_optional(cls, inner_value: _ValueType | None) -> KindN[MyClass[V], _ValueType, None, Never] main:15: note: Subclass: - main:15: note: def [N] from_optional(self, inner_value: Optional[N]) -> MyClass[N] + main:15: note: def [N] from_optional(self, inner_value: N | None) -> MyClass[N] diff --git a/typesafety/test_interfaces/test_specific/test_reader/test_reader_based2.yml b/typesafety/test_interfaces/test_specific/test_reader/test_reader_based2.yml index f1da3031..8b994dc2 100644 --- a/typesafety/test_interfaces/test_specific/test_reader/test_reader_based2.yml +++ b/typesafety/test_interfaces/test_specific/test_reader/test_reader_based2.yml @@ -117,18 +117,18 @@ ) -> MyClass[_ReturnType, _EnvType]: ... out: | - main:15: error: Return type "_EnvType" of "__call__" incompatible with return type "_ReturnType" in supertype "Contextable" [override] - main:15: error: Argument 1 of "__call__" is incompatible with supertype "Contextable"; supertype defines the argument type as "_EnvType" [override] + main:15: error: Return type "_EnvType" of "__call__" incompatible with return type "_ReturnType" in supertype "returns.interfaces.specific.reader.Contextable" [override] + main:15: error: Argument 1 of "__call__" is incompatible with supertype "returns.interfaces.specific.reader.Contextable"; supertype defines the argument type as "_EnvType" [override] main:15: note: This violates the Liskov substitution principle main:15: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides main:15: error: Cannot use a covariant type variable as a parameter [misc] main:15: error: Cannot use a contravariant type variable as return type [misc] - main:18: error: Return type "MyClass[_ReturnType, _EnvType]" of "bind_context" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType], _UpdatedType, _EnvType, Any]" in supertype "ReaderLike2" [override] - main:29: error: Argument 1 of "modify_env" is incompatible with supertype "ReaderLike2"; supertype defines the argument type as "Callable[[_UpdatedType], _EnvType]" [override] + main:18: error: Return type "MyClass[_ReturnType, _EnvType]" of "bind_context" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType], _UpdatedType, _EnvType, Any]" in supertype "returns.interfaces.specific.reader.ReaderLike2" [override] + main:29: error: Argument 1 of "modify_env" is incompatible with supertype "returns.interfaces.specific.reader.ReaderLike2"; supertype defines the argument type as "Callable[[_UpdatedType], _EnvType]" [override] main:29: note: This violates the Liskov substitution principle main:29: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:34: error: Return type "MyClass[_ReturnType, _ReturnType]" of "ask" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType], _EnvType, _EnvType, Any]" in supertype "ReaderLike2" [override] - main:38: error: Return type "MyClass[_ReturnType, _EnvType@MyClass]" of "from_context" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType@MyClass], _ValueType, _EnvType@from_context, Any]" in supertype "ReaderLike2" [override] - main:39: error: Argument 1 of "from_context" is incompatible with supertype "ReaderLike2"; supertype defines the argument type as "RequiresContext[_ValueType, _EnvType]" [override] + main:34: error: Return type "MyClass[_ReturnType, _ReturnType]" of "ask" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType], _EnvType, _EnvType, Any]" in supertype "returns.interfaces.specific.reader.ReaderLike2" [override] + main:38: error: Return type "MyClass[_ReturnType, _EnvType@MyClass]" of "from_context" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType@MyClass], _ValueType, _EnvType, Any]" in supertype "returns.interfaces.specific.reader.ReaderLike2" [override] + main:39: error: Argument 1 of "from_context" is incompatible with supertype "returns.interfaces.specific.reader.ReaderLike2"; supertype defines the argument type as "RequiresContext[_ValueType, _EnvType]" [override] main:39: note: This violates the Liskov substitution principle main:39: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_reader/test_reader_like2.yml b/typesafety/test_interfaces/test_specific/test_reader/test_reader_like2.yml index 93355116..1da34c1a 100644 --- a/typesafety/test_interfaces/test_specific/test_reader/test_reader_like2.yml +++ b/typesafety/test_interfaces/test_specific/test_reader/test_reader_like2.yml @@ -46,7 +46,7 @@ ... x: Reader[int, str] - reveal_type(MyClass.from_context(x).bind_context(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str]" + reveal_type(MyClass.from_context(x).bind_context(test)) # N: Revealed type is "tmpud9si_2r.MyClass[builtins.float, builtins.str]" - case: reader_inheritance_missing @@ -111,12 +111,12 @@ ) -> MyClass[_ReturnType, _EnvType]: ... out: | - main:15: error: Return type "MyClass[_ReturnType, _EnvType]" of "bind_context" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType], _UpdatedType, _EnvType, Any]" in supertype "ReaderLike2" [override] - main:26: error: Argument 1 of "modify_env" is incompatible with supertype "ReaderLike2"; supertype defines the argument type as "Callable[[_UpdatedType], _EnvType]" [override] + main:15: error: Return type "MyClass[_ReturnType, _EnvType]" of "bind_context" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType], _UpdatedType, _EnvType, Any]" in supertype "returns.interfaces.specific.reader.ReaderLike2" [override] + main:26: error: Argument 1 of "modify_env" is incompatible with supertype "returns.interfaces.specific.reader.ReaderLike2"; supertype defines the argument type as "Callable[[_UpdatedType], _EnvType]" [override] main:26: note: This violates the Liskov substitution principle main:26: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:31: error: Return type "MyClass[_ReturnType, _ReturnType]" of "ask" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType], _EnvType, _EnvType, Any]" in supertype "ReaderLike2" [override] - main:35: error: Return type "MyClass[_ReturnType, _EnvType@MyClass]" of "from_context" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType@MyClass], _ValueType, _EnvType@from_context, Any]" in supertype "ReaderLike2" [override] - main:36: error: Argument 1 of "from_context" is incompatible with supertype "ReaderLike2"; supertype defines the argument type as "RequiresContext[_ValueType, _EnvType]" [override] + main:31: error: Return type "MyClass[_ReturnType, _ReturnType]" of "ask" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType], _EnvType, _EnvType, Any]" in supertype "returns.interfaces.specific.reader.ReaderLike2" [override] + main:35: error: Return type "MyClass[_ReturnType, _EnvType@MyClass]" of "from_context" incompatible with return type "KindN[MyClass[_ReturnType, _EnvType@MyClass], _ValueType, _EnvType, Any]" in supertype "returns.interfaces.specific.reader.ReaderLike2" [override] + main:36: error: Argument 1 of "from_context" is incompatible with supertype "returns.interfaces.specific.reader.ReaderLike2"; supertype defines the argument type as "RequiresContext[_ValueType, _EnvType]" [override] main:36: note: This violates the Liskov substitution principle main:36: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_reader/test_reader_like3.yml b/typesafety/test_interfaces/test_specific/test_reader/test_reader_like3.yml index f9eda940..21986200 100644 --- a/typesafety/test_interfaces/test_specific/test_reader/test_reader_like3.yml +++ b/typesafety/test_interfaces/test_specific/test_reader/test_reader_like3.yml @@ -50,7 +50,7 @@ ... x: Reader[int, str] - reveal_type(MyClass.from_context(x).bind_context(test)) # N: Revealed type is "main.MyClass[builtins.float, Any, builtins.str]" + reveal_type(MyClass.from_context(x).bind_context(test)) # N: Revealed type is "tmpai_9hs1y.MyClass[builtins.float, Any, builtins.str]" - case: reader_inheritance_missing @@ -121,15 +121,15 @@ ... out: | main:16: error: Cannot use a covariant type variable as a parameter [misc] - main:19: error: Return type "MyClass[_ValueType, _ErrorType, _EnvType]" of "bind_context" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _EnvType], _UpdatedType, _ErrorType, _EnvType]" in supertype "ReaderLike3" [override] - main:21: error: Argument 1 of "bind_context" is incompatible with supertype "ReaderLike3"; supertype defines the argument type as "Callable[[_ValueType], RequiresContext[_UpdatedType, _EnvType]]" [override] + main:19: error: Return type "MyClass[_ValueType, _ErrorType, _EnvType]" of "bind_context" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _EnvType], _UpdatedType, _ErrorType, _EnvType]" in supertype "returns.interfaces.specific.reader.ReaderLike3" [override] + main:21: error: Argument 1 of "bind_context" is incompatible with supertype "returns.interfaces.specific.reader.ReaderLike3"; supertype defines the argument type as "Callable[[_ValueType], RequiresContext[_UpdatedType, _EnvType]]" [override] main:21: note: This violates the Liskov substitution principle main:21: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:30: error: Argument 1 of "modify_env" is incompatible with supertype "ReaderLike3"; supertype defines the argument type as "Callable[[_UpdatedType], _EnvType]" [override] + main:30: error: Argument 1 of "modify_env" is incompatible with supertype "returns.interfaces.specific.reader.ReaderLike3"; supertype defines the argument type as "Callable[[_UpdatedType], _EnvType]" [override] main:30: note: This violates the Liskov substitution principle main:30: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:35: error: Return type "MyClass[_ValueType, _ErrorType, _EnvType]" of "ask" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _EnvType], _EnvType, _ErrorType, _EnvType]" in supertype "ReaderLike3" [override] - main:39: error: Return type "MyClass[_ValueType@MyClass, Exception, _EnvType@MyClass]" of "from_context" incompatible with return type "KindN[MyClass[_ValueType@MyClass, _ErrorType, _EnvType@MyClass], _ValueType@from_context, _ErrorType, _EnvType@from_context]" in supertype "ReaderLike3" [override] - main:40: error: Argument 1 of "from_context" is incompatible with supertype "ReaderLike3"; supertype defines the argument type as "RequiresContext[_ValueType, _EnvType]" [override] + main:35: error: Return type "MyClass[_ValueType, _ErrorType, _EnvType]" of "ask" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _EnvType], _EnvType, _ErrorType, _EnvType]" in supertype "returns.interfaces.specific.reader.ReaderLike3" [override] + main:39: error: Return type "MyClass[_ValueType@MyClass, Exception, _EnvType@MyClass]" of "from_context" incompatible with return type "KindN[MyClass[_ValueType@MyClass, _ErrorType, _EnvType@MyClass], _ValueType, _ErrorType, _EnvType]" in supertype "returns.interfaces.specific.reader.ReaderLike3" [override] + main:40: error: Argument 1 of "from_context" is incompatible with supertype "returns.interfaces.specific.reader.ReaderLike3"; supertype defines the argument type as "RequiresContext[_ValueType, _EnvType]" [override] main:40: note: This violates the Liskov substitution principle main:40: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_reader_future_result/test_reader_future_result_based.yml b/typesafety/test_interfaces/test_specific/test_reader_future_result/test_reader_future_result_based.yml index 03e3954c..bdbe8735 100644 --- a/typesafety/test_interfaces/test_specific/test_reader_future_result/test_reader_future_result_based.yml +++ b/typesafety/test_interfaces/test_specific/test_reader_future_result/test_reader_future_result_based.yml @@ -64,7 +64,7 @@ def __call__(self, deps: T) -> FutureResult[V, U]: ... out: | - main:16: error: Return type "FutureResult[V, U]" of "__call__" incompatible with return type "FutureResult[T, V]" in supertype "Contextable" [override] - main:16: error: Argument 1 of "__call__" is incompatible with supertype "Contextable"; supertype defines the argument type as "U" [override] + main:16: error: Return type "FutureResult[V, U]" of "__call__" incompatible with return type "FutureResult[T, V]" in supertype "returns.interfaces.specific.reader.Contextable" [override] + main:16: error: Argument 1 of "__call__" is incompatible with supertype "returns.interfaces.specific.reader.Contextable"; supertype defines the argument type as "U" [override] main:16: note: This violates the Liskov substitution principle main:16: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_reader_future_result/test_reader_future_result_like.yml b/typesafety/test_interfaces/test_specific/test_reader_future_result/test_reader_future_result_like.yml index a0d51519..2bf74b43 100644 --- a/typesafety/test_interfaces/test_specific/test_reader_future_result/test_reader_future_result_like.yml +++ b/typesafety/test_interfaces/test_specific/test_reader_future_result/test_reader_future_result_like.yml @@ -102,14 +102,14 @@ ) -> MyClass[T, V, U]: ... out: | - main:17: error: Return type "MyClass[T, V, U]" of "bind_context_future_result" incompatible with return type "KindN[MyClass[T, V, U], _UpdatedType, V, U]" in supertype "ReaderFutureResultLikeN" [override] - main:19: error: Argument 1 of "bind_context_future_result" is incompatible with supertype "ReaderFutureResultLikeN"; supertype defines the argument type as "Callable[[T], RequiresContextFutureResult[_UpdatedType, V, U]]" [override] + main:17: error: Return type "MyClass[T, V, U]" of "bind_context_future_result" incompatible with return type "KindN[MyClass[T, V, U], _UpdatedType, V, U]" in supertype "returns.interfaces.specific.reader_future_result.ReaderFutureResultLikeN" [override] + main:19: error: Argument 1 of "bind_context_future_result" is incompatible with supertype "returns.interfaces.specific.reader_future_result.ReaderFutureResultLikeN"; supertype defines the argument type as "Callable[[T], RequiresContextFutureResult[_UpdatedType, V, U]]" [override] main:19: note: This violates the Liskov substitution principle main:19: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:25: error: Argument 1 of "bind_async_context_future_result" is incompatible with supertype "ReaderFutureResultLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[RequiresContextFutureResult[_UpdatedType, V, U]]]" [override] + main:25: error: Argument 1 of "bind_async_context_future_result" is incompatible with supertype "returns.interfaces.specific.reader_future_result.ReaderFutureResultLikeN"; supertype defines the argument type as "Callable[[T], Awaitable[RequiresContextFutureResult[_UpdatedType, V, U]]]" [override] main:25: note: This violates the Liskov substitution principle main:25: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:30: error: Return type "MyClass[T, V, U]" of "from_future_result_context" incompatible with return type "KindN[MyClass[T, V, U], _ValueType, _ErrorType, _EnvType]" in supertype "ReaderFutureResultLikeN" [override] - main:32: error: Argument 1 of "from_future_result_context" is incompatible with supertype "ReaderFutureResultLikeN"; supertype defines the argument type as "RequiresContextFutureResult[_ValueType, _ErrorType, _EnvType]" [override] + main:30: error: Return type "MyClass[T, V, U]" of "from_future_result_context" incompatible with return type "KindN[MyClass[T, V, U], _ValueType, _ErrorType, _EnvType]" in supertype "returns.interfaces.specific.reader_future_result.ReaderFutureResultLikeN" [override] + main:32: error: Argument 1 of "from_future_result_context" is incompatible with supertype "returns.interfaces.specific.reader_future_result.ReaderFutureResultLikeN"; supertype defines the argument type as "RequiresContextFutureResult[_ValueType, _ErrorType, _EnvType]" [override] main:32: note: This violates the Liskov substitution principle main:32: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_reader_ioresult/test_reader_ioresult_based.yml b/typesafety/test_interfaces/test_specific/test_reader_ioresult/test_reader_ioresult_based.yml index 79be325e..a6361d47 100644 --- a/typesafety/test_interfaces/test_specific/test_reader_ioresult/test_reader_ioresult_based.yml +++ b/typesafety/test_interfaces/test_specific/test_reader_ioresult/test_reader_ioresult_based.yml @@ -58,4 +58,4 @@ def __call__(self, deps: U) -> IOResult[V, T]: ... out: | - main:14: error: Return type "IOResult[V, T]" of "__call__" incompatible with return type "IOResult[T, V]" in supertype "Contextable" [override] + main:14: error: Return type "IOResult[V, T]" of "__call__" incompatible with return type "IOResult[T, V]" in supertype "returns.interfaces.specific.reader.Contextable" [override] diff --git a/typesafety/test_interfaces/test_specific/test_reader_ioresult/test_reader_ioresult_like.yml b/typesafety/test_interfaces/test_specific/test_reader_ioresult/test_reader_ioresult_like.yml index 21607c0c..9edf4a17 100644 --- a/typesafety/test_interfaces/test_specific/test_reader_ioresult/test_reader_ioresult_like.yml +++ b/typesafety/test_interfaces/test_specific/test_reader_ioresult/test_reader_ioresult_like.yml @@ -84,11 +84,11 @@ ) -> MyClass[T, V, U]: ... out: | - main:15: error: Return type "MyClass[N, U, V]" of "bind_context_ioresult" incompatible with return type "KindN[MyClass[T, V, U], _UpdatedType, V, U]" in supertype "ReaderIOResultLikeN" [override] - main:17: error: Argument 1 of "bind_context_ioresult" is incompatible with supertype "ReaderIOResultLikeN"; supertype defines the argument type as "Callable[[T], RequiresContextIOResult[_UpdatedType, V, U]]" [override] + main:15: error: Return type "MyClass[N, U, V]" of "bind_context_ioresult" incompatible with return type "KindN[MyClass[T, V, U], _UpdatedType, V, U]" in supertype "returns.interfaces.specific.reader_ioresult.ReaderIOResultLikeN" [override] + main:17: error: Argument 1 of "bind_context_ioresult" is incompatible with supertype "returns.interfaces.specific.reader_ioresult.ReaderIOResultLikeN"; supertype defines the argument type as "Callable[[T], RequiresContextIOResult[_UpdatedType, V, U]]" [override] main:17: note: This violates the Liskov substitution principle main:17: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:22: error: Return type "MyClass[T, V, U]" of "from_ioresult_context" incompatible with return type "KindN[MyClass[T, V, U], _ValueType, _ErrorType, _EnvType]" in supertype "ReaderIOResultLikeN" [override] - main:24: error: Argument 1 of "from_ioresult_context" is incompatible with supertype "ReaderIOResultLikeN"; supertype defines the argument type as "RequiresContextIOResult[_ValueType, _ErrorType, _EnvType]" [override] + main:22: error: Return type "MyClass[T, V, U]" of "from_ioresult_context" incompatible with return type "KindN[MyClass[T, V, U], _ValueType, _ErrorType, _EnvType]" in supertype "returns.interfaces.specific.reader_ioresult.ReaderIOResultLikeN" [override] + main:24: error: Argument 1 of "from_ioresult_context" is incompatible with supertype "returns.interfaces.specific.reader_ioresult.ReaderIOResultLikeN"; supertype defines the argument type as "RequiresContextIOResult[_ValueType, _ErrorType, _EnvType]" [override] main:24: note: This violates the Liskov substitution principle main:24: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_based.yml b/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_based.yml index e3dce54f..25e9e4e1 100644 --- a/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_based.yml +++ b/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_based.yml @@ -58,7 +58,7 @@ def __call__(self, deps: T) -> Result[V, U]: ... out: | - main:14: error: Return type "Result[V, U]" of "__call__" incompatible with return type "Result[T, V]" in supertype "Contextable" [override] - main:14: error: Argument 1 of "__call__" is incompatible with supertype "Contextable"; supertype defines the argument type as "U" [override] + main:14: error: Return type "Result[V, U]" of "__call__" incompatible with return type "Result[T, V]" in supertype "returns.interfaces.specific.reader.Contextable" [override] + main:14: error: Argument 1 of "__call__" is incompatible with supertype "returns.interfaces.specific.reader.Contextable"; supertype defines the argument type as "U" [override] main:14: note: This violates the Liskov substitution principle main:14: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_like.yml b/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_like.yml index bda811b1..601328fc 100644 --- a/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_like.yml +++ b/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_like.yml @@ -101,18 +101,17 @@ ) -> MyClass[T, V, U]: ... out: | - main:18: error: Return type "MyClass[T, V, U]" of "bind_context_result" incompatible with return type "KindN[MyClass[T, V, U], _UpdatedType, V, U]" in supertype "ReaderResultLikeN" [override] - main:20: error: Argument 1 of "bind_context_result" is incompatible with supertype "ReaderResultLikeN"; supertype defines the argument type as "Callable[[T], RequiresContextResult[_UpdatedType, V, U]]" [override] + main:18: error: Return type "MyClass[T, V, U]" of "bind_context_result" incompatible with return type "KindN[MyClass[T, V, U], _UpdatedType, V, U]" in supertype "returns.interfaces.specific.reader_result.ReaderResultLikeN" [override] + main:20: error: Argument 1 of "bind_context_result" is incompatible with supertype "returns.interfaces.specific.reader_result.ReaderResultLikeN"; supertype defines the argument type as "Callable[[T], RequiresContextResult[_UpdatedType, V, U]]" [override] main:20: note: This violates the Liskov substitution principle main:20: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:25: error: Signature of "from_failed_context" incompatible with supertype "ReaderResultLikeN" [override] + main:25: error: Signature of "from_failed_context" incompatible with supertype "returns.interfaces.specific.reader_result.ReaderResultLikeN" [override] main:25: note: Superclass: - main:25: note: @classmethod main:25: note: def [_ErrorType, _EnvType] from_failed_context(cls, inner_value: RequiresContext[_ErrorType, _EnvType]) -> KindN[MyClass[T, V, U], T, _ErrorType, _EnvType] main:25: note: Subclass: main:25: note: @classmethod main:25: note: def [R1] from_failed_context(cls, inner_value: RequiresContext[R1, R1]) -> MyClass[R1, R1, R1] - main:32: error: Return type "MyClass[T, V, U]" of "from_result_context" incompatible with return type "KindN[MyClass[T, V, U], _ValueType, _ErrorType, _EnvType]" in supertype "ReaderResultLikeN" [override] - main:34: error: Argument 1 of "from_result_context" is incompatible with supertype "ReaderResultLikeN"; supertype defines the argument type as "RequiresContextResult[_ValueType, _ErrorType, _EnvType]" [override] + main:32: error: Return type "MyClass[T, V, U]" of "from_result_context" incompatible with return type "KindN[MyClass[T, V, U], _ValueType, _ErrorType, _EnvType]" in supertype "returns.interfaces.specific.reader_result.ReaderResultLikeN" [override] + main:34: error: Argument 1 of "from_result_context" is incompatible with supertype "returns.interfaces.specific.reader_result.ReaderResultLikeN"; supertype defines the argument type as "RequiresContextResult[_ValueType, _ErrorType, _EnvType]" [override] main:34: note: This violates the Liskov substitution principle main:34: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides diff --git a/typesafety/test_interfaces/test_specific/test_result/test_resultbased_inheritance.yml b/typesafety/test_interfaces/test_specific/test_result/test_resultbased_inheritance.yml index fe8f40fd..5a105931 100644 --- a/typesafety/test_interfaces/test_specific/test_result/test_resultbased_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_result/test_resultbased_inheritance.yml @@ -51,7 +51,7 @@ ... x: Result[int, str] - reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str]" + reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "tmp_30tjo3j.MyClass[builtins.float, builtins.str]" - case: result_inheritance_correct3 @@ -108,7 +108,7 @@ ... x: Result[int, str] - reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str, Any]" + reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "tmpdnie0d_0.MyClass[builtins.float, builtins.str, Any]" - case: result_inheritance_missing @@ -153,5 +153,5 @@ def failure(self) -> _ValueType: ... out: | - main:17: error: Return type "_ErrorType" of "unwrap" incompatible with return type "_ValueType" in supertype "Unwrappable" [override] - main:20: error: Return type "_ValueType" of "failure" incompatible with return type "_ErrorType" in supertype "Unwrappable" [override] + main:17: error: Return type "_ErrorType" of "unwrap" incompatible with return type "_ValueType" in supertype "returns.interfaces.unwrappable.Unwrappable" [override] + main:20: error: Return type "_ValueType" of "failure" incompatible with return type "_ErrorType" in supertype "returns.interfaces.unwrappable.Unwrappable" [override] diff --git a/typesafety/test_interfaces/test_specific/test_result/test_resultlike_inheritance.yml b/typesafety/test_interfaces/test_specific/test_result/test_resultlike_inheritance.yml index 00603512..3ed92bb0 100644 --- a/typesafety/test_interfaces/test_specific/test_result/test_resultlike_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_result/test_resultlike_inheritance.yml @@ -78,7 +78,7 @@ ... x: Result[int, str] - reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str, Any]" + reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "tmpu9_axipt.MyClass[builtins.float, builtins.str, Any]" - case: result_inheritance_missing @@ -131,17 +131,17 @@ ) -> MyClass[_NewValueType, _NewErrorType]: ... out: | - main:17: error: Return type "MyClass[_ValueType, _ErrorType]" of "bind_result" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType], _UpdatedType, _ErrorType, Never]" in supertype "ResultLikeN" [override] - main:19: error: Argument 1 of "bind_result" is incompatible with supertype "ResultLikeN"; supertype defines the argument type as "Callable[[_ValueType], Result[_UpdatedType, _ErrorType]]" [override] + main:17: error: Return type "MyClass[_ValueType, _ErrorType]" of "bind_result" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType], _UpdatedType, _ErrorType, Never]" in supertype "returns.interfaces.specific.result.ResultLikeN" [override] + main:19: error: Argument 1 of "bind_result" is incompatible with supertype "returns.interfaces.specific.result.ResultLikeN"; supertype defines the argument type as "Callable[[_ValueType], Result[_UpdatedType, _ErrorType]]" [override] main:19: note: This violates the Liskov substitution principle main:19: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides - main:26: error: Signature of "from_result" incompatible with supertype "ResultLikeN" [override] + main:26: error: Signature of "from_result" incompatible with supertype "returns.interfaces.specific.result.ResultLikeN" [override] main:26: note: Superclass: - main:26: note: @classmethod - main:26: note: def [_ValueType, _ErrorType] from_result(cls, inner_value: Result[_ValueType, _ErrorType]) -> KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass], _ValueType@from_result, _ErrorType@from_result, Never] + main:26: note: def [_ValueType, _ErrorType] from_result(cls, inner_value: Result[_ValueType, _ErrorType]) -> KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass], _ValueType, _ErrorType, Never] main:26: note: Subclass: main:26: note: def [_NewValueType, _NewErrorType] from_result(self, inner_value: Result[_NewValueType, _NewErrorType]) -> MyClass[_NewValueType, _NewErrorType] + - case: result_inheritance_wrong3 disable_cache: false main: | @@ -177,5 +177,5 @@ ) -> MyClass[_NewValueType, _NewErrorType, bool]: ... out: | - main:18: error: Return type "MyClass[_NewValueType, _ErrorType, str]" of "bind_result" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _T], _UpdatedType, _ErrorType, _T]" in supertype "ResultLikeN" [override] - main:28: error: Return type "MyClass[_NewValueType, _NewErrorType, bool]" of "from_result" incompatible with return type "KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass, _T], _ValueType@from_result, _ErrorType@from_result, _T]" in supertype "ResultLikeN" [override] + main:18: error: Return type "MyClass[_NewValueType, _ErrorType, str]" of "bind_result" incompatible with return type "KindN[MyClass[_ValueType, _ErrorType, _T], _UpdatedType, _ErrorType, _T]" in supertype "returns.interfaces.specific.result.ResultLikeN" [override] + main:28: error: Return type "MyClass[_NewValueType, _NewErrorType, bool]" of "from_result" incompatible with return type "KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass, _T], _ValueType, _ErrorType, _T]" in supertype "returns.interfaces.specific.result.ResultLikeN" [override] diff --git a/typesafety/test_interfaces/test_swappable/test_inheritance.yml b/typesafety/test_interfaces/test_swappable/test_inheritance.yml index c2f9b190..956bbc30 100644 --- a/typesafety/test_interfaces/test_swappable/test_inheritance.yml +++ b/typesafety/test_interfaces/test_swappable/test_inheritance.yml @@ -54,4 +54,4 @@ def swap(self) -> MyClass[_FirstType, _SecondType]: ... out: | - main:13: error: Return type "MyClass[_FirstType, _SecondType]" of "swap" incompatible with return type "KindN[MyClass[_FirstType, _SecondType], _SecondType, _FirstType, Never]" in supertype "SwappableN" [override] + main:13: error: Return type "MyClass[_FirstType, _SecondType]" of "swap" incompatible with return type "KindN[MyClass[_FirstType, _SecondType], _SecondType, _FirstType, Never]" in supertype "returns.interfaces.swappable.SwappableN" [override] diff --git a/typesafety/test_interfaces/test_unwrappable/test_inheritance.yml b/typesafety/test_interfaces/test_unwrappable/test_inheritance.yml index c27be9af..bd865e1c 100644 --- a/typesafety/test_interfaces/test_unwrappable/test_inheritance.yml +++ b/typesafety/test_interfaces/test_unwrappable/test_inheritance.yml @@ -68,5 +68,5 @@ def failure(self) -> T: ... out: | - main:15: error: Return type "int" of "unwrap" incompatible with return type "T" in supertype "Unwrappable" [override] - main:18: error: Return type "T" of "failure" incompatible with return type "N" in supertype "Unwrappable" [override] + main:15: error: Return type "int" of "unwrap" incompatible with return type "T" in supertype "returns.interfaces.unwrappable.Unwrappable" [override] + main:18: error: Return type "T" of "failure" incompatible with return type "N" in supertype "returns.interfaces.unwrappable.Unwrappable" [override] diff --git a/typesafety/test_io/test_io_container/test_impure.yml b/typesafety/test_io/test_io_container/test_impure.yml index 94242c50..f7255b4d 100644 --- a/typesafety/test_io/test_io_container/test_impure.yml +++ b/typesafety/test_io/test_io_container/test_impure.yml @@ -31,7 +31,7 @@ def test(first: int, second: Optional[str] = None, *, kw: bool = True) -> int: return 1 - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.io.IO[builtins.int]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.io.IO[builtins.int]" - case: impure_composition_with_args @@ -43,7 +43,7 @@ def test(first: int, second: Optional[str] = None, *, kw: bool = True) -> int: return 1 - reveal_type(impure(test)) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.io.IO[builtins.int]" + reveal_type(impure(test)) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.io.IO[builtins.int]" - case: impure_decorator_with_args_kwargs diff --git a/typesafety/test_io/test_ioresult_container/test_construct_iosucess.yml b/typesafety/test_io/test_ioresult_container/test_construct_iosucess.yml index daacece4..c588412b 100644 --- a/typesafety/test_io/test_ioresult_container/test_construct_iosucess.yml +++ b/typesafety/test_io/test_ioresult_container/test_construct_iosucess.yml @@ -59,7 +59,7 @@ main: | from returns.io import IOSuccess - reveal_type(IOSuccess(1).value_or(None)) # N: Revealed type is "returns.io.IO[Union[builtins.int, None]]" + reveal_type(IOSuccess(1).value_or(None)) # N: Revealed type is "returns.io.IO[builtins.int | None]" - case: iosuccess_unwrap diff --git a/typesafety/test_io/test_ioresult_container/test_do.yml b/typesafety/test_io/test_ioresult_container/test_do.yml index 28509ef5..e2577701 100644 --- a/typesafety/test_io/test_ioresult_container/test_do.yml +++ b/typesafety/test_io/test_ioresult_container/test_do.yml @@ -3,7 +3,7 @@ main: | from returns.io import IOResult, IOFailure - reveal_type(IOResult.do( # N: Revealed type is "returns.io.IOResult[Any, Union[builtins.int, builtins.str]]" + reveal_type(IOResult.do( # N: Revealed type is "returns.io.IOResult[Any, builtins.int | builtins.str]" first / second for first in IOFailure(1) for second in IOFailure('a') @@ -30,7 +30,7 @@ a: IOResult[int, str] b: IOResult[float, bytes] - reveal_type(IOResult.do( # N: Revealed type is "returns.io.IOResult[builtins.float, Union[builtins.str, builtins.bytes]]" + reveal_type(IOResult.do( # N: Revealed type is "returns.io.IOResult[builtins.float, builtins.str | builtins.bytes]" x + y for x in a for y in b diff --git a/typesafety/test_maybe/test_maybe_decorator.yml b/typesafety/test_maybe/test_maybe_decorator.yml index 72f46d07..dc3b9777 100644 --- a/typesafety/test_maybe/test_maybe_decorator.yml +++ b/typesafety/test_maybe/test_maybe_decorator.yml @@ -44,7 +44,7 @@ def test(first: int, second: Optional[str] = None, *, kw: bool = True) -> int: return 1 - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.maybe.Maybe[builtins.int]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.maybe.Maybe[builtins.int]" - case: maybe_composition_with_args @@ -56,7 +56,7 @@ def test(first: int, second: Optional[str] = None, *, kw: bool = True) -> int: return 1 - reveal_type(maybe(test)) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.maybe.Maybe[builtins.int]" + reveal_type(maybe(test)) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.maybe.Maybe[builtins.int]" - case: maybe_decorator_with_args_kwargs diff --git a/typesafety/test_maybe/test_maybe_type.yml b/typesafety/test_maybe/test_maybe_type.yml index 945125bd..69e935a4 100644 --- a/typesafety/test_maybe/test_maybe_type.yml +++ b/typesafety/test_maybe/test_maybe_type.yml @@ -14,7 +14,7 @@ from returns.maybe import Maybe value: Optional[int] - reveal_type(Maybe.from_value(value)) # N: Revealed type is "returns.maybe.Maybe[Union[builtins.int, None]]" + reveal_type(Maybe.from_value(value)) # N: Revealed type is "returns.maybe.Maybe[builtins.int | None]" - case: maybe_from_optional1 @@ -52,7 +52,7 @@ from returns.maybe import Maybe result = Maybe.from_value({'a': 'b'}).map(lambda d: d.get('a', None)) - reveal_type(result) # N: Revealed type is "returns.maybe.Maybe[Union[builtins.str, None]]" + reveal_type(result) # N: Revealed type is "returns.maybe.Maybe[builtins.str | None]" - case: maybe_map_optional2 @@ -93,7 +93,7 @@ def test(arg: int) -> Maybe[Optional[str]]: ... - reveal_type(Maybe.from_value(1).bind(test)) # N: Revealed type is "returns.maybe.Maybe[Union[builtins.str, None]]" + reveal_type(Maybe.from_value(1).bind(test)) # N: Revealed type is "returns.maybe.Maybe[builtins.str | None]" - case: maybe_bind_optional @@ -114,7 +114,7 @@ from returns.maybe import Maybe result = Maybe.from_value(1).value_or(None) - reveal_type(result) # N: Revealed type is "Union[builtins.int, None]" + reveal_type(result) # N: Revealed type is "builtins.int | None" - case: maybe_or_else1 @@ -135,7 +135,7 @@ ... result = Maybe.from_value(1).or_else_call(fallback) - reveal_type(result) # N: Revealed type is "Union[builtins.int, builtins.str]" + reveal_type(result) # N: Revealed type is "builtins.int | builtins.str" - case: maybe_or_else3 diff --git a/typesafety/test_methods/test_cond.yml b/typesafety/test_methods/test_cond.yml index cf1269fc..849c270a 100644 --- a/typesafety/test_methods/test_cond.yml +++ b/typesafety/test_methods/test_cond.yml @@ -82,4 +82,4 @@ reveal_type(cond(MyOwn, True, 'test', 1.0)) out: | main:16: note: Revealed type is "main.MyOwn[builtins.str, builtins.float]" - main:16: error: Only concrete class can be given where "Type[MyOwn[Any, Any]]" is expected [type-abstract] + main:16: error: Only concrete class can be given where "type[MyOwn[Any, Any]]" is expected [type-abstract] diff --git a/typesafety/test_methods/test_partition.yml b/typesafety/test_methods/test_partition.yml index e01940c0..a2631959 100644 --- a/typesafety/test_methods/test_partition.yml +++ b/typesafety/test_methods/test_partition.yml @@ -6,7 +6,8 @@ from returns.methods import partition x: List[Result[int, str]] - reveal_type(partition(x)) # N: Revealed type is "Tuple[builtins.list[builtins.int], builtins.list[builtins.str]]" + reveal_type(partition(x)) # N: Revealed type is "tuple[builtins.list[builtins.int], builtins.list[builtins.str]]" + - case: partition_io_results disable_cache: false @@ -17,7 +18,8 @@ from returns.io import IO, IOResult, IOSuccess x: Tuple[IOResult[int, str], IOResult[int, str]] - reveal_type(partition(x)) # N: Revealed type is "Tuple[builtins.list[returns.io.IO[builtins.int]], builtins.list[returns.io.IO[builtins.str]]]" + reveal_type(partition(x)) # N: Revealed type is "tuple[builtins.list[returns.io.IO[builtins.int]], builtins.list[returns.io.IO[builtins.str]]]" + - case: partition_maybe disable_cache: false @@ -28,4 +30,4 @@ x: List[Maybe[int]] - reveal_type(partition(x)) # N: Revealed type is "Tuple[builtins.list[builtins.int], builtins.list[None]]" + reveal_type(partition(x)) # N: Revealed type is "tuple[builtins.list[builtins.int], builtins.list[None]]" diff --git a/typesafety/test_methods/test_unwrap_or_failure.yml b/typesafety/test_methods/test_unwrap_or_failure.yml index 0d1e1476..64406fd7 100644 --- a/typesafety/test_methods/test_unwrap_or_failure.yml +++ b/typesafety/test_methods/test_unwrap_or_failure.yml @@ -5,7 +5,7 @@ from returns.result import Result x: Result[int, str] - reveal_type(unwrap_or_failure(x)) # N: Revealed type is "Union[builtins.int, builtins.str]" + reveal_type(unwrap_or_failure(x)) # N: Revealed type is "builtins.int | builtins.str" - case: unwrap_or_failure_ioresult @@ -15,7 +15,7 @@ from returns.io import IOResult x: IOResult[int, str] - reveal_type(unwrap_or_failure(x)) # N: Revealed type is "Union[returns.io.IO[builtins.int], returns.io.IO[builtins.str]]" + reveal_type(unwrap_or_failure(x)) # N: Revealed type is "returns.io.IO[builtins.int] | returns.io.IO[builtins.str]" - case: unwrap_or_failure_custom_type @@ -32,4 +32,4 @@ ... x: MyOwn[int, str] - reveal_type(unwrap_or_failure(x)) # N: Revealed type is "Union[builtins.int, builtins.str]" + reveal_type(unwrap_or_failure(x)) # N: Revealed type is "builtins.int | builtins.str" diff --git a/typesafety/test_pipeline/test_flow/test_flow_base.yml b/typesafety/test_pipeline/test_flow/test_flow_base.yml index fd0995f8..f3deb515 100644 --- a/typesafety/test_pipeline/test_flow/test_flow_base.yml +++ b/typesafety/test_pipeline/test_flow/test_flow_base.yml @@ -170,8 +170,6 @@ reveal_type(flow(r, bind_result(test), identity, bind_result(second))) # N: Revealed type is "returns.io.IOResult[builtins.bool, builtins.str]" -# Regression to -# https://github.com/dry-python/returns/issues/461 - case: bind_result_and_flow3 disable_cache: false main: | diff --git a/typesafety/test_pipeline/test_flow/test_flow_errors.yml b/typesafety/test_pipeline/test_flow/test_flow_errors.yml index 62ea8c08..acc379ee 100644 --- a/typesafety/test_pipeline/test_flow/test_flow_errors.yml +++ b/typesafety/test_pipeline/test_flow/test_flow_errors.yml @@ -19,7 +19,7 @@ reveal_type(flow('a', [], int)) out: | - main:3: error: "List[Never]" not callable [operator] + main:3: error: "list[Never]" not callable [operator] main:3: note: Revealed type is "builtins.int" diff --git a/typesafety/test_pointfree/test_bind_awaitable.yml b/typesafety/test_pointfree/test_bind_awaitable.yml index ffdb5da8..75560686 100644 --- a/typesafety/test_pointfree/test_bind_awaitable.yml +++ b/typesafety/test_pointfree/test_bind_awaitable.yml @@ -118,4 +118,4 @@ ... x: MyClass[float] - reveal_type(bind_awaitable(test)(x)) # N: Revealed type is "main.MyClass[builtins.int]" + reveal_type(bind_awaitable(test)(x)) # N: Revealed type is "tmpi1axi_i6.MyClass[builtins.int]" diff --git a/typesafety/test_pointfree/test_bind_io.yml b/typesafety/test_pointfree/test_bind_io.yml index 62dd4b14..884adec0 100644 --- a/typesafety/test_pointfree/test_bind_io.yml +++ b/typesafety/test_pointfree/test_bind_io.yml @@ -73,6 +73,7 @@ x: IO[float] reveal_type(bind_io(test)(x)) # N: Revealed type is "returns.io.IO[builtins.int]" + - case: bind_io_ioresult disable_cache: false main: | diff --git a/typesafety/test_pointfree/test_cond.yml b/typesafety/test_pointfree/test_cond.yml index 545a1f83..92105118 100644 --- a/typesafety/test_pointfree/test_cond.yml +++ b/typesafety/test_pointfree/test_cond.yml @@ -73,4 +73,4 @@ reveal_type(cond(MyOwn, 'test', 1.0)(True)) out: | main:16: note: Revealed type is "main.MyOwn[builtins.str, builtins.float]" - main:16: error: Only concrete class can be given where "Type[MyOwn[Any, Any]]" is expected [type-abstract] + main:16: error: Only concrete class can be given where "type[MyOwn[Any, Any]]" is expected [type-abstract] diff --git a/typesafety/test_pointfree/test_rescue.yml b/typesafety/test_pointfree/test_rescue.yml index a700a0e0..b7b86fe7 100644 --- a/typesafety/test_pointfree/test_rescue.yml +++ b/typesafety/test_pointfree/test_rescue.yml @@ -133,4 +133,4 @@ ... x: MyClass[int, str] - reveal_type(lash(test)(x)) # N: Revealed type is "main.MyClass[builtins.int, builtins.int]" + reveal_type(lash(test)(x)) # N: Revealed type is "tmp36ari_vo.MyClass[builtins.int, builtins.int]" diff --git a/typesafety/test_pointfree/test_unify.yml b/typesafety/test_pointfree/test_unify.yml index 095a2098..90406901 100644 --- a/typesafety/test_pointfree/test_unify.yml +++ b/typesafety/test_pointfree/test_unify.yml @@ -8,7 +8,7 @@ ... x: Result[str, AssertionError] - reveal_type(unify(test)(x)) # N: Revealed type is "returns.result.Result[builtins.str, Union[builtins.AssertionError, builtins.int]]" + reveal_type(unify(test)(x)) # N: Revealed type is "returns.result.Result[builtins.str, builtins.AssertionError | builtins.int]" - case: unify_ioresult @@ -21,7 +21,7 @@ ... x: IOResult[float, bool] - reveal_type(unify(test)(x)) # N: Revealed type is "returns.io.IOResult[builtins.str, Union[builtins.bool, builtins.bytes]]" + reveal_type(unify(test)(x)) # N: Revealed type is "returns.io.IOResult[builtins.str, builtins.bool | builtins.bytes]" - case: unify_future_result @@ -34,7 +34,7 @@ ... x: FutureResult[bool, float] - reveal_type(unify(test)(x)) # N: Revealed type is "returns.future.FutureResult[builtins.bool, Union[builtins.float, builtins.str]]" + reveal_type(unify(test)(x)) # N: Revealed type is "returns.future.FutureResult[builtins.bool, builtins.float | builtins.str]" - case: unify_reader_ioresult @@ -47,7 +47,7 @@ ... x: ReaderIOResult[float, Exception, float] - reveal_type(unify(test)(x)) # N: Revealed type is "returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.bool, Union[builtins.Exception, builtins.str], builtins.float]" + reveal_type(unify(test)(x)) # N: Revealed type is "returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.bool, builtins.Exception | builtins.str, builtins.float]" - case: unify_reader_future_result1 @@ -60,7 +60,7 @@ ... x: ReaderFutureResult[int, str, NoDeps] - reveal_type(unify(test)(x)) # N: Revealed type is "returns.context.requires_context_future_result.RequiresContextFutureResult[builtins.int, Union[builtins.str, builtins.bool], builtins.bool]" + reveal_type(unify(test)(x)) # N: Revealed type is "returns.context.requires_context_future_result.RequiresContextFutureResult[builtins.int, builtins.str | builtins.bool, builtins.bool]" - case: unify_reader_future_result2 @@ -73,7 +73,7 @@ ... x: ReaderFutureResult[int, str, float] - reveal_type(unify(test)(x)) # N: Revealed type is "returns.context.requires_context_future_result.RequiresContextFutureResult[builtins.int, Union[builtins.str, builtins.bool], builtins.float]" + reveal_type(unify(test)(x)) # N: Revealed type is "returns.context.requires_context_future_result.RequiresContextFutureResult[builtins.int, builtins.str | builtins.bool, builtins.float]" - case: unify_custom_type @@ -98,4 +98,4 @@ ... x: MyOwn[str, ValueError] - reveal_type(unify(test)(x)) # N: Revealed type is "main.MyOwn[builtins.str, Union[builtins.ValueError, builtins.bool]]" + reveal_type(unify(test)(x)) # N: Revealed type is "main.MyOwn[builtins.str, builtins.ValueError | builtins.bool]" diff --git a/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_methods.yml b/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_methods.yml index 6fce4158..b4112ef8 100644 --- a/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_methods.yml +++ b/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_methods.yml @@ -17,7 +17,7 @@ ... x: Mappable[int] - reveal_type(x.map(str)) # N: Revealed type is "main.Mappable[builtins.str]" + reveal_type(x.map(str)) # N: Revealed type is "tmphs_3ogpw.Mappable[builtins.str]" - case: kinded_with_unannotated_self_method @@ -169,4 +169,4 @@ ) -> Kind1[_MappableType, _UpdatedType]: ... out: | - main:11: error: The erased type of self "Type[builtins.int]" is not a supertype of its class "Type[main.Mappable]" [misc] + main:11: error: The erased type of self "type[builtins.int]" is not a supertype of its class "type[tmp_2a94mx2.Mappable]" [misc] diff --git a/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_nested.yml b/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_nested.yml index 1fc7a37c..fc4c24d2 100644 --- a/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_nested.yml +++ b/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_nested.yml @@ -30,7 +30,6 @@ reveal_type(test()) # N: Revealed type is "typing.Sequence[returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.int, builtins.str, builtins.bool]]" - - case: kinded_with_nested_kind_callable disable_cache: false main: | @@ -64,7 +63,7 @@ ]: ... - reveal_type(test()) # N: Revealed type is "Tuple[returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.int, builtins.str, builtins.bool], returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.float, builtins.bytes, builtins.object]]" + reveal_type(test()) # N: Revealed type is "tuple[returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.int, builtins.str, builtins.bool], returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.float, builtins.bytes, builtins.object]]" - case: kinded_with_nested_kind_union @@ -81,7 +80,7 @@ ]: ... - reveal_type(test()) # N: Revealed type is "Union[returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.int, builtins.str, builtins.bool], returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.float, builtins.bytes, builtins.object]]" + reveal_type(test()) # N: Revealed type is "returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.int, builtins.str, builtins.bool] | returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.float, builtins.bytes, builtins.object]" - case: kinded_with_nested_kind_type @@ -95,4 +94,4 @@ def test() -> Type[KindN[ReaderIOResult, int, str, bool]]: ... - reveal_type(test()) # N: Revealed type is "Type[returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.int, builtins.str, builtins.bool]]" + reveal_type(test()) # N: Revealed type is "type[returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.int, builtins.str, builtins.bool]]" diff --git a/typesafety/test_primitives/test_hkt/test_kindn/test_kindn.yml b/typesafety/test_primitives/test_hkt/test_kindn/test_kindn.yml index 0ccf9ee5..0144af2f 100644 --- a/typesafety/test_primitives/test_hkt/test_kindn/test_kindn.yml +++ b/typesafety/test_primitives/test_hkt/test_kindn/test_kindn.yml @@ -1,15 +1,15 @@ - case: kind_params disable_cache: false parametrized: - - count: 1 - expected: 2 - - count: 2 - expected: 3 - - count: 3 - expected: 4 + - count: 1 + expected: 2 + - count: 2 + expected: 3 + - count: 3 + expected: 4 main: | from returns.primitives.hkt import Kind{{ count }} container: Kind{{ count }}[object, int, str, bool, float] out: | - main:3: error: Bad number of arguments for type alias, expected {{ expected }}, given 5 [type-arg] + main:1: error: Invalid syntax [syntax] diff --git a/typesafety/test_primitives/test_reawaitable/test_reawaitable_decorator.yml b/typesafety/test_primitives/test_reawaitable/test_reawaitable_decorator.yml index 05b52ff2..a36fd9ee 100644 --- a/typesafety/test_primitives/test_reawaitable/test_reawaitable_decorator.yml +++ b/typesafety/test_primitives/test_reawaitable/test_reawaitable_decorator.yml @@ -8,4 +8,4 @@ async def test(first: int, second: Optional[str] = None, *, kw: bool = True) -> int: ... - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> typing.Coroutine[Any, Any, builtins.int]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> typing.Coroutine[Any, Any, builtins.int]" diff --git a/typesafety/test_primitives/test_tracing/test_collect_traces.yml b/typesafety/test_primitives/test_tracing/test_collect_traces.yml index ee0abe43..b39fb29a 100644 --- a/typesafety/test_primitives/test_tracing/test_collect_traces.yml +++ b/typesafety/test_primitives/test_tracing/test_collect_traces.yml @@ -4,7 +4,8 @@ main: | from returns.primitives.tracing import collect_traces - reveal_type(collect_traces) # N: Revealed type is "Overload(def () -> contextlib.AbstractContextManager[None, Union[builtins.bool, None]], def [_FunctionType <: def (*Any, **Any) -> Any] (function: _FunctionType`-1) -> _FunctionType`-1)" + reveal_type(collect_traces) # N: Revealed type is "Overload(def () -> contextlib.AbstractContextManager[None, builtins.bool | None], def [_FunctionType <: def (*Any, **Any) -> Any] (function: _FunctionType`-1) -> _FunctionType`-1)" + - case: collect_traces_context_manager_return_type_two skip: sys.version_info[:2] >= (3, 13) @@ -12,9 +13,10 @@ main: | from returns.primitives.tracing import collect_traces - with reveal_type(collect_traces()): # N: Revealed type is "contextlib.AbstractContextManager[None, Union[builtins.bool, None]]" + with reveal_type(collect_traces()): # N: Revealed type is "contextlib.AbstractContextManager[None, builtins.bool | None]" pass + - case: collect_traces_decorated_function_return_type disable_cache: false main: | @@ -26,6 +28,7 @@ reveal_type(function) # N: Revealed type is "def () -> builtins.int" + - case: collect_traces_decorated_function_with_argument_return_type disable_cache: false main: | diff --git a/typesafety/test_result/test_construct_success.yml b/typesafety/test_result/test_construct_success.yml index fddfde3d..82c976d0 100644 --- a/typesafety/test_result/test_construct_success.yml +++ b/typesafety/test_result/test_construct_success.yml @@ -56,7 +56,7 @@ main: | from returns.result import Success - reveal_type(Success(1).value_or(None)) # N: Revealed type is "Union[builtins.int, None]" + reveal_type(Success(1).value_or(None)) # N: Revealed type is "builtins.int | None" - case: success_unwrap diff --git a/typesafety/test_result/test_do.yml b/typesafety/test_result/test_do.yml index ae149f67..f9219ab2 100644 --- a/typesafety/test_result/test_do.yml +++ b/typesafety/test_result/test_do.yml @@ -3,7 +3,7 @@ main: | from returns.result import Result, Failure - reveal_type(Result.do( # N: Revealed type is "returns.result.Result[Any, Union[builtins.int, builtins.str]]" + reveal_type(Result.do( # N: Revealed type is "returns.result.Result[Any, builtins.int | builtins.str]" first / second for first in Failure(1) for second in Failure('a') @@ -30,7 +30,7 @@ a: Result[int, str] b: Result[float, bytes] - reveal_type(Result.do( # N: Revealed type is "returns.result.Result[builtins.float, Union[builtins.str, builtins.bytes]]" + reveal_type(Result.do( # N: Revealed type is "returns.result.Result[builtins.float, builtins.str | builtins.bytes]" x + y for x in a for y in b diff --git a/typesafety/test_result/test_safe.yml b/typesafety/test_result/test_safe.yml index 2ecc6949..0d283874 100644 --- a/typesafety/test_result/test_safe.yml +++ b/typesafety/test_result/test_safe.yml @@ -60,7 +60,7 @@ def test(first: int, second: Optional[str] = None, *, kw: bool = True) -> int: return 1 - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.result.Result[builtins.int, builtins.Exception]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.result.Result[builtins.int, builtins.Exception]" - case: safe_decorator_passing_exceptions_with_args @@ -73,7 +73,7 @@ def test(first: int, second: Optional[str] = None, *, kw: bool = True) -> int: return 1 - reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.result.Result[builtins.int, builtins.Exception]" + reveal_type(test) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.result.Result[builtins.int, builtins.Exception]" - case: safe_composition_with_args @@ -85,7 +85,7 @@ def test(first: int, second: Optional[str] = None, *, kw: bool = True) -> int: return 1 - reveal_type(safe(test)) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.result.Result[builtins.int, builtins.Exception]" + reveal_type(safe(test)) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.result.Result[builtins.int, builtins.Exception]" - case: safe_composition_passing_exceptions_with_args @@ -97,7 +97,7 @@ def test(first: int, second: Optional[str] = None, *, kw: bool = True) -> int: return 1 - reveal_type(safe((ValueError,))(test)) # N: Revealed type is "def (first: builtins.int, second: Union[builtins.str, None] =, *, kw: builtins.bool =) -> returns.result.Result[builtins.int, builtins.ValueError]" + reveal_type(safe((ValueError,))(test)) # N: Revealed type is "def (first: builtins.int, second: builtins.str | None =, *, kw: builtins.bool =) -> returns.result.Result[builtins.int, builtins.ValueError]" - case: safe_regression333 From 5b8c357fb9222416bbbe9cbd5d38a9c447b9f3d0 Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Tue, 22 Jul 2025 17:50:57 +0900 Subject: [PATCH 08/14] Fixed multiple issues I missed in the typesafety tests update --- .../test_curry/test_curry_generics.yml | 18 ++++----- .../test_partial/test_partial_arguments.yml | 2 +- .../test_partial/test_partial_generic.yml | 40 +++++++++---------- .../test_partial/test_partial_overload.yml | 20 +++++----- .../test_your_container/test_pair4_def.yml | 4 +- .../test_your_container/test_pair4_reuse.yml | 4 +- typesafety/test_functions/test_not_.yml | 2 +- .../test_futurelike_inheritance.yml | 2 +- .../test_future_result_like.yml | 2 +- .../test_specific/test_io/test_io_like.yml | 1 + .../test_ioresultbased_inheritance.yml | 5 +-- .../test_ioresultlike_inheritance.yml | 1 - .../test_maybe/test_maybe_based.yml | 4 +- .../test_maybe/test_maybe_like.yml | 3 +- .../test_reader/test_reader_like2.yml | 2 +- .../test_reader/test_reader_like3.yml | 4 +- .../test_reader_result_like.yml | 1 + .../test_resultbased_inheritance.yml | 4 +- .../test_resultlike_inheritance.yml | 3 +- .../test_fold/test_fold_collect.yml | 26 ++++++------ .../test_fold/test_fold_collect_all.yml | 22 +++++----- .../test_fold/test_fold_loop.yml | 6 +-- typesafety/test_methods/test_partition.yml | 6 +-- .../test_pipe/test_pipe_errors.yml | 2 +- .../test_pointfree/test_bind_awaitable.yml | 2 +- typesafety/test_pointfree/test_rescue.yml | 2 +- .../test_kinded/test_kinded_methods.yml | 4 +- .../test_kinded/test_kinded_nested.yml | 10 ++--- .../test_hkt/test_kindn/test_kindn.yml | 14 +++---- .../test_kindn/test_kindn_getattr.yml | 2 +- .../test_hkt/test_supports_kind.yml | 2 +- .../test_trampolines/test_trampoline.yml | 12 +++--- 32 files changed, 117 insertions(+), 115 deletions(-) diff --git a/typesafety/test_curry/test_curry/test_curry_generics.yml b/typesafety/test_curry/test_curry/test_curry_generics.yml index a2674992..45679b24 100644 --- a/typesafety/test_curry/test_curry/test_curry_generics.yml +++ b/typesafety/test_curry/test_curry/test_curry_generics.yml @@ -7,10 +7,10 @@ T = TypeVar('T') @curry - def zero(arg: List[T]) -> T: + def zero(arg: list[T]) -> T: ... - x: List[int] + x: list[int] reveal_type(zero) # N: Revealed type is "def [T] (arg: builtins.list[T`-1]) -> T`-1" reveal_type(zero(x)) # N: Revealed type is "builtins.int" @@ -25,10 +25,10 @@ T = TypeVar('T') @curry - def zero(arg: List[T], other: int) -> T: + def zero(arg: list[T], other: int) -> T: ... - x: List[int] + x: list[int] reveal_type(zero) # N: Revealed type is "Overload(def [T] (arg: builtins.list[T`-1]) -> def (other: builtins.int) -> T`-1, def [T] (arg: builtins.list[T`-1], other: builtins.int) -> T`-1)" reveal_type(zero(x)) # N: Revealed type is "def (other: builtins.int) -> builtins.int" @@ -45,11 +45,11 @@ T = TypeVar('T') @curry - def zero(arg: int, other: List[T]) -> T: + def zero(arg: int, other: list[T]) -> T: ... - x: List[int] - y: List[str] + x: list[int] + y: list[str] reveal_type(zero(1)(x)) # N: Revealed type is "builtins.int" reveal_type(zero(1, x)) # N: Revealed type is "builtins.int" @@ -67,10 +67,10 @@ T = TypeVar('T') @curry - def zero(arg: T, other: List[T]) -> T: + def zero(arg: T, other: list[T]) -> T: ... - x: List[int] + x: list[int] reveal_type(zero) # N: Revealed type is "Overload(def [T] (arg: T`-1) -> def [T] (other: builtins.list[T`-1]) -> T`-1, def [T] (arg: T`-1, other: builtins.list[T`-1]) -> T`-1)" reveal_type(zero(1)) # N: Revealed type is "def [T] (other: builtins.list[T`2]) -> T`2" diff --git a/typesafety/test_curry/test_partial/test_partial_arguments.yml b/typesafety/test_curry/test_partial/test_partial_arguments.yml index 7bb9ec26..391d4906 100644 --- a/typesafety/test_curry/test_partial/test_partial_arguments.yml +++ b/typesafety/test_curry/test_partial/test_partial_arguments.yml @@ -135,7 +135,7 @@ def __call__(self, arg: int, other: str) -> None: ... - x: Union[Inst, Other] + x: Inst | Other reveal_type(partial(x)) # This does not work as well: reveal_type(partial(x, 1)) diff --git a/typesafety/test_curry/test_partial/test_partial_generic.yml b/typesafety/test_curry/test_partial/test_partial_generic.yml index f70668e4..7437c1fe 100644 --- a/typesafety/test_curry/test_partial/test_partial_generic.yml +++ b/typesafety/test_curry/test_partial/test_partial_generic.yml @@ -7,13 +7,13 @@ T = TypeVar('T') def multiple( - a: List[T], - b: List[T], + a: list[T], + b: list[T], ) -> T: ... - x: List[int] - y: List[str] + x: list[int] + y: list[str] reveal_type(partial(multiple, x)(y)) out: | @@ -30,13 +30,13 @@ T = TypeVar('T') def multiple( - a: List[T], - b: List[T], + a: list[T], + b: list[T], ) -> T: ... - x: List[int] - y: List[int] + x: list[int] + y: list[int] reveal_type(partial(multiple, x)(y)) out: | @@ -53,12 +53,12 @@ def multiple( a: int, - b: List[T], + b: list[T], c: bool = False, ) -> T: ... - x: List[int] + x: list[int] reveal_type(partial(multiple)) reveal_type(partial(multiple, 1)) @@ -91,13 +91,13 @@ def multiple( a: int, *, - b: List[B], - c: List[A], - ) -> Union[A, B]: + b: list[B], + c: list[A], + ) -> A | B: ... - x: List[int] - y: List[str] + x: list[int] + y: list[str] reveal_type(partial(multiple)) reveal_type(partial(multiple, 1)) @@ -126,13 +126,13 @@ def multiple( a: int, *, - b: List[B], - c: List[A], - ) -> Union[A, B]: + b: list[B], + c: list[A], + ) -> A | B: ... - x: List[int] - y: List[str] + x: list[int] + y: list[str] reveal_type(partial(multiple, 1, c=y, b=x)) reveal_type(partial(multiple, 1, b=x)(c=y)) diff --git a/typesafety/test_curry/test_partial/test_partial_overload.yml b/typesafety/test_curry/test_partial/test_partial_overload.yml index 5038da5c..25fd828f 100644 --- a/typesafety/test_curry/test_partial/test_partial_overload.yml +++ b/typesafety/test_curry/test_partial/test_partial_overload.yml @@ -93,22 +93,22 @@ T = TypeVar('T') @overload - def two_args(a: int, b: List[T]) -> T: + def two_args(a: int, b: list[T]) -> T: ... @overload - def two_args(a: int, b: Set[T]) -> T: + def two_args(a: int, b: set[T]) -> T: ... @overload - def two_args(a: List[T], b: Set[T]) -> T: + def two_args(a: list[T], b: set[T]) -> T: ... def two_args(a, b): ... - x: List[float] - y: Set[float] + x: list[float] + y: set[float] reveal_type(partial(two_args)) reveal_type(partial(two_args, 1)) @@ -135,22 +135,22 @@ B = TypeVar('B') @overload - def two_args(a: int, b: List[A]) -> A: + def two_args(a: int, b: list[A]) -> A: ... @overload - def two_args(a: int, b: List[B]) -> B: + def two_args(a: int, b: list[B]) -> B: ... @overload - def two_args(a: List[A], b: List[B]) -> Union[A, B]: + def two_args(a: list[A], b: list[B]) -> A | B: ... def two_args(a, b): ... - a: List[float] - b: List[str] + a: list[float] + b: list[str] reveal_type(partial(two_args)) reveal_type(partial(two_args, 1)) diff --git a/typesafety/test_examples/test_your_container/test_pair4_def.yml b/typesafety/test_examples/test_your_container/test_pair4_def.yml index 57099566..98ad3dcd 100644 --- a/typesafety/test_examples/test_your_container/test_pair4_def.yml +++ b/typesafety/test_examples/test_your_container/test_pair4_def.yml @@ -15,5 +15,5 @@ my_pair: Pair[int, str] = Pair.from_paired(1, 'a') reveal_type(my_pair.pair(function)) out: | - main:4: note: Revealed type is "Any" - main:10: note: Revealed type is "Any" + main:4: note: Revealed type is "def [_FirstType, _SecondType] (inner_value: tuple[_FirstType`1, _SecondType`2]) -> test_pair4.Pair[_FirstType`1, _SecondType`2]" + main:10: note: Revealed type is "test_pair4.Pair[builtins.float, builtins.bool]" diff --git a/typesafety/test_examples/test_your_container/test_pair4_reuse.yml b/typesafety/test_examples/test_your_container/test_pair4_reuse.yml index adcfcade..5484bffc 100644 --- a/typesafety/test_examples/test_your_container/test_pair4_reuse.yml +++ b/typesafety/test_examples/test_your_container/test_pair4_reuse.yml @@ -11,5 +11,5 @@ reveal_type(my_pair.map(str)) reveal_type(map_(str)(my_pair)) out: | - main:5: note: Revealed type is "Any" - main:6: note: Revealed type is "Any" + main:5: note: Revealed type is "test_pair4.Pair[builtins.str, builtins.int]" + main:6: note: Revealed type is "test_pair4.Pair[builtins.str, builtins.int]" diff --git a/typesafety/test_functions/test_not_.yml b/typesafety/test_functions/test_not_.yml index 93ba61bf..6c5fa0df 100644 --- a/typesafety/test_functions/test_not_.yml +++ b/typesafety/test_functions/test_not_.yml @@ -14,7 +14,7 @@ from returns.functions import not_ from typing import List - def number_is_in_list(number: int, list_: List[int]) -> bool: + def number_is_in_list(number: int, list_: list[int]) -> bool: return number in list_ reveal_type(not_(number_is_in_list)) # N: Revealed type is "def (number: builtins.int, list_: builtins.list[builtins.int]) -> builtins.bool" diff --git a/typesafety/test_interfaces/test_specific/test_future/test_futurelike_inheritance.yml b/typesafety/test_interfaces/test_specific/test_future/test_futurelike_inheritance.yml index 72d0e00d..d6a2f3e7 100644 --- a/typesafety/test_interfaces/test_specific/test_future/test_futurelike_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_future/test_futurelike_inheritance.yml @@ -55,7 +55,7 @@ ... x: Future[int] - reveal_type(MyClass.from_future(x).bind_future(test1).bind_async_future(test2).bind_async(test3)) # N: Revealed type is "tmp1_9rpu4l.MyClass[builtins.str]" + reveal_type(MyClass.from_future(x).bind_future(test1).bind_async_future(test2).bind_async(test3)) # N: Revealed type is "main.MyClass[builtins.str]" - case: future_inheritance_correct2 diff --git a/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_like.yml b/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_like.yml index b4e1a874..df345779 100644 --- a/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_like.yml +++ b/typesafety/test_interfaces/test_specific/test_future_result/test_future_result_like.yml @@ -41,7 +41,7 @@ ... x: MyClass[int, str] - reveal_type(x.bind_future_result(test)) # N: Revealed type is "tmp417ocr_v.MyClass[builtins.float, builtins.str]" + reveal_type(x.bind_future_result(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str]" - case: future_result_inheritance_missing diff --git a/typesafety/test_interfaces/test_specific/test_io/test_io_like.yml b/typesafety/test_interfaces/test_specific/test_io/test_io_like.yml index 22fc8b1a..493d88a3 100644 --- a/typesafety/test_interfaces/test_specific/test_io/test_io_like.yml +++ b/typesafety/test_interfaces/test_specific/test_io/test_io_like.yml @@ -83,6 +83,7 @@ main:15: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides main:19: error: Signature of "from_io" incompatible with supertype "returns.interfaces.specific.io.IOLikeN" [override] main:19: note: Superclass: + main:19: note: @classmethod main:19: note: def [_UpdatedType] from_io(cls, inner_value: IO[_UpdatedType]) -> KindN[MyClass[_ValueType], _UpdatedType, Never, Never] main:19: note: Subclass: main:19: note: def [_NewValueType] from_io(self, inner_value: IO[_NewValueType]) -> MyClass[_NewValueType] diff --git a/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultbased_inheritance.yml b/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultbased_inheritance.yml index a2704441..9ac7017b 100644 --- a/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultbased_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultbased_inheritance.yml @@ -48,7 +48,7 @@ ... x: IOResult[int, str] - reveal_type(MyClass.from_ioresult(x).bind_ioresult(test)) # N: Revealed type is "tmpi_w81f7k.MyClass[builtins.float, builtins.str]" + reveal_type(MyClass.from_ioresult(x).bind_ioresult(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str]" - case: ioresult_inheritance_correct3 @@ -102,7 +102,7 @@ ... x: IOResult[int, str] - reveal_type(MyClass.from_ioresult(x).bind_ioresult(test)) # N: Revealed type is "tmp_ao0nwoz.MyClass[builtins.float, builtins.str, Any]" + reveal_type(MyClass.from_ioresult(x).bind_ioresult(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str, Any]" - case: ioresult_inheritance_missing @@ -179,7 +179,6 @@ main:33: note: Superclass: main:33: note: def [_ErrorType] from_failed_io(cls, inner_value: IO[_ErrorType]) -> KindN[MyClass[_ValueType, _ErrorType@MyClass], _ValueType, _ErrorType, Never] main:33: note: Subclass: - main:33: note: @classmethod main:33: note: def [_NewErrorType] from_failed_io(cls, inner_value: IO[_NewErrorType]) -> MyClass[_NewErrorType, Any] diff --git a/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultlike_inheritance.yml b/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultlike_inheritance.yml index 5f302874..fe9963ea 100644 --- a/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultlike_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_ioresult/test_ioresultlike_inheritance.yml @@ -167,7 +167,6 @@ main:33: note: Superclass: main:33: note: def [_ErrorType] from_failed_io(cls, inner_value: IO[_ErrorType]) -> KindN[MyClass[_ValueType, _ErrorType@MyClass], _ValueType, _ErrorType, Never] main:33: note: Subclass: - main:33: note: @classmethod main:33: note: def [_NewErrorType] from_failed_io(cls, inner_value: IO[_NewErrorType]) -> MyClass[_NewErrorType, Any] diff --git a/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_based.yml b/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_based.yml index a32bc2f4..2e410348 100644 --- a/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_based.yml +++ b/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_based.yml @@ -12,7 +12,7 @@ def or_else_call( self, function: Callable[[], N], - ) -> Union[V, N]: + ) -> V | N: ... @@ -46,7 +46,7 @@ def or_else_call( self, function: Callable[[], V], - ) -> Union[None, V]: + ) -> None | V: ... out: | main:9: error: Return type "V | None" of "or_else_call" incompatible with return type "V | _ValueType" in supertype "returns.interfaces.specific.maybe.MaybeBasedN" [override] diff --git a/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_like.yml b/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_like.yml index 4fac025b..b3bbfad3 100644 --- a/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_like.yml +++ b/typesafety/test_interfaces/test_specific/test_maybe/test_maybe_like.yml @@ -33,7 +33,7 @@ class MyClass(SupportsKind2['MyClass', V, None], MaybeLike2[V, None]): ... out: | - main:8: error: Final class tmpgpg_17uy.MyClass has abstract attributes "apply", "bind", "bind_optional", "empty", "from_optional", "from_value", "lash", "map" [misc] + main:8: error: Final class main.MyClass has abstract attributes "apply", "bind", "bind_optional", "empty", "from_optional", "from_value", "lash", "map" [misc] - case: maybe_like_inheritance_wrong @@ -59,6 +59,7 @@ main:9: error: Return type "MyClass[N | None]" of "bind_optional" incompatible with return type "KindN[MyClass[V], _UpdatedType, None, Never]" in supertype "returns.interfaces.specific.maybe.MaybeLikeN" [override] main:15: error: Signature of "from_optional" incompatible with supertype "returns.interfaces.specific.maybe.MaybeLikeN" [override] main:15: note: Superclass: + main:15: note: @classmethod main:15: note: def [_ValueType] from_optional(cls, inner_value: _ValueType | None) -> KindN[MyClass[V], _ValueType, None, Never] main:15: note: Subclass: main:15: note: def [N] from_optional(self, inner_value: N | None) -> MyClass[N] diff --git a/typesafety/test_interfaces/test_specific/test_reader/test_reader_like2.yml b/typesafety/test_interfaces/test_specific/test_reader/test_reader_like2.yml index 1da34c1a..0e635588 100644 --- a/typesafety/test_interfaces/test_specific/test_reader/test_reader_like2.yml +++ b/typesafety/test_interfaces/test_specific/test_reader/test_reader_like2.yml @@ -46,7 +46,7 @@ ... x: Reader[int, str] - reveal_type(MyClass.from_context(x).bind_context(test)) # N: Revealed type is "tmpud9si_2r.MyClass[builtins.float, builtins.str]" + reveal_type(MyClass.from_context(x).bind_context(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str]" - case: reader_inheritance_missing diff --git a/typesafety/test_interfaces/test_specific/test_reader/test_reader_like3.yml b/typesafety/test_interfaces/test_specific/test_reader/test_reader_like3.yml index 21986200..8a787c24 100644 --- a/typesafety/test_interfaces/test_specific/test_reader/test_reader_like3.yml +++ b/typesafety/test_interfaces/test_specific/test_reader/test_reader_like3.yml @@ -18,7 +18,7 @@ ): no_args: ClassVar[NoDeps] = object() - def __call__(self, deps: _EnvType) -> Union[_ValueType, _ErrorType]: + def __call__(self, deps: _EnvType) -> _ValueType | _ErrorType: ... def bind_context( @@ -50,7 +50,7 @@ ... x: Reader[int, str] - reveal_type(MyClass.from_context(x).bind_context(test)) # N: Revealed type is "tmpai_9hs1y.MyClass[builtins.float, Any, builtins.str]" + reveal_type(MyClass.from_context(x).bind_context(test)) # N: Revealed type is "main.MyClass[builtins.float, Any, builtins.str]" - case: reader_inheritance_missing diff --git a/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_like.yml b/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_like.yml index 601328fc..bb1b63ab 100644 --- a/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_like.yml +++ b/typesafety/test_interfaces/test_specific/test_reader_result/test_reader_result_like.yml @@ -107,6 +107,7 @@ main:20: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides main:25: error: Signature of "from_failed_context" incompatible with supertype "returns.interfaces.specific.reader_result.ReaderResultLikeN" [override] main:25: note: Superclass: + main:25: note: @classmethod main:25: note: def [_ErrorType, _EnvType] from_failed_context(cls, inner_value: RequiresContext[_ErrorType, _EnvType]) -> KindN[MyClass[T, V, U], T, _ErrorType, _EnvType] main:25: note: Subclass: main:25: note: @classmethod diff --git a/typesafety/test_interfaces/test_specific/test_result/test_resultbased_inheritance.yml b/typesafety/test_interfaces/test_specific/test_result/test_resultbased_inheritance.yml index 5a105931..1acd24a2 100644 --- a/typesafety/test_interfaces/test_specific/test_result/test_resultbased_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_result/test_resultbased_inheritance.yml @@ -51,7 +51,7 @@ ... x: Result[int, str] - reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "tmp_30tjo3j.MyClass[builtins.float, builtins.str]" + reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str]" - case: result_inheritance_correct3 @@ -108,7 +108,7 @@ ... x: Result[int, str] - reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "tmpdnie0d_0.MyClass[builtins.float, builtins.str, Any]" + reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str, Any]" - case: result_inheritance_missing diff --git a/typesafety/test_interfaces/test_specific/test_result/test_resultlike_inheritance.yml b/typesafety/test_interfaces/test_specific/test_result/test_resultlike_inheritance.yml index 3ed92bb0..1cbe614c 100644 --- a/typesafety/test_interfaces/test_specific/test_result/test_resultlike_inheritance.yml +++ b/typesafety/test_interfaces/test_specific/test_result/test_resultlike_inheritance.yml @@ -78,7 +78,7 @@ ... x: Result[int, str] - reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "tmpu9_axipt.MyClass[builtins.float, builtins.str, Any]" + reveal_type(MyClass.from_result(x).bind_result(test)) # N: Revealed type is "main.MyClass[builtins.float, builtins.str, Any]" - case: result_inheritance_missing @@ -137,6 +137,7 @@ main:19: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#incompatible-overrides main:26: error: Signature of "from_result" incompatible with supertype "returns.interfaces.specific.result.ResultLikeN" [override] main:26: note: Superclass: + main:26: note: @classmethod main:26: note: def [_ValueType, _ErrorType] from_result(cls, inner_value: Result[_ValueType, _ErrorType]) -> KindN[MyClass[_ValueType@MyClass, _ErrorType@MyClass], _ValueType, _ErrorType, Never] main:26: note: Subclass: main:26: note: def [_NewValueType, _NewErrorType] from_result(self, inner_value: Result[_NewValueType, _NewErrorType]) -> MyClass[_NewValueType, _NewErrorType] diff --git a/typesafety/test_iterables/test_fold/test_fold_collect.yml b/typesafety/test_iterables/test_fold/test_fold_collect.yml index 59edd87d..97c2e4fe 100644 --- a/typesafety/test_iterables/test_fold/test_fold_collect.yml +++ b/typesafety/test_iterables/test_fold/test_fold_collect.yml @@ -5,15 +5,15 @@ from returns.result import Result from returns.iterables import Fold - x1: List[Result[int, str]] + x1: list[Result[int, str]] x2: Iterable[Result[int, str]] x3: Sequence[Result[int, str]] x4: Iterator[Result[int, str]] - x5: Tuple[Result[int, str], ...] - x6: Tuple[Result[int, str]] + x5: tuple[Result[int, str], ...] + x6: tuple[Result[int, str]] x7: Generator[Result[int, str], None, None] - acc: Result[Tuple[()], str] + acc: Result[tuple[()], str] reveal_type(Fold.collect(x1, acc)) # N: Revealed type is "returns.result.Result[builtins.tuple[builtins.int, ...], builtins.str]" reveal_type(Fold.collect(x2, acc)) # N: Revealed type is "returns.result.Result[builtins.tuple[builtins.int, ...], builtins.str]" @@ -55,7 +55,7 @@ from returns.result import Result from typing import Iterable, Tuple - acc: Result[Tuple[()], str] + acc: Result[tuple[()], str] x: Iterable[Result[float, str]] reveal_type(Fold.collect(x, acc)) # N: Revealed type is "returns.result.Result[builtins.tuple[builtins.float, ...], builtins.str]" @@ -67,7 +67,7 @@ from returns.io import IOResult from typing import Iterable, Tuple - acc: IOResult[Tuple[()], str] + acc: IOResult[tuple[()], str] x: Iterable[IOResult[float, str]] reveal_type(Fold.collect(x, acc)) # N: Revealed type is "returns.io.IOResult[builtins.tuple[builtins.float, ...], builtins.str]" @@ -79,7 +79,7 @@ from returns.context import RequiresContext from typing import Iterable, Tuple - acc: RequiresContext[Tuple[()], str] + acc: RequiresContext[tuple[()], str] x: Iterable[RequiresContext[float, str]] reveal_type(Fold.collect(x, acc)) # N: Revealed type is "returns.context.requires_context.RequiresContext[builtins.tuple[builtins.float, ...], builtins.str]" @@ -91,7 +91,7 @@ from returns.context import RequiresContextResult from typing import Iterable, Tuple - acc: RequiresContextResult[Tuple[()], str, bool] + acc: RequiresContextResult[tuple[()], str, bool] x: Iterable[RequiresContextResult[float, str, bool]] reveal_type(Fold.collect(x, acc)) # N: Revealed type is "returns.context.requires_context_result.RequiresContextResult[builtins.tuple[builtins.float, ...], builtins.str, builtins.bool]" @@ -103,7 +103,7 @@ from returns.context import RequiresContextIOResult from typing import Iterable, Tuple - acc: RequiresContextIOResult[Tuple[()], str, bool] + acc: RequiresContextIOResult[tuple[()], str, bool] x: Iterable[RequiresContextIOResult[float, str, bool]] reveal_type(Fold.collect(x, acc)) # N: Revealed type is "returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.tuple[builtins.float, ...], builtins.str, builtins.bool]" @@ -115,7 +115,7 @@ from returns.context import RequiresContextFutureResult from typing import Iterable, Tuple - acc: RequiresContextFutureResult[Tuple[()], str, bool] + acc: RequiresContextFutureResult[tuple[()], str, bool] x: Iterable[RequiresContextFutureResult[float, str, bool]] reveal_type(Fold.collect(x, acc)) # N: Revealed type is "returns.context.requires_context_future_result.RequiresContextFutureResult[builtins.tuple[builtins.float, ...], builtins.str, builtins.bool]" @@ -127,7 +127,7 @@ from returns.future import Future from typing import Iterable, Tuple - acc: Future[Tuple[()]] + acc: Future[tuple[()]] x: Iterable[Future[float]] reveal_type(Fold.collect(x, acc)) # N: Revealed type is "returns.future.Future[builtins.tuple[builtins.float, ...]]" @@ -139,7 +139,7 @@ from returns.future import FutureResult from typing import Iterable, Tuple - acc: FutureResult[Tuple[()], str] + acc: FutureResult[tuple[()], str] x: Iterable[FutureResult[float, str]] reveal_type(Fold.collect(x, acc)) # N: Revealed type is "returns.future.FutureResult[builtins.tuple[builtins.float, ...], builtins.str]" @@ -157,6 +157,6 @@ class MyClass(SupportsKind1['MyClass', V], Applicative1[V]): ... - acc: MyClass[Tuple[()]] + acc: MyClass[tuple[()]] x: Iterable[MyClass[float]] reveal_type(Fold.collect(x, acc)) # N: Revealed type is "main.MyClass[builtins.tuple[builtins.float, ...]]" diff --git a/typesafety/test_iterables/test_fold/test_fold_collect_all.yml b/typesafety/test_iterables/test_fold/test_fold_collect_all.yml index 43e98770..e086f3ce 100644 --- a/typesafety/test_iterables/test_fold/test_fold_collect_all.yml +++ b/typesafety/test_iterables/test_fold/test_fold_collect_all.yml @@ -5,15 +5,15 @@ from returns.result import Result from returns.iterables import Fold - x1: List[Result[int, str]] + x1: list[Result[int, str]] x2: Iterable[Result[int, str]] x3: Sequence[Result[int, str]] x4: Iterator[Result[int, str]] - x5: Tuple[Result[int, str], ...] - x6: Tuple[Result[int, str]] + x5: tuple[Result[int, str], ...] + x6: tuple[Result[int, str]] x7: Generator[Result[int, str], None, None] - acc: Result[Tuple[()], str] + acc: Result[tuple[()], str] reveal_type(Fold.collect_all(x1, acc)) # N: Revealed type is "returns.result.Result[builtins.tuple[builtins.int, ...], builtins.str]" reveal_type(Fold.collect_all(x2, acc)) # N: Revealed type is "returns.result.Result[builtins.tuple[builtins.int, ...], builtins.str]" @@ -55,7 +55,7 @@ from returns.result import Result from typing import Iterable, Tuple - acc: Result[Tuple[()], str] + acc: Result[tuple[()], str] x: Iterable[Result[float, str]] reveal_type(Fold.collect_all(x, acc)) # N: Revealed type is "returns.result.Result[builtins.tuple[builtins.float, ...], builtins.str]" @@ -67,7 +67,7 @@ from returns.io import IOResult from typing import Iterable, Tuple - acc: IOResult[Tuple[()], str] + acc: IOResult[tuple[()], str] x: Iterable[IOResult[float, str]] reveal_type(Fold.collect_all(x, acc)) # N: Revealed type is "returns.io.IOResult[builtins.tuple[builtins.float, ...], builtins.str]" @@ -79,7 +79,7 @@ from returns.context import RequiresContextResult from typing import Iterable, Tuple - acc: RequiresContextResult[Tuple[()], str, bool] + acc: RequiresContextResult[tuple[()], str, bool] x: Iterable[RequiresContextResult[float, str, bool]] reveal_type(Fold.collect_all(x, acc)) # N: Revealed type is "returns.context.requires_context_result.RequiresContextResult[builtins.tuple[builtins.float, ...], builtins.str, builtins.bool]" @@ -91,7 +91,7 @@ from returns.context import RequiresContextIOResult from typing import Iterable, Tuple - acc: RequiresContextIOResult[Tuple[()], str, bool] + acc: RequiresContextIOResult[tuple[()], str, bool] x: Iterable[RequiresContextIOResult[float, str, bool]] reveal_type(Fold.collect_all(x, acc)) # N: Revealed type is "returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.tuple[builtins.float, ...], builtins.str, builtins.bool]" @@ -103,7 +103,7 @@ from returns.context import RequiresContextFutureResult from typing import Iterable, Tuple - acc: RequiresContextFutureResult[Tuple[()], str, bool] + acc: RequiresContextFutureResult[tuple[()], str, bool] x: Iterable[RequiresContextFutureResult[float, str, bool]] reveal_type(Fold.collect_all(x, acc)) # N: Revealed type is "returns.context.requires_context_future_result.RequiresContextFutureResult[builtins.tuple[builtins.float, ...], builtins.str, builtins.bool]" @@ -115,7 +115,7 @@ from returns.future import FutureResult from typing import Iterable, Tuple - acc: FutureResult[Tuple[()], str] + acc: FutureResult[tuple[()], str] x: Iterable[FutureResult[float, str]] reveal_type(Fold.collect_all(x, acc)) # N: Revealed type is "returns.future.FutureResult[builtins.tuple[builtins.float, ...], builtins.str]" @@ -134,6 +134,6 @@ class MyClass(SupportsKind2['MyClass', V, N], Failable2[V, N]): ... - acc: MyClass[Tuple[()], str] + acc: MyClass[tuple[()], str] x: Iterable[MyClass[float, str]] reveal_type(Fold.collect_all(x, acc)) # N: Revealed type is "main.MyClass[builtins.tuple[builtins.float, ...], builtins.str]" diff --git a/typesafety/test_iterables/test_fold/test_fold_loop.yml b/typesafety/test_iterables/test_fold/test_fold_loop.yml index e70039bf..969870c2 100644 --- a/typesafety/test_iterables/test_fold/test_fold_loop.yml +++ b/typesafety/test_iterables/test_fold/test_fold_loop.yml @@ -7,12 +7,12 @@ from returns.result import Result from returns.iterables import Fold - x1: List[Result[int, str]] + x1: list[Result[int, str]] x2: Iterable[Result[int, str]] x3: Sequence[Result[int, str]] x4: Iterator[Result[int, str]] - x5: Tuple[Result[int, str], ...] - x6: Tuple[Result[int, str]] + x5: tuple[Result[int, str], ...] + x6: tuple[Result[int, str]] x7: Generator[Result[int, str], None, None] acc: Result[float, str] diff --git a/typesafety/test_methods/test_partition.yml b/typesafety/test_methods/test_partition.yml index a2631959..92041edc 100644 --- a/typesafety/test_methods/test_partition.yml +++ b/typesafety/test_methods/test_partition.yml @@ -5,7 +5,7 @@ from returns.result import Success, Failure, Result from returns.methods import partition - x: List[Result[int, str]] + x: list[Result[int, str]] reveal_type(partition(x)) # N: Revealed type is "tuple[builtins.list[builtins.int], builtins.list[builtins.str]]" @@ -17,7 +17,7 @@ from returns.methods import partition from returns.io import IO, IOResult, IOSuccess - x: Tuple[IOResult[int, str], IOResult[int, str]] + x: tuple[IOResult[int, str], IOResult[int, str]] reveal_type(partition(x)) # N: Revealed type is "tuple[builtins.list[returns.io.IO[builtins.int]], builtins.list[returns.io.IO[builtins.str]]]" @@ -28,6 +28,6 @@ from returns.maybe import Maybe from returns.methods import partition - x: List[Maybe[int]] + x: list[Maybe[int]] reveal_type(partition(x)) # N: Revealed type is "tuple[builtins.list[builtins.int], builtins.list[None]]" diff --git a/typesafety/test_pipeline/test_pipe/test_pipe_errors.yml b/typesafety/test_pipeline/test_pipe/test_pipe_errors.yml index e1be9411..29daad4a 100644 --- a/typesafety/test_pipeline/test_pipe/test_pipe_errors.yml +++ b/typesafety/test_pipeline/test_pipe/test_pipe_errors.yml @@ -19,7 +19,7 @@ pipe([], int)('a') out: | - main:3: error: "List[Never]" not callable [operator] + main:3: error: "list[Never]" not callable [operator] main:3: error: "Never" not callable [misc] main:3: error: Argument 1 to "__call__" of "_Pipe" has incompatible type "str"; expected "Never" [arg-type] diff --git a/typesafety/test_pointfree/test_bind_awaitable.yml b/typesafety/test_pointfree/test_bind_awaitable.yml index 75560686..ffdb5da8 100644 --- a/typesafety/test_pointfree/test_bind_awaitable.yml +++ b/typesafety/test_pointfree/test_bind_awaitable.yml @@ -118,4 +118,4 @@ ... x: MyClass[float] - reveal_type(bind_awaitable(test)(x)) # N: Revealed type is "tmpi1axi_i6.MyClass[builtins.int]" + reveal_type(bind_awaitable(test)(x)) # N: Revealed type is "main.MyClass[builtins.int]" diff --git a/typesafety/test_pointfree/test_rescue.yml b/typesafety/test_pointfree/test_rescue.yml index b7b86fe7..a700a0e0 100644 --- a/typesafety/test_pointfree/test_rescue.yml +++ b/typesafety/test_pointfree/test_rescue.yml @@ -133,4 +133,4 @@ ... x: MyClass[int, str] - reveal_type(lash(test)(x)) # N: Revealed type is "tmp36ari_vo.MyClass[builtins.int, builtins.int]" + reveal_type(lash(test)(x)) # N: Revealed type is "main.MyClass[builtins.int, builtins.int]" diff --git a/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_methods.yml b/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_methods.yml index b4112ef8..b57b96ca 100644 --- a/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_methods.yml +++ b/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_methods.yml @@ -17,7 +17,7 @@ ... x: Mappable[int] - reveal_type(x.map(str)) # N: Revealed type is "tmphs_3ogpw.Mappable[builtins.str]" + reveal_type(x.map(str)) # N: Revealed type is "main.Mappable[builtins.str]" - case: kinded_with_unannotated_self_method @@ -169,4 +169,4 @@ ) -> Kind1[_MappableType, _UpdatedType]: ... out: | - main:11: error: The erased type of self "type[builtins.int]" is not a supertype of its class "type[tmp_2a94mx2.Mappable]" [misc] + main:11: error: The erased type of self "type[builtins.int]" is not a supertype of its class "type[main.Mappable]" [misc] diff --git a/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_nested.yml b/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_nested.yml index fc4c24d2..9ad2c69b 100644 --- a/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_nested.yml +++ b/typesafety/test_primitives/test_hkt/test_kinded/test_kinded_nested.yml @@ -57,7 +57,7 @@ from typing import Tuple @kinded - def test() -> Tuple[ + def test() -> tuple[ KindN[ReaderIOResult, int, str, bool], KindN[ReaderIOResult, float, bytes, object], ]: @@ -74,10 +74,10 @@ from typing import Union @kinded - def test() -> Union[ - KindN[ReaderIOResult, int, str, bool], - KindN[ReaderIOResult, float, bytes, object], - ]: + def test() -> ( + KindN[ReaderIOResult, int, str, bool] | + KindN[ReaderIOResult, float, bytes, object] + ): ... reveal_type(test()) # N: Revealed type is "returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.int, builtins.str, builtins.bool] | returns.context.requires_context_ioresult.RequiresContextIOResult[builtins.float, builtins.bytes, builtins.object]" diff --git a/typesafety/test_primitives/test_hkt/test_kindn/test_kindn.yml b/typesafety/test_primitives/test_hkt/test_kindn/test_kindn.yml index 0144af2f..0ccf9ee5 100644 --- a/typesafety/test_primitives/test_hkt/test_kindn/test_kindn.yml +++ b/typesafety/test_primitives/test_hkt/test_kindn/test_kindn.yml @@ -1,15 +1,15 @@ - case: kind_params disable_cache: false parametrized: - - count: 1 - expected: 2 - - count: 2 - expected: 3 - - count: 3 - expected: 4 + - count: 1 + expected: 2 + - count: 2 + expected: 3 + - count: 3 + expected: 4 main: | from returns.primitives.hkt import Kind{{ count }} container: Kind{{ count }}[object, int, str, bool, float] out: | - main:1: error: Invalid syntax [syntax] + main:3: error: Bad number of arguments for type alias, expected {{ expected }}, given 5 [type-arg] diff --git a/typesafety/test_primitives/test_hkt/test_kindn/test_kindn_getattr.yml b/typesafety/test_primitives/test_hkt/test_kindn/test_kindn_getattr.yml index 7496d762..bd93be1d 100644 --- a/typesafety/test_primitives/test_hkt/test_kindn/test_kindn_getattr.yml +++ b/typesafety/test_primitives/test_hkt/test_kindn/test_kindn_getattr.yml @@ -15,7 +15,7 @@ from typing import List container: Kind1[List, int] - container.missing # E: "List[Any]" has no attribute "missing" [attr-defined] + container.missing # E: "list[Any]" has no attribute "missing" [attr-defined] - case: kind_any_getattr diff --git a/typesafety/test_primitives/test_hkt/test_supports_kind.yml b/typesafety/test_primitives/test_hkt/test_supports_kind.yml index 50e1c3be..080747cd 100644 --- a/typesafety/test_primitives/test_hkt/test_supports_kind.yml +++ b/typesafety/test_primitives/test_hkt/test_supports_kind.yml @@ -5,7 +5,7 @@ from typing import List container: SupportsKind1[List, int] - container.pop # E: "SupportsKindN[List[Any], int, Never, Never]" has no attribute "pop" [attr-defined] + container.pop # E: "SupportsKindN[list[Any], int, Never, Never]" has no attribute "pop" [attr-defined] - case: supports_kind_getattr_missing diff --git a/typesafety/test_trampolines/test_trampoline.yml b/typesafety/test_trampolines/test_trampoline.yml index caf844e8..08e26a9a 100644 --- a/typesafety/test_trampolines/test_trampoline.yml +++ b/typesafety/test_trampolines/test_trampoline.yml @@ -6,9 +6,9 @@ @trampoline def _accumulate( - numbers: List[int], + numbers: list[int], acc: int = 0, - ) -> Union[int, Trampoline[int]]: + ) -> int | Trampoline[int]: return Trampoline(_accumulate) out: | main:9: error: Missing positional argument "numbers" in call to "Trampoline" [call-arg] @@ -22,9 +22,9 @@ @trampoline def _accumulate( - numbers: List[int], + numbers: list[int], acc: int = 0, - ) -> Union[int, Trampoline[int]]: + ) -> int | Trampoline[int]: return Trampoline(_accumulate, ['a'], 'b') out: | main:9: error: List item 0 has incompatible type "str"; expected "int" [list-item] @@ -39,9 +39,9 @@ @trampoline def _accumulate( - numbers: List[int], + numbers: list[int], acc: int = 0, - ) -> Union[int, Trampoline[int]]: + ) -> int | Trampoline[int]: return Trampoline(_accumulate, [1], 2) reveal_type(_accumulate([1, 2])) # N: Revealed type is "builtins.int" From 8ca4c6357753a289a4f63f96937caa17dc0a6c77 Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Tue, 22 Jul 2025 17:51:29 +0900 Subject: [PATCH 09/14] Fixed inverted check --- returns/contrib/mypy/_typeops/analtype.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/returns/contrib/mypy/_typeops/analtype.py b/returns/contrib/mypy/_typeops/analtype.py index cb19b450..b4ce7f76 100644 --- a/returns/contrib/mypy/_typeops/analtype.py +++ b/returns/contrib/mypy/_typeops/analtype.py @@ -125,7 +125,7 @@ def translate_to_function( ) extra_kwargs: dict[str, Any] = {} - if mypy_version_tuple > (1, 16): + if mypy_version_tuple < (1, 16): extra_kwargs['msg'] = checker.msg return get_proper_type( From a8a30d92485cfc82223a99be0bade2d16d56927d Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Tue, 22 Jul 2025 18:05:14 +0900 Subject: [PATCH 10/14] Update lockfile --- poetry.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 3cce1029..0c8d097e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1955,4 +1955,4 @@ compatible-mypy = ["mypy"] [metadata] lock-version = "2.1" python-versions = "^3.10" -content-hash = "859e9a8607bce41472565d77559137bc3061bbee5a8eadb9db16ffe0bf3c7cdc" +content-hash = "f8764adf2d255fd3049a3812541db3b092ef238fa35129272bde9b55b29b46de" From 25aadf741ef5956718eb3ce9677702c9dad02969 Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Tue, 22 Jul 2025 18:25:14 +0900 Subject: [PATCH 11/14] Make Wemake Python's styleguide happy --- returns/contrib/mypy/_features/kind.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/returns/contrib/mypy/_features/kind.py b/returns/contrib/mypy/_features/kind.py index a39f9adf..7aa60da2 100644 --- a/returns/contrib/mypy/_features/kind.py +++ b/returns/contrib/mypy/_features/kind.py @@ -63,10 +63,8 @@ def attribute_access(ctx: AttributeContext) -> MypyType: else: return ctx.default_attr_type - exprchecker = ctx.api.expr_checker # type: ignore - mypy_version = version('mypy') mypy_version_tuple = tuple( - map(int, mypy_version.partition('+')[0].split('.')) + map(int, version('mypy').partition('+')[0].split('.')) ) extra_kwargs: dict[str, Any] = {} @@ -81,7 +79,7 @@ def attribute_access(ctx: AttributeContext) -> MypyType: is_operator=False, original_type=instance, chk=ctx.api, # type: ignore - in_literal_context=exprchecker.is_literal_context(), + in_literal_context=ctx.api.expr_checker.is_literal_context(), # type: ignore **extra_kwargs, ) From b99460bbe83c31eeed1dc20b9caf2e16f52c777d Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Tue, 22 Jul 2025 18:40:14 +0900 Subject: [PATCH 12/14] Update minimum hypothesis version --- poetry.lock | 2 +- pyproject.toml | 2 +- .../test_hypothesis/test_type_resolution.py | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0c8d097e..6f4dcbc1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1955,4 +1955,4 @@ compatible-mypy = ["mypy"] [metadata] lock-version = "2.1" python-versions = "^3.10" -content-hash = "f8764adf2d255fd3049a3812541db3b092ef238fa35129272bde9b55b29b46de" +content-hash = "2cc8bab4d8b2b6b39afd4618c9b0ae1d27ed0fe25108af07e5802ea4034684af" diff --git a/pyproject.toml b/pyproject.toml index bbb458d8..9bc8e42b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,7 @@ python = "^3.10" typing-extensions = ">=4.0,<5.0" pytest = { version = "^8.0", optional = true } -hypothesis = { version = "^6.122", optional = true } +hypothesis = { version = "^6.136", optional = true } mypy = { version = ">=1.12,<1.18", optional = true } [tool.poetry.group.dev.dependencies] diff --git a/tests/test_contrib/test_hypothesis/test_type_resolution.py b/tests/test_contrib/test_hypothesis/test_type_resolution.py index 8b54aa61..e981b25f 100644 --- a/tests/test_contrib/test_hypothesis/test_type_resolution.py +++ b/tests/test_contrib/test_hypothesis/test_type_resolution.py @@ -188,9 +188,9 @@ def test_types_to_strategies_default() -> None: # noqa: WPS210 ) wrapper_strategy = ( - "builds(from_value, shared(sampled_from([," - " , , , ," - " ]), key='typevar=~_FirstType').flatmap(from_type))" + "builds(from_value, shared(sampled_from([NoneType," + " bool, int, float, str," + " bytes]), key='typevar=~_FirstType').flatmap(from_type))" ) assert ( _strategy_string(result[container_type], container_type) @@ -214,8 +214,8 @@ def test_types_to_strategies_default() -> None: # noqa: WPS210 ) assert ( _strategy_string(result[TypeVar], _ValueType) - == "shared(sampled_from([, ," - " , , , ])," + == "shared(sampled_from([NoneType, bool," + " int, float, str, bytes])," " key='typevar=~_ValueType').flatmap(from_type).filter(lambda" ' inner: inner == inner)' ) From 4baaf7d0714f3ffcab2ec1cf02c61572613dee15 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 09:41:34 +0000 Subject: [PATCH 13/14] [pre-commit.ci] auto fixes from pre-commit.com hooks --- .../test_contrib/test_hypothesis/test_type_resolution.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_contrib/test_hypothesis/test_type_resolution.py b/tests/test_contrib/test_hypothesis/test_type_resolution.py index e981b25f..b85c3f60 100644 --- a/tests/test_contrib/test_hypothesis/test_type_resolution.py +++ b/tests/test_contrib/test_hypothesis/test_type_resolution.py @@ -188,8 +188,8 @@ def test_types_to_strategies_default() -> None: # noqa: WPS210 ) wrapper_strategy = ( - "builds(from_value, shared(sampled_from([NoneType," - " bool, int, float, str," + 'builds(from_value, shared(sampled_from([NoneType,' + ' bool, int, float, str,' " bytes]), key='typevar=~_FirstType').flatmap(from_type))" ) assert ( @@ -214,8 +214,8 @@ def test_types_to_strategies_default() -> None: # noqa: WPS210 ) assert ( _strategy_string(result[TypeVar], _ValueType) - == "shared(sampled_from([NoneType, bool," - " int, float, str, bytes])," + == 'shared(sampled_from([NoneType, bool,' + ' int, float, str, bytes]),' " key='typevar=~_ValueType').flatmap(from_type).filter(lambda" ' inner: inner == inner)' ) From d90c543972cdc9d9f419662dd043766d642b39d9 Mon Sep 17 00:00:00 2001 From: Michele Bianchi Date: Wed, 23 Jul 2025 16:10:56 +0900 Subject: [PATCH 14/14] Avoid analyzing magic attributes Mypy 1.17 seems to have started analyzing a lot more attributes and some stuff does not exist in the objects checked. --- returns/contrib/mypy/returns_plugin.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/returns/contrib/mypy/returns_plugin.py b/returns/contrib/mypy/returns_plugin.py index 4831de52..8b1fabb7 100644 --- a/returns/contrib/mypy/returns_plugin.py +++ b/returns/contrib/mypy/returns_plugin.py @@ -97,8 +97,14 @@ def get_attribute_hook( self, fullname: str, ) -> _AttributeCallback | None: - """Called for any exiting or ``__getattr__`` aatribute access.""" + """Called for any exiting or ``__getattr__`` attribute access.""" if fullname.startswith(_consts.TYPED_KINDN_ACCESS): + name_parts = fullname.split('.') + attribute_name = name_parts[-1] + if attribute_name.startswith('__') and attribute_name.endswith( + '__' + ): + return None return kind.attribute_access return None