diff --git a/poetry.lock b/poetry.lock index e527a439e..6f4dcbc13 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.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.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, - {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, + {file = "certifi-2025.7.14-py3-none-any.whl", hash = "sha256:6b31f564a415d79ee77df69d757bb49a5bb53bd9f756cbbe24394ffd6fc1f4b2"}, + {file = "certifi-2025.7.14.tar.gz", hash = "sha256:8ea99dbdfaaf2ba2f9bac77b9249ef62ec5218e7c2b2e903378ed5fccf765995"}, ] [[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.9.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.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] @@ -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.3.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.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.12.0,<2.13.0" -pyflakes = ">=3.2.0,<3.3.0" +pycodestyle = ">=2.14.0,<2.15.0" +pyflakes = ">=3.4.0,<3.5.0" [[package]] name = "furo" @@ -584,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] @@ -678,14 +685,14 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jsonschema" -version = "4.23.0" +version = "4.25.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.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716"}, + {file = "jsonschema-4.25.0.tar.gz", hash = "sha256:e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f"}, ] [package.dependencies] @@ -696,18 +703,18 @@ 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" -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.17.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.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\""} [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.14.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.14.0-py2.py3-none-any.whl", hash = "sha256:dd6bf7cb4ee77f8e016f9c8e74a35ddd9f67e1d5fd4184d86c3b98e07099f42d"}, + {file = "pycodestyle-2.14.0.tar.gz", hash = "sha256:c4b5b517d278089ff9d0abdec919cd97262a3367449ea1c8b49b91529167b783"}, ] [[package]] @@ -1020,26 +1041,26 @@ files = [ [[package]] name = "pyflakes" -version = "3.2.0" +version = "3.4.0" 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.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\""} @@ -1368,115 +1389,156 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rpds-py" -version = "0.23.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.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.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]] @@ -1537,14 +1599,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 +1624,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]] @@ -1808,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]] @@ -1893,4 +1955,4 @@ compatible-mypy = ["mypy"] [metadata] lock-version = "2.1" python-versions = "^3.10" -content-hash = "0bd04c21bc468867345df5c47dccfa7bc5bb4dcd0412a4d2d27722c103145fff" +content-hash = "2cc8bab4d8b2b6b39afd4618c9b0ae1d27ed0fe25108af07e5802ea4034684af" diff --git a/pyproject.toml b/pyproject.toml index c9c6edfa6..9bc8e42bc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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" @@ -53,8 +51,8 @@ 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 } +hypothesis = { version = "^6.136", optional = true } +mypy = { version = ">=1.12,<1.18", optional = true } [tool.poetry.group.dev.dependencies] anyio = "^4.3" @@ -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" @@ -183,7 +181,9 @@ lint.per-file-ignores."tests/test_examples/test_maybe/test_maybe_pattern_matchin "D103", "F811", ] -lint.per-file-ignores."tests/test_examples/test_result/test_result_pattern_matching.py" = [ "D103" ] +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" diff --git a/returns/contrib/mypy/_features/kind.py b/returns/contrib/mypy/_features/kind.py index a14185d54..7aa60da24 100644 --- a/returns/contrib/mypy/_features/kind.py +++ b/returns/contrib/mypy/_features/kind.py @@ -1,5 +1,7 @@ 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 from mypy.plugin import ( @@ -61,7 +63,13 @@ def attribute_access(ctx: AttributeContext) -> MypyType: else: return ctx.default_attr_type - exprchecker = ctx.api.expr_checker # type: ignore + mypy_version_tuple = tuple( + map(int, version('mypy').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 +77,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(), + in_literal_context=ctx.api.expr_checker.is_literal_context(), # type: ignore + **extra_kwargs, ) diff --git a/returns/contrib/mypy/_typeops/analtype.py b/returns/contrib/mypy/_typeops/analtype.py index 9b7c845a1..b4ce7f760 100644 --- a/returns/contrib/mypy/_typeops/analtype.py +++ b/returns/contrib/mypy/_typeops/analtype.py @@ -1,5 +1,7 @@ +from collections.abc import Sequence +from importlib.metadata import version 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 @@ -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,16 @@ def translate_to_function( This also preserves all type arguments as-is. """ checker = ctx.api.expr_checker # type: ignore + + mypy_version = version('mypy') + 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 +136,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/returns/contrib/mypy/returns_plugin.py b/returns/contrib/mypy/returns_plugin.py index 4831de529..8b1fabb72 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 diff --git a/setup.cfg b/setup.cfg index 59d95f0e4..17958209e 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 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 852873308..9cee7cfc3 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] diff --git a/tests/test_contrib/test_hypothesis/test_type_resolution.py b/tests/test_contrib/test_hypothesis/test_type_resolution.py index 8b54aa61d..b85c3f60f 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)' ) 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 60a0191a3..f4b8d7dbe 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 5e90c4c71..88c0ab10b 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 ee738120d..45679b24e 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" @@ -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 @@ -68,12 +67,12 @@ 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[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 d42d6152e..391d49065 100644 --- a/typesafety/test_curry/test_partial/test_partial_arguments.yml +++ b/typesafety/test_curry/test_partial/test_partial_arguments.yml @@ -135,12 +135,12 @@ 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)) 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 ee2da54ff..7437c1feb 100644 --- a/typesafety/test_curry/test_partial/test_partial_generic.yml +++ b/typesafety/test_curry/test_partial/test_partial_generic.yml @@ -7,18 +7,18 @@ 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: | 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 @@ -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)) @@ -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: | @@ -92,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)) @@ -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 @@ -127,18 +126,18 @@ 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)) 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 1367d3f4b..25fd828f1 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)) @@ -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 7f5db10bd..98ad3dcd7 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: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 4b8d09d91..5484bffcb 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_ diff --git a/typesafety/test_functions/test_compose.yml b/typesafety/test_functions/test_compose.yml index 8dbe65a07..8e9307092 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_functions/test_not_.yml b/typesafety/test_functions/test_not_.yml index 93ba61bf1..6c5fa0df9 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_future/test_future_container/test_asyncify_decorator.yml b/typesafety/test_future/test_future_container/test_asyncify_decorator.yml index dad5c17fc..87b9328dd 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 73b3bf7ad..6cbd417c7 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 b984d109f..599cd06b1 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 99b8fe91e..68c268368 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 47a1c028f..ed4a39384 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 0cb28eb1b..a05cc96a0 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 cbad659c0..78bb2ea82 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 7ab182f57..f30f2d2f7 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 fb1eb5269..06bc51f28 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 1d4b7bd61..459d6db84 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 df40f10c4..ea48c5f65 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 c4210131c..0241a08b7 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 4f5197880..d6a2f3e79 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 @@ -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 8a4aff23a..199d00990 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 90e833a0f..df3457798 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 @@ -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 285b29c53..493d88a37 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,11 +77,11 @@ ) -> 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] 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 9128a1b91..9ac7017bc 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 @@ -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,20 +166,19 @@ ) -> 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 +229,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 23fdf7e93..fe9963eaa 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,20 +154,19 @@ ) -> 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 +211,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 187558a7c..2e4103487 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,10 +46,10 @@ def or_else_call( self, function: Callable[[], V], - ) -> Union[None, V]: + ) -> 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 b3ac07219..b3bbfad32 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 @@ -56,10 +56,10 @@ 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 f1da3031f..8b994dc27 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 93355116c..0e635588a 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 @@ -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 f9eda940b..8a787c240 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( @@ -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 03e3954ca..bdbe87354 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 a0d51519d..2bf74b430 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 79be325ef..a6361d476 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 21607c0cb..9edf4a174 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 e3dce54fa..25e9e4e10 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 bda811b15..bb1b63ab4 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,18 @@ ) -> 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 fe8f40fd2..1acd24a21 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 @@ -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 00603512f..1cbe614c7 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 @@ -131,17 +131,18 @@ ) -> 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 +178,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 c2f9b1902..956bbc301 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 c27be9af5..bd865e1cb 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 94242c507..f7255b4da 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 daacece42..c588412bd 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 28509ef53..e25777019 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_iterables/test_fold/test_fold_collect.yml b/typesafety/test_iterables/test_fold/test_fold_collect.yml index 59edd87d3..97c2e4fe3 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 43e987702..e086f3cee 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 e70039bf1..969870c20 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_maybe/test_maybe_decorator.yml b/typesafety/test_maybe/test_maybe_decorator.yml index 72f46d077..dc3b9777a 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 945125bd9..69e935a4f 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 cf1269fc3..849c270ac 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 e01940c06..92041edc5 100644 --- a/typesafety/test_methods/test_partition.yml +++ b/typesafety/test_methods/test_partition.yml @@ -5,8 +5,9 @@ from returns.result import Success, Failure, Result 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]]" + x: list[Result[int, 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 @@ -16,8 +17,9 @@ from returns.methods import partition 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]]]" + 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]]]" + - case: partition_maybe disable_cache: false @@ -26,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]]" + 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 0d1e14765..64406fd7c 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 fd0995f87..f3deb515d 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 62ea8c08f..acc379ee9 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_pipeline/test_pipe/test_pipe_errors.yml b/typesafety/test_pipeline/test_pipe/test_pipe_errors.yml index e1be94112..29daad4ae 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_io.yml b/typesafety/test_pointfree/test_bind_io.yml index 62dd4b141..884adec03 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 545a1f836..921051187 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_unify.yml b/typesafety/test_pointfree/test_unify.yml index 095a20980..904069016 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 6fce41582..b57b96caf 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 @@ -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[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 1fc7a37c6..9ad2c69b3 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: | @@ -58,13 +57,13 @@ from typing import Tuple @kinded - def test() -> Tuple[ + def test() -> tuple[ KindN[ReaderIOResult, int, str, bool], KindN[ReaderIOResult, float, bytes, 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]]" + 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 @@ -75,13 +74,13 @@ 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 "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_getattr.yml b/typesafety/test_primitives/test_hkt/test_kindn/test_kindn_getattr.yml index 7496d762a..bd93be1d1 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 50e1c3be8..080747cde 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_primitives/test_reawaitable/test_reawaitable_decorator.yml b/typesafety/test_primitives/test_reawaitable/test_reawaitable_decorator.yml index 05b52ff27..a36fd9ee4 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 ee0abe43e..b39fb29aa 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 fddfde3dd..82c976d09 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 ae149f67f..f9219ab2b 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 2ecc69496..0d283874e 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 diff --git a/typesafety/test_trampolines/test_trampoline.yml b/typesafety/test_trampolines/test_trampoline.yml index caf844e87..08e26a9a4 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"